[web] Defensive Coding Guide, latest version

Pete Travis immanetize at fedoraproject.org
Thu Sep 5 15:10:37 UTC 2013


commit c1f0003c1e85f80488041351757ffa2d535d3159
Author: Pete Travis <immanetize at fedoraproject.org>
Date:   Thu Sep 5 09:06:05 2013 -0600

    Defensive Coding Guide, latest version

 fedoradocs.db                                      |  Bin 983040 -> 983040 bytes
 public_html/Sitemap                                |   86 +--
 public_html/as-IN/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/as-IN/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/as-IN/opds-Fedora_Core.xml             |    2 +-
 .../as-IN/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/as-IN/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/as-IN/opds.xml                         |   14 +-
 public_html/as-IN/toc.html                         |   33 +-
 public_html/bg-BG/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/bg-BG/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/bg-BG/opds-Fedora_Core.xml             |    2 +-
 .../bg-BG/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/bg-BG/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/bg-BG/opds.xml                         |   14 +-
 public_html/bg-BG/toc.html                         |   33 +-
 public_html/bn-IN/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/bn-IN/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/bn-IN/opds-Fedora_Core.xml             |    2 +-
 .../bn-IN/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/bn-IN/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/bn-IN/opds.xml                         |   14 +-
 public_html/bn-IN/toc.html                         |   33 +-
 public_html/bs-BA/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/bs-BA/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/bs-BA/opds-Fedora_Core.xml             |    2 +-
 .../bs-BA/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/bs-BA/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/bs-BA/opds.xml                         |   14 +-
 public_html/bs-BA/toc.html                         |   33 +-
 public_html/ca-ES/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/ca-ES/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/ca-ES/opds-Fedora_Core.xml             |    2 +-
 .../ca-ES/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/ca-ES/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/ca-ES/opds.xml                         |   14 +-
 public_html/ca-ES/toc.html                         |   33 +-
 public_html/cs-CZ/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/cs-CZ/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/cs-CZ/opds-Fedora_Core.xml             |    2 +-
 .../cs-CZ/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/cs-CZ/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/cs-CZ/opds.xml                         |   14 +-
 public_html/cs-CZ/toc.html                         |   33 +-
 public_html/da-DK/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/da-DK/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/da-DK/opds-Fedora_Core.xml             |    2 +-
 .../da-DK/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/da-DK/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/da-DK/opds.xml                         |   14 +-
 public_html/da-DK/toc.html                         |   33 +-
 public_html/de-DE/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/de-DE/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/de-DE/opds-Fedora_Core.xml             |    2 +-
 .../de-DE/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/de-DE/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/de-DE/opds.xml                         |   14 +-
 public_html/de-DE/toc.html                         |   35 +-
 public_html/el-GR/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/el-GR/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/el-GR/opds-Fedora_Core.xml             |    2 +-
 .../el-GR/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/el-GR/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/el-GR/opds.xml                         |   14 +-
 public_html/el-GR/toc.html                         |   31 +-
 ...dora_Security_Team--Defensive_Coding-en-US.epub |  Bin 308880 -> 324662 bytes
 .../html-single/Defensive_Coding/index.html        |  773 ++++++++++++++------
 .../appe-Defensive_Coding-Revision_History.html    |   19 +
 .../html/Defensive_Coding/ch01s02s03s05.html       |    2 +-
 .../html/Defensive_Coding/ch01s02s03s06.html       |    2 +-
 .../html/Defensive_Coding/ch01s02s03s07.html       |    2 +-
 .../html/Defensive_Coding/ch01s03s04.html          |    2 +-
 .../html/Defensive_Coding/ch01s03s05.html          |    2 +-
 .../html/Defensive_Coding/ch04s02.html             |   20 +-
 .../html/Defensive_Coding/ch04s03.html             |    9 +
 .../html/Defensive_Coding/ch05s02.html             |   11 +
 .../html/Defensive_Coding/ch05s04.html             |   25 +
 .../html/Defensive_Coding/ch08s02.html             |   22 +-
 .../html/Defensive_Coding/ch08s03.html             |   40 +-
 .../html/Defensive_Coding/ch08s05.html             |   24 +-
 .../html/Defensive_Coding/ch09s02.html             |   18 +-
 .../html/Defensive_Coding/ch09s03.html             |   50 +-
 .../html/Defensive_Coding/ch09s05.html             |   12 +-
 .../html/Defensive_Coding/ch10s02.html             |   28 +-
 .../html/Defensive_Coding/ch10s03.html             |   25 +
 .../html/Defensive_Coding/ch10s05.html             |   13 +
 .../html/Defensive_Coding/ch11s02.html             |   29 +
 .../chap-Defensive_Coding-Authentication.html      |    8 +-
 .../Defensive_Coding/chap-Defensive_Coding-C.html  |   17 +-
 .../chap-Defensive_Coding-CXX.html                 |   10 +-
 .../chap-Defensive_Coding-Java.html                |  114 +++
 .../chap-Defensive_Coding-Python.html              |   16 +-
 .../chap-Defensive_Coding-TLS.html                 |   24 +-
 .../chap-Defensive_Coding-Tasks-Cryptography.html  |   10 +-
 .../chap-Defensive_Coding-Tasks-File_System.html   |   12 +-
 ...chap-Defensive_Coding-Tasks-Library_Design.html |   12 +-
 .../chap-Defensive_Coding-Tasks-Serialization.html |    8 +-
 ...Defensive_Coding-Tasks-Temporary_Directory.html |    8 +-
 ...hap-Defensive_Coding-Tasks-Temporary_Files.html |   12 +-
 .../html/Defensive_Coding/index.html               |    8 +-
 .../html/Defensive_Coding/pt01.html                |    2 +-
 .../html/Defensive_Coding/pt02.html                |    2 +-
 .../html/Defensive_Coding/pt03.html                |    2 +-
 ...Defensive_Coding-Authentication-Host_based.html |    6 +-
 ...ct-Defensive_Coding-Authentication-Netlink.html |    6 +-
 ...efensive_Coding-Authentication-UNIX_Domain.html |    6 +-
 .../sect-Defensive_Coding-C-Allocators-Arrays.html |    2 +-
 .../sect-Defensive_Coding-C-Allocators.html        |    8 +-
 .../sect-Defensive_Coding-C-Avoid.html             |    8 +-
 .../sect-Defensive_Coding-C-Libc-strncat.html      |    2 +-
 .../sect-Defensive_Coding-C-Libc-vsnprintf.html    |    4 +-
 .../sect-Defensive_Coding-C-Other.html             |    2 +-
 ...Defensive_Coding-C-String-Functions-Length.html |    4 +-
 .../sect-Defensive_Coding-CXX-Std.html             |    6 +-
 .../sect-Defensive_Coding-Java-JNI.html            |   64 ++
 .../sect-Defensive_Coding-Java-LowLevel.html       |   11 +
 .../sect-Defensive_Coding-Java-MiscUnsafe.html     |    9 +
 ...nsive_Coding-Java-SecurityManager-Activate.html |   17 +
 ...ive_Coding-Java-SecurityManager-Privileged.html |   84 +++
 ...e_Coding-Java-SecurityManager-Unprivileged.html |   45 ++
 ...sect-Defensive_Coding-Java-SecurityManager.html |   25 +
 .../sect-Defensive_Coding-TLS-Client-GNUTLS.html   |   32 +-
 .../sect-Defensive_Coding-TLS-Client-NSS.html      |   26 +-
 .../sect-Defensive_Coding-TLS-Client-OpenJDK.html  |   32 +-
 .../sect-Defensive_Coding-TLS-Client-Python.html   |   16 +-
 .../sect-Defensive_Coding-TLS-Client.html          |   32 +-
 ...e_Coding-Tasks-Descriptors-Child_Processes.html |    8 +-
 ...t-Defensive_Coding-Tasks-Descriptors-Limit.html |    8 +-
 .../sect-Defensive_Coding-Tasks-Descriptors.html   |   16 +-
 ...efensive_Coding-Tasks-File_System-Features.html |    6 +-
 ...Defensive_Coding-Tasks-File_System-Foreign.html |    8 +-
 ...ensive_Coding-Tasks-File_System-Free_Space.html |    6 +-
 ...-Defensive_Coding-Tasks-File_System-Limits.html |    6 +-
 ...sive_Coding-Tasks-Library_Design-Callbacks.html |    6 +-
 ...t-Defensive_Coding-Tasks-Processes-Daemons.html |    6 +-
 ...nsive_Coding-Tasks-Processes-Fork-Parallel.html |    6 +-
 .../sect-Defensive_Coding-Tasks-Processes.html     |   24 +-
 ...ct-Defensive_Coding-Tasks-Serialization-Qt.html |   18 +-
 ...ve_Coding-Tasks-Serialization-XML-Entities.html |    6 +-
 ...nsive_Coding-Tasks-Serialization-XML-Expat.html |   14 +-
 ...asks-Serialization-XML-OpenJDK_Parse-Other.html |   11 +
 ...-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html |   16 +-
 ...ding-Tasks-Serialization-XML-OpenJDK_Parse.html |   24 +-
 ..._Coding-Tasks-Serialization-XML-Validation.html |    6 +-
 ...ve_Coding-Tasks-Serialization-XML-XInclude.html |    6 +-
 ...t-Defensive_Coding-Tasks-Serialization-XML.html |    8 +-
 ...edora_Security_Team--Defensive_Coding-en-US.pdf |  Bin 513737 -> 590045 bytes
 public_html/en-US/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/en-US/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/en-US/opds-Fedora_Core.xml             |    2 +-
 .../en-US/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/en-US/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/en-US/opds.xml                         |   14 +-
 public_html/en-US/toc.html                         |   28 +-
 public_html/es-ES/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/es-ES/opds-Fedora.xml                  |    2 +-
 public_html/es-ES/opds-Fedora_15.xml               |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/es-ES/opds-Fedora_Core.xml             |    2 +-
 .../es-ES/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/es-ES/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/es-ES/opds.xml                         |   16 +-
 public_html/es-ES/toc.html                         |   29 +-
 public_html/fa-IR/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/fa-IR/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/fa-IR/opds-Fedora_Core.xml             |    2 +-
 .../fa-IR/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/fa-IR/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/fa-IR/opds.xml                         |   14 +-
 public_html/fa-IR/toc.html                         |   33 +-
 public_html/fi-FI/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/fi-FI/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/fi-FI/opds-Fedora_Core.xml             |    2 +-
 .../fi-FI/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/fi-FI/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/fi-FI/opds.xml                         |   14 +-
 public_html/fi-FI/toc.html                         |   41 +-
 public_html/fr-FR/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/fr-FR/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/fr-FR/opds-Fedora_Core.xml             |    2 +-
 .../fr-FR/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/fr-FR/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/fr-FR/opds.xml                         |   14 +-
 public_html/fr-FR/toc.html                         |   35 +-
 public_html/gu-IN/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/gu-IN/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/gu-IN/opds-Fedora_Core.xml             |    2 +-
 .../gu-IN/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/gu-IN/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/gu-IN/opds.xml                         |   14 +-
 public_html/gu-IN/toc.html                         |   33 +-
 public_html/he-IL/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/he-IL/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/he-IL/opds-Fedora_Core.xml             |    2 +-
 .../he-IL/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/he-IL/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/he-IL/opds.xml                         |   14 +-
 public_html/he-IL/toc.html                         |   35 +-
 public_html/hi-IN/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/hi-IN/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/hi-IN/opds-Fedora_Core.xml             |    2 +-
 .../hi-IN/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/hi-IN/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/hi-IN/opds.xml                         |   14 +-
 public_html/hi-IN/toc.html                         |   33 +-
 public_html/hu-HU/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/hu-HU/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/hu-HU/opds-Fedora_Core.xml             |    2 +-
 .../hu-HU/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/hu-HU/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/hu-HU/opds.xml                         |   14 +-
 public_html/hu-HU/toc.html                         |   33 +-
 public_html/ia/Site_Statistics.html                |    4 +-
 .../ia/opds-Community_Services_Infrastructure.xml  |    2 +-
 public_html/ia/opds-Fedora.xml                     |    2 +-
 .../ia/opds-Fedora_Contributor_Documentation.xml   |    2 +-
 public_html/ia/opds-Fedora_Core.xml                |    2 +-
 public_html/ia/opds-Fedora_Draft_Documentation.xml |    2 +-
 public_html/ia/opds-Fedora_Security_Team.xml       |   22 +-
 public_html/ia/opds.xml                            |   14 +-
 public_html/ia/toc.html                            |   33 +-
 public_html/id-ID/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/id-ID/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/id-ID/opds-Fedora_Core.xml             |    2 +-
 .../id-ID/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/id-ID/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/id-ID/opds.xml                         |   14 +-
 public_html/id-ID/toc.html                         |   35 +-
 public_html/it-IT/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/it-IT/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/it-IT/opds-Fedora_Core.xml             |    2 +-
 .../it-IT/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/it-IT/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/it-IT/opds.xml                         |   14 +-
 public_html/it-IT/toc.html                         |   39 +-
 public_html/ja-JP/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/ja-JP/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/ja-JP/opds-Fedora_Core.xml             |    2 +-
 .../ja-JP/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/ja-JP/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/ja-JP/opds.xml                         |   14 +-
 public_html/ja-JP/toc.html                         |   33 +-
 public_html/kn-IN/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/kn-IN/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/kn-IN/opds-Fedora_Core.xml             |    2 +-
 .../kn-IN/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/kn-IN/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/kn-IN/opds.xml                         |   14 +-
 public_html/kn-IN/toc.html                         |   33 +-
 public_html/ko-KR/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/ko-KR/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/ko-KR/opds-Fedora_Core.xml             |    2 +-
 .../ko-KR/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/ko-KR/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/ko-KR/opds.xml                         |   14 +-
 public_html/ko-KR/toc.html                         |   33 +-
 public_html/ml-IN/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/ml-IN/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/ml-IN/opds-Fedora_Core.xml             |    2 +-
 .../ml-IN/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/ml-IN/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/ml-IN/opds.xml                         |   14 +-
 public_html/ml-IN/toc.html                         |   33 +-
 public_html/mr-IN/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/mr-IN/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/mr-IN/opds-Fedora_Core.xml             |    2 +-
 .../mr-IN/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/mr-IN/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/mr-IN/opds.xml                         |   14 +-
 public_html/mr-IN/toc.html                         |   33 +-
 public_html/nb-NO/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/nb-NO/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/nb-NO/opds-Fedora_Core.xml             |    2 +-
 .../nb-NO/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/nb-NO/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/nb-NO/opds.xml                         |   14 +-
 public_html/nb-NO/toc.html                         |   33 +-
 public_html/nl-NL/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/nl-NL/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/nl-NL/opds-Fedora_Core.xml             |    2 +-
 .../nl-NL/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/nl-NL/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/nl-NL/opds.xml                         |   14 +-
 public_html/nl-NL/toc.html                         |   29 +-
 public_html/opds.xml                               |   90 ++--
 public_html/or-IN/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/or-IN/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/or-IN/opds-Fedora_Core.xml             |    2 +-
 .../or-IN/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/or-IN/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/or-IN/opds.xml                         |   14 +-
 public_html/or-IN/toc.html                         |   33 +-
 public_html/pa-IN/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/pa-IN/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/pa-IN/opds-Fedora_Core.xml             |    2 +-
 .../pa-IN/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/pa-IN/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/pa-IN/opds.xml                         |   14 +-
 public_html/pa-IN/toc.html                         |   33 +-
 public_html/pl-PL/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/pl-PL/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/pl-PL/opds-Fedora_Core.xml             |    2 +-
 .../pl-PL/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/pl-PL/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/pl-PL/opds.xml                         |   14 +-
 public_html/pl-PL/toc.html                         |   35 +-
 public_html/pt-BR/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/pt-BR/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/pt-BR/opds-Fedora_Core.xml             |    2 +-
 .../pt-BR/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/pt-BR/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/pt-BR/opds.xml                         |   14 +-
 public_html/pt-BR/toc.html                         |   31 +-
 public_html/pt-PT/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/pt-PT/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/pt-PT/opds-Fedora_Core.xml             |    2 +-
 .../pt-PT/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/pt-PT/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/pt-PT/opds.xml                         |   14 +-
 public_html/pt-PT/toc.html                         |   31 +-
 public_html/ro/Site_Statistics.html                |    4 +-
 .../ro/opds-Community_Services_Infrastructure.xml  |    2 +-
 public_html/ro/opds-Fedora.xml                     |    2 +-
 .../ro/opds-Fedora_Contributor_Documentation.xml   |    2 +-
 public_html/ro/opds-Fedora_Core.xml                |    2 +-
 public_html/ro/opds-Fedora_Draft_Documentation.xml |    2 +-
 public_html/ro/opds-Fedora_Security_Team.xml       |   22 +-
 public_html/ro/opds.xml                            |   14 +-
 public_html/ro/toc.html                            |   33 +-
 public_html/ru-RU/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/ru-RU/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/ru-RU/opds-Fedora_Core.xml             |    2 +-
 .../ru-RU/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/ru-RU/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/ru-RU/opds.xml                         |   14 +-
 public_html/ru-RU/toc.html                         |   33 +-
 public_html/sk-SK/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/sk-SK/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/sk-SK/opds-Fedora_Core.xml             |    2 +-
 .../sk-SK/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/sk-SK/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/sk-SK/opds.xml                         |   14 +-
 public_html/sk-SK/toc.html                         |   33 +-
 public_html/sr-Latn-RS/Site_Statistics.html        |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/sr-Latn-RS/opds-Fedora.xml             |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/sr-Latn-RS/opds-Fedora_Core.xml        |    2 +-
 .../sr-Latn-RS/opds-Fedora_Draft_Documentation.xml |    2 +-
 .../sr-Latn-RS/opds-Fedora_Security_Team.xml       |   22 +-
 public_html/sr-Latn-RS/opds.xml                    |   14 +-
 public_html/sr-Latn-RS/toc.html                    |   31 +-
 public_html/sr-RS/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/sr-RS/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/sr-RS/opds-Fedora_Core.xml             |    2 +-
 .../sr-RS/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/sr-RS/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/sr-RS/opds.xml                         |   14 +-
 public_html/sr-RS/toc.html                         |   31 +-
 public_html/sv-SE/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/sv-SE/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/sv-SE/opds-Fedora_Core.xml             |    2 +-
 .../sv-SE/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/sv-SE/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/sv-SE/opds.xml                         |   14 +-
 public_html/sv-SE/toc.html                         |   35 +-
 public_html/ta-IN/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/ta-IN/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/ta-IN/opds-Fedora_Core.xml             |    2 +-
 .../ta-IN/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/ta-IN/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/ta-IN/opds.xml                         |   14 +-
 public_html/ta-IN/toc.html                         |   33 +-
 public_html/te-IN/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/te-IN/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/te-IN/opds-Fedora_Core.xml             |    2 +-
 .../te-IN/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/te-IN/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/te-IN/opds.xml                         |   14 +-
 public_html/te-IN/toc.html                         |   33 +-
 public_html/toc.html                               |   71 +--
 public_html/uk-UA/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/uk-UA/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/uk-UA/opds-Fedora_Core.xml             |    2 +-
 .../uk-UA/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/uk-UA/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/uk-UA/opds.xml                         |   14 +-
 public_html/uk-UA/toc.html                         |   35 +-
 public_html/zh-CN/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/zh-CN/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/zh-CN/opds-Fedora_Core.xml             |    2 +-
 .../zh-CN/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/zh-CN/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/zh-CN/opds.xml                         |   14 +-
 public_html/zh-CN/toc.html                         |   39 +-
 public_html/zh-TW/Site_Statistics.html             |    4 +-
 .../opds-Community_Services_Infrastructure.xml     |    2 +-
 public_html/zh-TW/opds-Fedora.xml                  |    2 +-
 .../opds-Fedora_Contributor_Documentation.xml      |    2 +-
 public_html/zh-TW/opds-Fedora_Core.xml             |    2 +-
 .../zh-TW/opds-Fedora_Draft_Documentation.xml      |    2 +-
 public_html/zh-TW/opds-Fedora_Security_Team.xml    |   22 +-
 public_html/zh-TW/opds.xml                         |   14 +-
 public_html/zh-TW/toc.html                         |   33 +-
 483 files changed, 2620 insertions(+), 3343 deletions(-)
---
diff --git a/fedoradocs.db b/fedoradocs.db
index 7f2ef0a..0e1cd9d 100644
Binary files a/fedoradocs.db and b/fedoradocs.db differ
diff --git a/public_html/Sitemap b/public_html/Sitemap
index 06a8a88..b2ce2ab 100644
--- a/public_html/Sitemap
+++ b/public_html/Sitemap
@@ -2269,7 +2269,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/en-US/Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf</loc>
+	<loc>http://docs.fedoraproject.org/en-US/Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf</loc>
 	<lastmod>2013-04-18</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -2389,7 +2389,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/en-US/Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf</loc>
+	<loc>http://docs.fedoraproject.org/en-US/Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf</loc>
 	<lastmod>2013-02-12</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -2629,7 +2629,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/en-US/Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf</loc>
+	<loc>http://docs.fedoraproject.org/en-US/Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf</loc>
 	<lastmod>2012-08-07</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -4315,7 +4315,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/en-US/Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf</loc>
+	<loc>http://docs.fedoraproject.org/en-US/Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf</loc>
 	<lastmod>2009-11-17</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -4579,7 +4579,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/en-US/Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf</loc>
+	<loc>http://docs.fedoraproject.org/en-US/Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf</loc>
 	<lastmod>2008-05-13</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -4747,7 +4747,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/en-US/Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf</loc>
+	<loc>http://docs.fedoraproject.org/en-US/Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf</loc>
 	<lastmod>2010-11-23</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -4819,7 +4819,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/en-US/Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf</loc>
+	<loc>http://docs.fedoraproject.org/en-US/Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf</loc>
 	<lastmod>2010-07-07</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -5395,7 +5395,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf</loc>
+	<loc>http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf</loc>
 	<lastmod>2013-05-28</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -5425,50 +5425,26 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</loc>
-	<lastmod>2013-08-13</lastmod>
-	<changefreq>monthly</changefreq>
-	<priority>0.8</priority>
-</url>
-<url>
-	<loc>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html</loc>
-	<lastmod>2013-08-13</lastmod>
-	<changefreq>monthly</changefreq>
-	<priority>0.8</priority>
-</url>
-<url>
-	<loc>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/index.html</loc>
-	<lastmod>2013-08-13</lastmod>
-	<changefreq>monthly</changefreq>
-	<priority>0.8</priority>
-</url>
-<url>
-	<loc>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf</loc>
-	<lastmod>2013-08-13</lastmod>
-	<changefreq>monthly</changefreq>
-	<priority>0.8</priority>
-</url>
-<url>
 	<loc>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</loc>
-	<lastmod>2013-05-09</lastmod>
+	<lastmod>2013-09-05</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
 </url>
 <url>
 	<loc>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//html/Defensive_Coding/index.html</loc>
-	<lastmod>2013-05-09</lastmod>
+	<lastmod>2013-09-05</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
 </url>
 <url>
 	<loc>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//html-single/Defensive_Coding/index.html</loc>
-	<lastmod>2013-05-09</lastmod>
+	<lastmod>2013-09-05</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
 </url>
 <url>
 	<loc>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//pdf/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.pdf</loc>
-	<lastmod>2013-05-09</lastmod>
+	<lastmod>2013-09-05</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
 </url>
@@ -5587,7 +5563,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/es-ES/Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-es-ES.pdf</loc>
+	<loc>http://docs.fedoraproject.org/es-ES/Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-es-ES.pdf</loc>
 	<lastmod>2013-02-12</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -5803,7 +5779,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/es-ES/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-es-ES.pdf</loc>
+	<loc>http://docs.fedoraproject.org/es-ES/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-es-ES.pdf</loc>
 	<lastmod>2011-09-10</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -6049,7 +6025,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/es-ES/Fedora/13/pdf/Accessibility_Guide/Fedora-13-Accessibility_Guide-es-ES.pdf</loc>
+	<loc>http://docs.fedoraproject.org/es-ES/Fedora/13/pdf/Accessibility_Guide/fedora-13-Accessibility_Guide-es-ES.pdf</loc>
 	<lastmod>2010-05-22</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -7333,7 +7309,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/fi-FI/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-fi-FI.pdf</loc>
+	<loc>http://docs.fedoraproject.org/fi-FI/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-fi-FI.pdf</loc>
 	<lastmod>2011-09-10</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -7495,7 +7471,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/fi-FI/Fedora/12/pdf/Fedora_Live_images/Fedora-13-Fedora_Live_Images-fi-FI.pdf</loc>
+	<loc>http://docs.fedoraproject.org/fi-FI/Fedora/12/pdf/Fedora_Live_images/Fedora-12-Fedora_Live_images-fi-FI.pdf</loc>
 	<lastmod>2010-06-14</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -7543,7 +7519,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/fi-FI/Fedora/11/pdf/Fedora_Live_images/Fedora-13-Fedora_Live_Images-fi-FI.pdf</loc>
+	<loc>http://docs.fedoraproject.org/fi-FI/Fedora/11/pdf/Fedora_Live_images/Fedora-11-Fedora_Live_images-fi-FI.pdf</loc>
 	<lastmod>2010-06-14</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -7567,7 +7543,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/fi-FI/Fedora/10/pdf/Fedora_Live_Images/Fedora-13-Fedora_Live_Images-fi-FI.pdf</loc>
+	<loc>http://docs.fedoraproject.org/fi-FI/Fedora/10/pdf/Fedora_Live_Images/Fedora-11-Fedora_Live_images-fi-FI.pdf</loc>
 	<lastmod>2010-06-14</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -7999,7 +7975,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/fr-FR/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-fr-FR.pdf</loc>
+	<loc>http://docs.fedoraproject.org/fr-FR/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-fr-FR.pdf</loc>
 	<lastmod>2011-09-10</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -8605,7 +8581,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/he-IL/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-he-IL.pdf</loc>
+	<loc>http://docs.fedoraproject.org/he-IL/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-he-IL.pdf</loc>
 	<lastmod>2011-09-10</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -8869,7 +8845,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/id-ID/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-id-ID.pdf</loc>
+	<loc>http://docs.fedoraproject.org/id-ID/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-id-ID.pdf</loc>
 	<lastmod>2011-09-10</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -9181,7 +9157,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/it-IT/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-it-IT.pdf</loc>
+	<loc>http://docs.fedoraproject.org/it-IT/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-it-IT.pdf</loc>
 	<lastmod>2011-09-10</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -9355,7 +9331,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/it-IT/Fedora/13/pdf/Accessibility_Guide/fedora-13-Accessibility_Guide-it-IT.pdf</loc>
+	<loc>http://docs.fedoraproject.org/it-IT/Fedora/13/pdf/Accessibility_Guide/Fedora-13-Accessibility_Guide-it-IT.pdf</loc>
 	<lastmod>2010-05-22</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -10501,7 +10477,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/ja-JP/Fedora/16/pdf/Accessibility_Guide/Fedora-14-Accessibility_Guide-ja-JP.pdf</loc>
+	<loc>http://docs.fedoraproject.org/ja-JP/Fedora/16/pdf/Accessibility_Guide/Fedora-16-Accessibility_Guide-ja-JP.pdf</loc>
 	<lastmod>2011-12-01</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -10549,7 +10525,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/ja-JP/Fedora/16/pdf/Burning_ISO_images_to_disc/Fedora_Draft_Documentation-0.1-Burning_ISO_images_to_disc-ja-JP.pdf</loc>
+	<loc>http://docs.fedoraproject.org/ja-JP/Fedora/16/pdf/Burning_ISO_images_to_disc/Fedora-16-Burning_ISO_images_to_disc-ja-JP.pdf</loc>
 	<lastmod>2011-11-23</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -13207,7 +13183,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/nl-NL/Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-nl-NL.pdf</loc>
+	<loc>http://docs.fedoraproject.org/nl-NL/Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-nl-NL.pdf</loc>
 	<lastmod>2010-06-13</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -16003,7 +15979,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/ru-RU/Fedora/18/pdf/Burning_ISO_images_to_disc/Fedora-18-Burning_ISO_images_to_disc-ru-RU.pdf</loc>
+	<loc>http://docs.fedoraproject.org/ru-RU/Fedora/18/pdf/Burning_ISO_images_to_disc/Fedora-17-Burning_ISO_images_to_disc-ru-RU.pdf</loc>
 	<lastmod>2013-04-12</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -19069,7 +19045,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/uk-UA/Fedora/13/pdf/Accessibility_Guide/fedora-13-Accessibility_Guide-uk-UA.pdf</loc>
+	<loc>http://docs.fedoraproject.org/uk-UA/Fedora/13/pdf/Accessibility_Guide/Fedora-13-Accessibility_Guide-uk-UA.pdf</loc>
 	<lastmod>2010-05-22</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -19645,7 +19621,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/zh-CN/Fedora/18/pdf/Release_Notes/Fedora-17-Release_Notes-zh-CN.pdf</loc>
+	<loc>http://docs.fedoraproject.org/zh-CN/Fedora/18/pdf/Release_Notes/Fedora-18-Release_Notes-zh-CN.pdf</loc>
 	<lastmod>2013-01-22</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
@@ -19813,7 +19789,7 @@
 	<priority>0.8</priority>
 </url>
 <url>
-	<loc>http://docs.fedoraproject.org/zh-CN/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-zh-CN.pdf</loc>
+	<loc>http://docs.fedoraproject.org/zh-CN/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-zh-CN.pdf</loc>
 	<lastmod>2011-09-10</lastmod>
 	<changefreq>monthly</changefreq>
 	<priority>0.8</priority>
diff --git a/public_html/as-IN/Site_Statistics.html b/public_html/as-IN/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/as-IN/Site_Statistics.html
+++ b/public_html/as-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/as-IN/opds-Community_Services_Infrastructure.xml b/public_html/as-IN/opds-Community_Services_Infrastructure.xml
index dce3865..bd2cfee 100644
--- a/public_html/as-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/as-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/as-IN/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:29</updated>
+  <updated>2013-09-05T15:01:59</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/as-IN/opds-Fedora.xml b/public_html/as-IN/opds-Fedora.xml
index 89d9398..bb7eff3 100644
--- a/public_html/as-IN/opds-Fedora.xml
+++ b/public_html/as-IN/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/as-IN/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:29</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/as-IN/opds-Fedora_Contributor_Documentation.xml b/public_html/as-IN/opds-Fedora_Contributor_Documentation.xml
index 51f77fd..6dfa819 100644
--- a/public_html/as-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/as-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/as-IN/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:29</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/as-IN/opds-Fedora_Core.xml b/public_html/as-IN/opds-Fedora_Core.xml
index 3caf099..0c4c746 100644
--- a/public_html/as-IN/opds-Fedora_Core.xml
+++ b/public_html/as-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/as-IN/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:29</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/as-IN/opds-Fedora_Draft_Documentation.xml b/public_html/as-IN/opds-Fedora_Draft_Documentation.xml
index 67e6d91..4eaeefc 100644
--- a/public_html/as-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/as-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/as-IN/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:29</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/as-IN/opds-Fedora_Security_Team.xml b/public_html/as-IN/opds-Fedora_Security_Team.xml
index 1922388..9e3c4b0 100644
--- a/public_html/as-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/as-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/as-IN/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:29</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>as-IN</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>as-IN</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/as-IN/opds.xml b/public_html/as-IN/opds.xml
index 8244ed1..60d6979 100644
--- a/public_html/as-IN/opds.xml
+++ b/public_html/as-IN/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/as-IN/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:29</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/as-IN/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:29</updated>
+    <updated>2013-09-05T15:01:59</updated>
     <dc:language>as-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/as-IN/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:29</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>as-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/as-IN/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:29</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>as-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/as-IN/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:29</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>as-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/as-IN/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:29</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>as-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/as-IN/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:29</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>as-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/as-IN/toc.html b/public_html/as-IN/toc.html
index 8587d98..1285a38 100644
--- a/public_html/as-IN/toc.html
+++ b/public_html/as-IN/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/bg-BG/Site_Statistics.html b/public_html/bg-BG/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/bg-BG/Site_Statistics.html
+++ b/public_html/bg-BG/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/bg-BG/opds-Community_Services_Infrastructure.xml b/public_html/bg-BG/opds-Community_Services_Infrastructure.xml
index ad933b3..b2960b9 100644
--- a/public_html/bg-BG/opds-Community_Services_Infrastructure.xml
+++ b/public_html/bg-BG/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bg-BG/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:29</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/bg-BG/opds-Fedora.xml b/public_html/bg-BG/opds-Fedora.xml
index 818178c..79201d1 100644
--- a/public_html/bg-BG/opds-Fedora.xml
+++ b/public_html/bg-BG/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bg-BG/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/bg-BG/opds-Fedora_Contributor_Documentation.xml b/public_html/bg-BG/opds-Fedora_Contributor_Documentation.xml
index d90e638..689d3d0 100644
--- a/public_html/bg-BG/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/bg-BG/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bg-BG/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/bg-BG/opds-Fedora_Core.xml b/public_html/bg-BG/opds-Fedora_Core.xml
index 6f798ab..47150f2 100644
--- a/public_html/bg-BG/opds-Fedora_Core.xml
+++ b/public_html/bg-BG/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bg-BG/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/bg-BG/opds-Fedora_Draft_Documentation.xml b/public_html/bg-BG/opds-Fedora_Draft_Documentation.xml
index 10c5b80..a7ac1ac 100644
--- a/public_html/bg-BG/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/bg-BG/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bg-BG/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/bg-BG/opds-Fedora_Security_Team.xml b/public_html/bg-BG/opds-Fedora_Security_Team.xml
index d237cc9..9b99b1c 100644
--- a/public_html/bg-BG/opds-Fedora_Security_Team.xml
+++ b/public_html/bg-BG/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bg-BG/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>bg-BG</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>bg-BG</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/bg-BG/opds.xml b/public_html/bg-BG/opds.xml
index 7feeec0..6c9aa3b 100644
--- a/public_html/bg-BG/opds.xml
+++ b/public_html/bg-BG/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/bg-BG/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/bg-BG/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:29</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bg-BG</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/bg-BG/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bg-BG</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/bg-BG/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bg-BG</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/bg-BG/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bg-BG</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/bg-BG/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bg-BG</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/bg-BG/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bg-BG</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/bg-BG/toc.html b/public_html/bg-BG/toc.html
index 3e3746b..f9ecd4c 100644
--- a/public_html/bg-BG/toc.html
+++ b/public_html/bg-BG/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1109,7 +1109,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1238,7 +1238,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1324,7 +1324,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1351,7 +1351,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1677,7 +1677,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1708,23 +1708,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/bn-IN/Site_Statistics.html b/public_html/bn-IN/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/bn-IN/Site_Statistics.html
+++ b/public_html/bn-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/bn-IN/opds-Community_Services_Infrastructure.xml b/public_html/bn-IN/opds-Community_Services_Infrastructure.xml
index 79f58dc..944ed68 100644
--- a/public_html/bn-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/bn-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bn-IN/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/bn-IN/opds-Fedora.xml b/public_html/bn-IN/opds-Fedora.xml
index 29a675b..72f9f7e 100644
--- a/public_html/bn-IN/opds-Fedora.xml
+++ b/public_html/bn-IN/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bn-IN/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/bn-IN/opds-Fedora_Contributor_Documentation.xml b/public_html/bn-IN/opds-Fedora_Contributor_Documentation.xml
index 145769e..3f5097b 100644
--- a/public_html/bn-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/bn-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bn-IN/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/bn-IN/opds-Fedora_Core.xml b/public_html/bn-IN/opds-Fedora_Core.xml
index e3e1d4b..4182874 100644
--- a/public_html/bn-IN/opds-Fedora_Core.xml
+++ b/public_html/bn-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bn-IN/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/bn-IN/opds-Fedora_Draft_Documentation.xml b/public_html/bn-IN/opds-Fedora_Draft_Documentation.xml
index 80590a8..a4f15ff 100644
--- a/public_html/bn-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/bn-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bn-IN/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/bn-IN/opds-Fedora_Security_Team.xml b/public_html/bn-IN/opds-Fedora_Security_Team.xml
index b53ca1e..49654a1 100644
--- a/public_html/bn-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/bn-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bn-IN/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>bn-IN</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>bn-IN</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/bn-IN/opds.xml b/public_html/bn-IN/opds.xml
index 440fbfe..6833a41 100644
--- a/public_html/bn-IN/opds.xml
+++ b/public_html/bn-IN/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/bn-IN/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/bn-IN/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bn-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/bn-IN/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bn-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/bn-IN/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bn-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/bn-IN/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bn-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/bn-IN/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bn-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/bn-IN/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bn-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/bn-IN/toc.html b/public_html/bn-IN/toc.html
index fb2721e..80691bd 100644
--- a/public_html/bn-IN/toc.html
+++ b/public_html/bn-IN/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/bs-BA/Site_Statistics.html b/public_html/bs-BA/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/bs-BA/Site_Statistics.html
+++ b/public_html/bs-BA/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/bs-BA/opds-Community_Services_Infrastructure.xml b/public_html/bs-BA/opds-Community_Services_Infrastructure.xml
index ad47aae..1933a6d 100644
--- a/public_html/bs-BA/opds-Community_Services_Infrastructure.xml
+++ b/public_html/bs-BA/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bs-BA/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/bs-BA/opds-Fedora.xml b/public_html/bs-BA/opds-Fedora.xml
index cc770c2..2796fcd 100644
--- a/public_html/bs-BA/opds-Fedora.xml
+++ b/public_html/bs-BA/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bs-BA/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/bs-BA/opds-Fedora_Contributor_Documentation.xml b/public_html/bs-BA/opds-Fedora_Contributor_Documentation.xml
index 0cd99f8..d0d1bbf 100644
--- a/public_html/bs-BA/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/bs-BA/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bs-BA/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/bs-BA/opds-Fedora_Core.xml b/public_html/bs-BA/opds-Fedora_Core.xml
index d3e3478..98d5d09 100644
--- a/public_html/bs-BA/opds-Fedora_Core.xml
+++ b/public_html/bs-BA/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bs-BA/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/bs-BA/opds-Fedora_Draft_Documentation.xml b/public_html/bs-BA/opds-Fedora_Draft_Documentation.xml
index 1eaee4d..6e131c9 100644
--- a/public_html/bs-BA/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/bs-BA/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bs-BA/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/bs-BA/opds-Fedora_Security_Team.xml b/public_html/bs-BA/opds-Fedora_Security_Team.xml
index e85e883..58697dc 100644
--- a/public_html/bs-BA/opds-Fedora_Security_Team.xml
+++ b/public_html/bs-BA/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/bs-BA/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>bs-BA</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>bs-BA</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/bs-BA/opds.xml b/public_html/bs-BA/opds.xml
index a9628b7..2eda56c 100644
--- a/public_html/bs-BA/opds.xml
+++ b/public_html/bs-BA/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/bs-BA/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/bs-BA/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bs-BA</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/bs-BA/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bs-BA</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/bs-BA/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bs-BA</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/bs-BA/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bs-BA</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/bs-BA/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bs-BA</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/bs-BA/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bs-BA</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/bs-BA/toc.html b/public_html/bs-BA/toc.html
index a4f663f..5ee7d39 100644
--- a/public_html/bs-BA/toc.html
+++ b/public_html/bs-BA/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1120,7 +1120,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/ca-ES/Site_Statistics.html b/public_html/ca-ES/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/ca-ES/Site_Statistics.html
+++ b/public_html/ca-ES/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/ca-ES/opds-Community_Services_Infrastructure.xml b/public_html/ca-ES/opds-Community_Services_Infrastructure.xml
index e53842b..ccb37e1 100644
--- a/public_html/ca-ES/opds-Community_Services_Infrastructure.xml
+++ b/public_html/ca-ES/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ca-ES/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ca-ES/opds-Fedora.xml b/public_html/ca-ES/opds-Fedora.xml
index b11acce..f0ef45a 100644
--- a/public_html/ca-ES/opds-Fedora.xml
+++ b/public_html/ca-ES/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ca-ES/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ca-ES/opds-Fedora_Contributor_Documentation.xml b/public_html/ca-ES/opds-Fedora_Contributor_Documentation.xml
index 0d3c97d..c11dce1 100644
--- a/public_html/ca-ES/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/ca-ES/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ca-ES/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ca-ES/opds-Fedora_Core.xml b/public_html/ca-ES/opds-Fedora_Core.xml
index 72606ed..7e8470c 100644
--- a/public_html/ca-ES/opds-Fedora_Core.xml
+++ b/public_html/ca-ES/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ca-ES/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ca-ES/opds-Fedora_Draft_Documentation.xml b/public_html/ca-ES/opds-Fedora_Draft_Documentation.xml
index db19f10..c8f4899 100644
--- a/public_html/ca-ES/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/ca-ES/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ca-ES/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ca-ES/opds-Fedora_Security_Team.xml b/public_html/ca-ES/opds-Fedora_Security_Team.xml
index 9e00943..b9cba6d 100644
--- a/public_html/ca-ES/opds-Fedora_Security_Team.xml
+++ b/public_html/ca-ES/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ca-ES/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>ca-ES</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>ca-ES</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/ca-ES/opds.xml b/public_html/ca-ES/opds.xml
index 9b91742..148ba0d 100644
--- a/public_html/ca-ES/opds.xml
+++ b/public_html/ca-ES/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/ca-ES/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/ca-ES/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>ca-ES</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/ca-ES/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>ca-ES</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/ca-ES/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>ca-ES</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/ca-ES/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>ca-ES</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/ca-ES/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>ca-ES</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/ca-ES/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>ca-ES</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/ca-ES/toc.html b/public_html/ca-ES/toc.html
index 39aa4c3..77e73f3 100644
--- a/public_html/ca-ES/toc.html
+++ b/public_html/ca-ES/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/cs-CZ/Site_Statistics.html b/public_html/cs-CZ/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/cs-CZ/Site_Statistics.html
+++ b/public_html/cs-CZ/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/cs-CZ/opds-Community_Services_Infrastructure.xml b/public_html/cs-CZ/opds-Community_Services_Infrastructure.xml
index 18f7462..0f6dd4e 100644
--- a/public_html/cs-CZ/opds-Community_Services_Infrastructure.xml
+++ b/public_html/cs-CZ/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/cs-CZ/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/cs-CZ/opds-Fedora.xml b/public_html/cs-CZ/opds-Fedora.xml
index d9cb15e..c4b4b58 100644
--- a/public_html/cs-CZ/opds-Fedora.xml
+++ b/public_html/cs-CZ/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/cs-CZ/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/cs-CZ/opds-Fedora_Contributor_Documentation.xml b/public_html/cs-CZ/opds-Fedora_Contributor_Documentation.xml
index b2db158..5ebf854 100644
--- a/public_html/cs-CZ/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/cs-CZ/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/cs-CZ/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/cs-CZ/opds-Fedora_Core.xml b/public_html/cs-CZ/opds-Fedora_Core.xml
index 2d0ecc1..3196255 100644
--- a/public_html/cs-CZ/opds-Fedora_Core.xml
+++ b/public_html/cs-CZ/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/cs-CZ/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/cs-CZ/opds-Fedora_Draft_Documentation.xml b/public_html/cs-CZ/opds-Fedora_Draft_Documentation.xml
index fc08455..277d8d9 100644
--- a/public_html/cs-CZ/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/cs-CZ/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/cs-CZ/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/cs-CZ/opds-Fedora_Security_Team.xml b/public_html/cs-CZ/opds-Fedora_Security_Team.xml
index 08a6efd..1b49868 100644
--- a/public_html/cs-CZ/opds-Fedora_Security_Team.xml
+++ b/public_html/cs-CZ/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/cs-CZ/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:00</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>cs-CZ</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>cs-CZ</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/cs-CZ/opds.xml b/public_html/cs-CZ/opds.xml
index eaee3ae..61c4c78 100644
--- a/public_html/cs-CZ/opds.xml
+++ b/public_html/cs-CZ/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/cs-CZ/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/cs-CZ/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>cs-CZ</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/cs-CZ/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>cs-CZ</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/cs-CZ/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>cs-CZ</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/cs-CZ/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>cs-CZ</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/cs-CZ/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>cs-CZ</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/cs-CZ/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>cs-CZ</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/cs-CZ/toc.html b/public_html/cs-CZ/toc.html
index fa26f9a..5268965 100644
--- a/public_html/cs-CZ/toc.html
+++ b/public_html/cs-CZ/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/da-DK/Site_Statistics.html b/public_html/da-DK/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/da-DK/Site_Statistics.html
+++ b/public_html/da-DK/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/da-DK/opds-Community_Services_Infrastructure.xml b/public_html/da-DK/opds-Community_Services_Infrastructure.xml
index ab61fbb..78a661a 100644
--- a/public_html/da-DK/opds-Community_Services_Infrastructure.xml
+++ b/public_html/da-DK/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/da-DK/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:30</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/da-DK/opds-Fedora.xml b/public_html/da-DK/opds-Fedora.xml
index 0751c6a..782721d 100644
--- a/public_html/da-DK/opds-Fedora.xml
+++ b/public_html/da-DK/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/da-DK/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/da-DK/opds-Fedora_Contributor_Documentation.xml b/public_html/da-DK/opds-Fedora_Contributor_Documentation.xml
index 46bba8e..9e0c4bb 100644
--- a/public_html/da-DK/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/da-DK/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/da-DK/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/da-DK/opds-Fedora_Core.xml b/public_html/da-DK/opds-Fedora_Core.xml
index aca15db..3c7e241 100644
--- a/public_html/da-DK/opds-Fedora_Core.xml
+++ b/public_html/da-DK/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/da-DK/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/da-DK/opds-Fedora_Draft_Documentation.xml b/public_html/da-DK/opds-Fedora_Draft_Documentation.xml
index 2398d69..80bce37 100644
--- a/public_html/da-DK/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/da-DK/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/da-DK/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/da-DK/opds-Fedora_Security_Team.xml b/public_html/da-DK/opds-Fedora_Security_Team.xml
index 0a23442..38705e9 100644
--- a/public_html/da-DK/opds-Fedora_Security_Team.xml
+++ b/public_html/da-DK/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/da-DK/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>da-DK</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>da-DK</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/da-DK/opds.xml b/public_html/da-DK/opds.xml
index ba2e801..136fa6e 100644
--- a/public_html/da-DK/opds.xml
+++ b/public_html/da-DK/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/da-DK/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/da-DK/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>da-DK</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/da-DK/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>da-DK</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/da-DK/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>da-DK</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/da-DK/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>da-DK</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/da-DK/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>da-DK</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/da-DK/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>da-DK</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/da-DK/toc.html b/public_html/da-DK/toc.html
index bca652e..564761b 100644
--- a/public_html/da-DK/toc.html
+++ b/public_html/da-DK/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/de-DE/Site_Statistics.html b/public_html/de-DE/Site_Statistics.html
index 27807a2..7dbe610 100644
--- a/public_html/de-DE/Site_Statistics.html
+++ b/public_html/de-DE/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Sprachen gesamt: </b>44<br />
-	<b>Pakete gesamt: </b>880
+	<b>Pakete gesamt: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/de-DE/opds-Community_Services_Infrastructure.xml b/public_html/de-DE/opds-Community_Services_Infrastructure.xml
index 0e10a49..58289e2 100644
--- a/public_html/de-DE/opds-Community_Services_Infrastructure.xml
+++ b/public_html/de-DE/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/de-DE/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/de-DE/opds-Fedora.xml b/public_html/de-DE/opds-Fedora.xml
index de2d492..ddc112f 100644
--- a/public_html/de-DE/opds-Fedora.xml
+++ b/public_html/de-DE/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/de-DE/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/de-DE/opds-Fedora_Contributor_Documentation.xml b/public_html/de-DE/opds-Fedora_Contributor_Documentation.xml
index d0323d0..386f083 100644
--- a/public_html/de-DE/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/de-DE/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/de-DE/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/de-DE/opds-Fedora_Core.xml b/public_html/de-DE/opds-Fedora_Core.xml
index da5a310..c007447 100644
--- a/public_html/de-DE/opds-Fedora_Core.xml
+++ b/public_html/de-DE/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/de-DE/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/de-DE/opds-Fedora_Draft_Documentation.xml b/public_html/de-DE/opds-Fedora_Draft_Documentation.xml
index e1f0176..edb311f 100644
--- a/public_html/de-DE/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/de-DE/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/de-DE/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/de-DE/opds-Fedora_Security_Team.xml b/public_html/de-DE/opds-Fedora_Security_Team.xml
index e672d36..fd64cec 100644
--- a/public_html/de-DE/opds-Fedora_Security_Team.xml
+++ b/public_html/de-DE/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/de-DE/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>de-DE</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>de-DE</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/de-DE/opds.xml b/public_html/de-DE/opds.xml
index ee91634..ddfa0d4 100644
--- a/public_html/de-DE/opds.xml
+++ b/public_html/de-DE/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/de-DE/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/de-DE/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>de-DE</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/de-DE/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>de-DE</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/de-DE/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>de-DE</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/de-DE/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>de-DE</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/de-DE/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>de-DE</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/de-DE/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>de-DE</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/de-DE/toc.html b/public_html/de-DE/toc.html
index 71f07a2..232a31d 100644
--- a/public_html/de-DE/toc.html
+++ b/public_html/de-DE/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1211,7 +1211,7 @@
 									<a class="type" href="../en-US/./Fedora/10/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/10/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/10/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/10/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/10/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/10/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/10/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/10/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/10/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.10.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.10.User_Guide.types');">
@@ -1312,7 +1312,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.SELinux_FAQ' class="book collapsed" onclick="toggle(event, 'Fedora.8.SELinux_FAQ.types');">
@@ -1380,7 +1380,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1407,7 +1407,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1733,7 +1733,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1764,23 +1764,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Nicht übersetzt</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Nicht übersetzt</span>
diff --git a/public_html/el-GR/Site_Statistics.html b/public_html/el-GR/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/el-GR/Site_Statistics.html
+++ b/public_html/el-GR/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/el-GR/opds-Community_Services_Infrastructure.xml b/public_html/el-GR/opds-Community_Services_Infrastructure.xml
index 2dc387b..07d95a3 100644
--- a/public_html/el-GR/opds-Community_Services_Infrastructure.xml
+++ b/public_html/el-GR/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/el-GR/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/el-GR/opds-Fedora.xml b/public_html/el-GR/opds-Fedora.xml
index 44d490a..a4261f7 100644
--- a/public_html/el-GR/opds-Fedora.xml
+++ b/public_html/el-GR/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/el-GR/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/el-GR/opds-Fedora_Contributor_Documentation.xml b/public_html/el-GR/opds-Fedora_Contributor_Documentation.xml
index b92ceea..d0a4d15 100644
--- a/public_html/el-GR/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/el-GR/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/el-GR/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/el-GR/opds-Fedora_Core.xml b/public_html/el-GR/opds-Fedora_Core.xml
index d585071..943256d 100644
--- a/public_html/el-GR/opds-Fedora_Core.xml
+++ b/public_html/el-GR/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/el-GR/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/el-GR/opds-Fedora_Draft_Documentation.xml b/public_html/el-GR/opds-Fedora_Draft_Documentation.xml
index a29bbff..fe3ed3d 100644
--- a/public_html/el-GR/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/el-GR/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/el-GR/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/el-GR/opds-Fedora_Security_Team.xml b/public_html/el-GR/opds-Fedora_Security_Team.xml
index dd61deb..76f4c7f 100644
--- a/public_html/el-GR/opds-Fedora_Security_Team.xml
+++ b/public_html/el-GR/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/el-GR/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>el-GR</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>el-GR</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/el-GR/opds.xml b/public_html/el-GR/opds.xml
index 9220412..48e6902 100644
--- a/public_html/el-GR/opds.xml
+++ b/public_html/el-GR/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/el-GR/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/el-GR/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>el-GR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/el-GR/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>el-GR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/el-GR/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>el-GR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/el-GR/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>el-GR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/el-GR/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>el-GR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/el-GR/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>el-GR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/el-GR/toc.html b/public_html/el-GR/toc.html
index f5cefeb..b33e1ee 100644
--- a/public_html/el-GR/toc.html
+++ b/public_html/el-GR/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/en-US/Fedora_Security_Team/epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub b/public_html/en-US/Fedora_Security_Team/epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub
index eee02c8..e667e98 100644
Binary files a/public_html/en-US/Fedora_Security_Team/epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub and b/public_html/en-US/Fedora_Security_Team/epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub differ
diff --git a/public_html/en-US/Fedora_Security_Team/html-single/Defensive_Coding/index.html b/public_html/en-US/Fedora_Security_Team/html-single/Defensive_Coding/index.html
index 7cb09f6..85e44ba 100644
--- a/public_html/en-US/Fedora_Security_Team/html-single/Defensive_Coding/index.html
+++ b/public_html/en-US/Fedora_Security_Team/html-single/Defensive_Coding/index.html
@@ -4,10 +4,10 @@
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><div xml:lang="en-US" class="book" id="idm224112576880" lang="en-US"><div class="titlepage"><div><div class="producttitle" font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><span class="productname">Fedora Security Team</span> <span class="productnumber"></span></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><h1 id="idm224112576880" class="title">Defensive 
 Coding</h1></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><h2 class="subtitle">A Guide to Improving Software Security</h2></div><p class="edition">Edition 1</p><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><h3 class="corpauthor">
-		<span class="inlinemediaobject"><object data="Common_Content/images/logo.svg" type="image/svg+xml"> </object></span>
+              </script></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><div xml:lang="en-US" class="book" id="idm229818229648" lang="en-US"><div class="titlepage"><div><div class="producttitle" font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><span class="productname">Fedora Security Team</span> <span class="productnumber"></span></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><h1 id="idm229818229648" class="title">Defensive 
 Coding</h1></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><h2 class="subtitle">A Guide to Improving Software Security</h2></div><p class="edition">Edition 1</p><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><h3 class="corpauthor">
+		<span class="inlinemediaobject"><object data="Common_Content/images/title_logo.svg" type="image/svg+xml"> </object></span>
 
-	</h3></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><div xml:lang="en-US" class="authorgroup" lang="en-US"><div class="author"><h3 class="author"><span class="firstname">Florian</span> <span class="surname">Weimer</span></h3><div class="affiliation"><span class="orgname">Red Hat</span> <span class="orgdiv">Product Security Team</span></div><code class="email"><a class="email" href="mailto:fweimer at redhat.com">fweimer at redhat.com</a></code></div></div></div><hr /><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><div id="idm224096568224" class="legalnotice"><h1 class="legalnotice">Legal Notice</h1><div class="para">
+	</h3></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><div xml:lang="en-US" class="authorgroup" lang="en-US"><div class="author"><h3 class="author"><span class="firstname">Florian</span> <span class="surname">Weimer</span></h3><div class="affiliation"><span class="orgname">Red Hat</span> <span class="orgdiv">Product Security Team</span></div><code class="email"><a class="email" href="mailto:fweimer at redhat.com">fweimer at redhat.com</a></code></div></div></div><hr /><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><div id="idm229837384864" class="legalnotice"><h1 class="legalnotice">Legal Notice</h1><div class="para">
 		Copyright <span class="trademark"></span>© 2012 Red Hat, Inc.
 	</div><div class="para">
 		The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at <a href="http://creativecommons.org/licenses/by-sa/3.0/">http://creativecommons.org/licenses/by-sa/3.0/</a>. The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
@@ -29,7 +29,7 @@
 		All other trademarks are the property of their respective owners.
 	</div></div></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><div class="abstract"><h6>Abstract</h6><div class="para">
 			This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.
-		</div></div></div></div><hr /></div><div class="toc"><dl class="toc"><dt><span class="part"><a href="#idm224112575792">I. Programming Languages</a></span></dt><dd><dl><dt><span class="chapter"><a href="#chap-Defensive_Coding-C">1. The C Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Language">1.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Undefined">1.1.1. Undefined behavior</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Pointers">1.1.2. Recommendations for pointers and array handling</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Arithmetic">1.1.3. Recommendations for integer arithmetic</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Libc">1.2. The C standard library</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Absolutely-Banned"
 >1.2.1. Absolutely banned interfaces</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Avoid">1.2.2. Functions to avoid</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-String-Functions-Length">1.2.3. String Functions With Explicit Length Arguments</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators">1.3. Memory allocators</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224086436576">1.3.1. <code class="function">malloc</code> and related functions</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators-alloca">1.3.2. <code class="function">alloca</code> and other forms of stack-based allocation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators-Arrays">1.3.3. Array allocation</a></span></dt><dt><span class="section"><a href="#idm224080529440">1.3.4. Custom memory allocators</a></span></dt><dt><span clas
 s="section"><a href="#idm224051428256">1.3.5. Conservative garbage collection</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Other">1.4. Other C-related topics</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1. Wrapper functions</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-CXX">2. The C++ Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-CXX-Language">2.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224083721568">2.1.1. Array allocation with <code class="literal">operator new[]</code></a></span></dt><dt><span class="section"><a href="#idm224106481280">2.1.2. Overloading</a></span></dt><dt><span class="section"><a href="#idm224089823568">2.1.3. ABI compatibility and preparing for security updates</a></span></dt><dt><span class="section"><a href="#s
 ect-Defensive_Coding-CXX-Language-CXX11">2.1.4. C++0X and C++11 support</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-CXX-Std">2.2. The C++ standard library</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224080896784">2.2.1. Containers and <code class="literal">operator[]</code></a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Python">3. The Python Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224093374560">3.1. Dangerous standard library features</a></span></dt><dt><span class="section"><a href="#idm224090144816">3.2. Run-time compilation and code generation</a></span></dt><dt><span class="section"><a href="#idm224066781008">3.3. Sandboxing</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="#idm224112582736">II. Specific Programming Tasks</a></span></dt><dd><dl><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-Lib
 rary_Design">4. Library Design</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224058698096">4.1. State management</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224073326832">4.1.1. Global state</a></span></dt><dt><span class="section"><a href="#idm224103205584">4.1.2. Handles</a></span></dt></dl></dd><dt><span class="section"><a href="#idm224131585392">4.2. Object orientation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Library_Design-Callbacks">4.3. Callbacks</a></span></dt><dt><span class="section"><a href="#idm224081054656">4.4. Process attributes</a></span></dt></dl></dd><dt><span class="chapter"><a href="#sect-Defensive_Coding-Tasks-Descriptors">5. File Descriptor Management</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224009222352">5.1. Closing descriptors</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224103547520">5.1.1. Error handling during descriptor close</a></span></
 dt><dt><span class="section"><a href="#idm224112370128">5.1.2. Closing descriptors and race conditions</a></span></dt><dt><span class="section"><a href="#idm224092709312">5.1.3. Lingering state after close</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Descriptors-Child_Processes">5.2. Preventing file descriptor leaks to child processes</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Descriptors-Limit">5.3. Dealing with the <code class="function">select</code> limit</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-File_System">6. File system manipulation</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Unowned">6.1. Working with files and directories owned by other users</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Foreign">6.2. Accessing the file system as a different 
 user</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Limits">6.3. File system limits</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Features">6.4. File system features</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Free_Space">6.5. Checking free space</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-Temporary_Files">7. Temporary files</a></span></dt><dd><dl><dt><span class="section"><a href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">7.1. Obtaining the location of temporary directory</a></span></dt><dt><span class="section"><a href="#idm224089283888">7.2. Named temporary files</a></span></dt><dt><span class="section"><a href="#idm224089108976">7.3. Temporary files without names</a></span></dt><dt><span class="section"><a href="#chap-Defensive_Coding-Tasks-Temporary_Directory">7.4. Temporary dire
 ctories</a></span></dt><dt><span class="section"><a href="#idm224009366672">7.5. Compensating for unsafe file creation</a></span></dt></dl></dd><dt><span class="chapter"><a href="#sect-Defensive_Coding-Tasks-Processes">8. Processes</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Creation">8.1. Safe process creation</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224094150016">8.1.1. Obtaining the program path and the command line template</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-execve">8.1.2. Bypassing the shell</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-environ">8.1.3. Specifying the process environment</a></span></dt><dt><span class="section"><a href="#idm224093802512">8.1.4. Robust argument list processing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility
 ">8.1.5. Passing secrets to subprocesses</a></span></dt></dl></dd><dt><span class="section"><a href="#idm224132189984">8.2. Handling child process termination</a></span></dt><dt><span class="section"><a href="#idm224105146816">8.3. <code class="literal">SUID</code>/<code class="literal">SGID</code> processes</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-secure_getenv">8.3.1. Accessing environment variables</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Daemons">8.4. Daemons</a></span></dt><dt><span class="section"><a href="#idm224126233520">8.5. Semantics of command line arguments</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Fork-Parallel">8.6. <code class="function">fork</code> as a primitive for parallelism</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-Serialization">9. Serialization and Deserial
 ization</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-Decoders">9.1. Recommendations for manually written decoders</a></span></dt><dt><span class="section"><a href="#idm224102938016">9.2. Protocol design</a></span></dt><dt><span class="section"><a href="#idm224078977104">9.3. Library support for deserialization</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML">9.4. XML serialization</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-External">9.4.1. External references</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Entities">9.4.2. Entity expansion</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-XInclude">9.4.3. XInclude processing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-
 XML-Validation">9.4.4. Algorithmic complexity of XML validation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Expat">9.4.5. Using Expat for XML parsing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-Qt">9.4.6. Using Qt for XML parsing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse">9.4.7. Using OpenJDK for XML parsing and validation</a></span></dt></dl></dd><dt><span class="section"><a href="#idm224085210432">9.5. Protocol Encoders</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-Cryptography">10. Cryptography</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224051435104">10.1. Primitives</a></span></dt><dt><span class="section"><a href="#idm224036442016">10.2. Randomness</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="#idm224106902768">III. Impl
 ementing Security Features</a></span></dt><dd><dl><dt><span class="chapter"><a href="#chap-Defensive_Coding-Authentication">11. Authentication and Authorization</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Server">11.1. Authenticating servers</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Host_based">11.2. Host-based authentication</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-UNIX_Domain">11.3. UNIX domain socket authentication</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Netlink">11.4. <code class="literal">AF_NETLINK</code> authentication of origin</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-TLS">12. Transport Layer Security</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls">12.1. Common Pitfalls</a></span></dt><dd><
 dl><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-OpenSSL">12.1.1. OpenSSL Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">12.1.2. GNUTLS Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">12.1.3. OpenJDK Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-NSS">12.1.4. NSS Pitfalls</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client">12.2. TLS Clients</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224079009376">12.2.1. Implementation TLS Clients With OpenSSL</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-GNUTLS">12.2.2. Implementation TLS Clients With GNUTLS</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-OpenJDK">12.2.3. Implementing TLS Clients With OpenJDK</a></span></dt><dt><span 
 class="section"><a href="#sect-Defensive_Coding-TLS-Client-NSS">12.2.4. Implementing TLS Clients With NSS</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-Python">12.2.5. Implementing TLS Clients With Python</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="appendix"><a href="#appe-UEFI_Secure_Boot_Guide-Revision_History">A. Revision History</a></span></dt></dl></div><div class="part" id="idm224112575792"><div class="titlepage"><div><div text-align="center"><h1 class="title">Part I. Programming Languages</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="#chap-Defensive_Coding-C">1. The C Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Language">1.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Undefined">1.1.1. Undefined behavior</a></sp
 an></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Pointers">1.1.2. Recommendations for pointers and array handling</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Arithmetic">1.1.3. Recommendations for integer arithmetic</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Libc">1.2. The C standard library</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Absolutely-Banned">1.2.1. Absolutely banned interfaces</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Avoid">1.2.2. Functions to avoid</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-String-Functions-Length">1.2.3. String Functions With Explicit Length Arguments</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators">1.3. Memory allocators</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224086436576">1.3.1. 
 <code class="function">malloc</code> and related functions</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators-alloca">1.3.2. <code class="function">alloca</code> and other forms of stack-based allocation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators-Arrays">1.3.3. Array allocation</a></span></dt><dt><span class="section"><a href="#idm224080529440">1.3.4. Custom memory allocators</a></span></dt><dt><span class="section"><a href="#idm224051428256">1.3.5. Conservative garbage collection</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Other">1.4. Other C-related topics</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1. Wrapper functions</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-CXX">2. The C++ Programming Language</a></span></dt><dd><dl><dt><span class="section"
 ><a href="#sect-Defensive_Coding-CXX-Language">2.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224083721568">2.1.1. Array allocation with <code class="literal">operator new[]</code></a></span></dt><dt><span class="section"><a href="#idm224106481280">2.1.2. Overloading</a></span></dt><dt><span class="section"><a href="#idm224089823568">2.1.3. ABI compatibility and preparing for security updates</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-CXX-Language-CXX11">2.1.4. C++0X and C++11 support</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-CXX-Std">2.2. The C++ standard library</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224080896784">2.2.1. Containers and <code class="literal">operator[]</code></a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Python">3. The Python Programming Language</a></span></dt><dd><dl><dt><span cl
 ass="section"><a href="#idm224093374560">3.1. Dangerous standard library features</a></span></dt><dt><span class="section"><a href="#idm224090144816">3.2. Run-time compilation and code generation</a></span></dt><dt><span class="section"><a href="#idm224066781008">3.3. Sandboxing</a></span></dt></dl></dd></dl></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-C" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 1. The C Programming Language</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#sect-Defensive_Coding-C-Language">1.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Undefined">1.1.1. Undefined behavior</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Pointers">1.1.2. Recommendations for pointers and array handling</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Arithmetic">1.1.3. 
 Recommendations for integer arithmetic</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Libc">1.2. The C standard library</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Absolutely-Banned">1.2.1. Absolutely banned interfaces</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Avoid">1.2.2. Functions to avoid</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-String-Functions-Length">1.2.3. String Functions With Explicit Length Arguments</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators">1.3. Memory allocators</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224086436576">1.3.1. <code class="function">malloc</code> and related functions</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators-alloca">1.3.2. <code class="function">alloca</code> and other forms of stack-based
  allocation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators-Arrays">1.3.3. Array allocation</a></span></dt><dt><span class="section"><a href="#idm224080529440">1.3.4. Custom memory allocators</a></span></dt><dt><span class="section"><a href="#idm224051428256">1.3.5. Conservative garbage collection</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Other">1.4. Other C-related topics</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1. Wrapper functions</a></span></dt></dl></dd></dl></div><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-C-Language" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">1.1. The core language</h2></div></div></div><div class="para">
+		</div></div></div></div><hr /></div><div class="toc"><dl class="toc"><dt><span class="part"><a href="#idm229817887552">I. Programming Languages</a></span></dt><dd><dl><dt><span class="chapter"><a href="#chap-Defensive_Coding-C">1. The C Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Language">1.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Undefined">1.1.1. Undefined behavior</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Pointers">1.1.2. Recommendations for pointers and array handling</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Arithmetic">1.1.3. Recommendations for integer arithmetic</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Globals">1.1.4. Global variables</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Libc">1.2. The C standard l
 ibrary</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Absolutely-Banned">1.2.1. Absolutely banned interfaces</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Avoid">1.2.2. Functions to avoid</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-String-Functions-Length">1.2.3. String Functions With Explicit Length Arguments</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators">1.3. Memory allocators</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229807495712">1.3.1. <code class="function">malloc</code> and related functions</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators-alloca">1.3.2. <code class="function">alloca</code> and other forms of stack-based allocation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators-Arrays">1.3.3. Array allocation</a></span></dt><dt><s
 pan class="section"><a href="#idm229810339024">1.3.4. Custom memory allocators</a></span></dt><dt><span class="section"><a href="#idm229835943952">1.3.5. Conservative garbage collection</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Other">1.4. Other C-related topics</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1. Wrapper functions</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-CXX">2. The C++ Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-CXX-Language">2.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229806924416">2.1.1. Array allocation with <code class="literal">operator new[]</code></a></span></dt><dt><span class="section"><a href="#idm229772900592">2.1.2. Overloading</a></span></dt><dt><span class="section"><a href="#idm229829930944">2.1.
 3. ABI compatibility and preparing for security updates</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-CXX-Language-CXX11">2.1.4. C++0X and C++11 support</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-CXX-Std">2.2. The C++ standard library</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229824582976">2.2.1. Containers and <code class="literal">operator[]</code></a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Java">3. The Java Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Language">3.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Language-ReadArray">3.1.1. Inceasing robustness when reading arrays</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Language-Resources">3.1.2. Resource management</a></span></dt><dt>
 <span class="section"><a href="#sect-Defensive_Coding-Java-Language-Finalizers">3.1.3. Finalizers</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Language-Exceptions">3.1.4. Recovering from exceptions and errors</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Java-LowLevel">3.2. Low-level features of the virtual machine</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Reflection">3.2.1. <code class="literal">Reflection and private parts</code></a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-JNI">3.2.2. Java Native Interface (JNI)</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-MiscUnsafe">3.2.3. <code class="literal">sun.misc.Unsafe</code></a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Java-SecurityManager">3.3. Interacting with the security manager</a></span></dt><dd><dl><dt><spa
 n class="section"><a href="#sect-Defensive_Coding-Java-SecurityManager-Compatible">3.3.1. Security manager compatibility</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-SecurityManager-Activate">3.3.2. Activating the security manager</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-SecurityManager-Unprivileged">3.3.3. Reducing trust in code</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-SecurityManager-Privileged">3.3.4. Re-gaining privileges</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Python">4. The Python Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229859224848">4.1. Dangerous standard library features</a></span></dt><dt><span class="section"><a href="#idm229833191040">4.2. Run-time compilation and code generation</a></span></dt><dt><span class="section"><a href="#idm229732676608">4.3. Sandboxing</
 a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="#idm229816209168">II. Specific Programming Tasks</a></span></dt><dd><dl><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-Library_Design">5. Library Design</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229856213104">5.1. State management</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229812180688">5.1.1. Global state</a></span></dt><dt><span class="section"><a href="#idm229762827808">5.1.2. Handles</a></span></dt></dl></dd><dt><span class="section"><a href="#idm229820098704">5.2. Object orientation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Library_Design-Callbacks">5.3. Callbacks</a></span></dt><dt><span class="section"><a href="#idm229842418432">5.4. Process attributes</a></span></dt></dl></dd><dt><span class="chapter"><a href="#sect-Defensive_Coding-Tasks-Descriptors">6. File Descriptor Management</a></span></dt><dd><dl><dt><sp
 an class="section"><a href="#idm229857828432">6.1. Closing descriptors</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229733350624">6.1.1. Error handling during descriptor close</a></span></dt><dt><span class="section"><a href="#idm229830981872">6.1.2. Closing descriptors and race conditions</a></span></dt><dt><span class="section"><a href="#idm229762827520">6.1.3. Lingering state after close</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Descriptors-Child_Processes">6.2. Preventing file descriptor leaks to child processes</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Descriptors-Limit">6.3. Dealing with the <code class="function">select</code> limit</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-File_System">7. File system manipulation</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Unowned">7.
 1. Working with files and directories owned by other users</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Foreign">7.2. Accessing the file system as a different user</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Limits">7.3. File system limits</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Features">7.4. File system features</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Free_Space">7.5. Checking free space</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-Temporary_Files">8. Temporary files</a></span></dt><dd><dl><dt><span class="section"><a href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">8.1. Obtaining the location of temporary directory</a></span></dt><dt><span class="section"><a href="#idm229842053056">8.2. Named temporary files</a></span></dt><d
 t><span class="section"><a href="#idm229832474720">8.3. Temporary files without names</a></span></dt><dt><span class="section"><a href="#chap-Defensive_Coding-Tasks-Temporary_Directory">8.4. Temporary directories</a></span></dt><dt><span class="section"><a href="#idm229826672128">8.5. Compensating for unsafe file creation</a></span></dt></dl></dd><dt><span class="chapter"><a href="#sect-Defensive_Coding-Tasks-Processes">9. Processes</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Creation">9.1. Safe process creation</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229774204624">9.1.1. Obtaining the program path and the command line template</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-execve">9.1.2. Bypassing the shell</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-environ">9.1.3. Specifying the process environment</a></span></dt
 ><dt><span class="section"><a href="#idm229843251648">9.1.4. Robust argument list processing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">9.1.5. Passing secrets to subprocesses</a></span></dt></dl></dd><dt><span class="section"><a href="#idm229822712608">9.2. Handling child process termination</a></span></dt><dt><span class="section"><a href="#idm229865451024">9.3. <code class="literal">SUID</code>/<code class="literal">SGID</code> processes</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-secure_getenv">9.3.1. Accessing environment variables</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Daemons">9.4. Daemons</a></span></dt><dt><span class="section"><a href="#idm229815561008">9.5. Semantics of command line arguments</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Fork-Parallel"
 >9.6. <code class="function">fork</code> as a primitive for parallelism</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-Serialization">10. Serialization and Deserialization</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-Decoders">10.1. Recommendations for manually written decoders</a></span></dt><dt><span class="section"><a href="#idm229735133648">10.2. Protocol design</a></span></dt><dt><span class="section"><a href="#idm229819247040">10.3. Library support for deserialization</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML">10.4. XML serialization</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-External">10.4.1. External references</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Entities">10.4.2. Entity expansion</a></span></dt>
 <dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-XInclude">10.4.3. XInclude processing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Validation">10.4.4. Algorithmic complexity of XML validation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Expat">10.4.5. Using Expat for XML parsing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-Qt">10.4.6. Using Qt for XML parsing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse">10.4.7. Using OpenJDK for XML parsing and validation</a></span></dt></dl></dd><dt><span class="section"><a href="#idm229857405936">10.5. Protocol Encoders</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-Cryptography">11. Cryptography</a></span></dt><dd><dl><dt><span class="section"><a hr
 ef="#idm229857212496">11.1. Primitives</a></span></dt><dt><span class="section"><a href="#idm229833179664">11.2. Randomness</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="#idm229772897552">III. Implementing Security Features</a></span></dt><dd><dl><dt><span class="chapter"><a href="#chap-Defensive_Coding-Authentication">12. Authentication and Authorization</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Server">12.1. Authenticating servers</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Host_based">12.2. Host-based authentication</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-UNIX_Domain">12.3. UNIX domain socket authentication</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Netlink">12.4. <code class="literal">AF_NETLINK</code> authentication of origin</a></span></dt></dl></dd><dt><span c
 lass="chapter"><a href="#chap-Defensive_Coding-TLS">13. Transport Layer Security</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls">13.1. Common Pitfalls</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-OpenSSL">13.1.1. OpenSSL Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">13.1.2. GNUTLS Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">13.1.3. OpenJDK Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-NSS">13.1.4. NSS Pitfalls</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client">13.2. TLS Clients</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229810469184">13.2.1. Implementation TLS Clients With OpenSSL</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-G
 NUTLS">13.2.2. Implementation TLS Clients With GNUTLS</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-OpenJDK">13.2.3. Implementing TLS Clients With OpenJDK</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-NSS">13.2.4. Implementing TLS Clients With NSS</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-Python">13.2.5. Implementing TLS Clients With Python</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="appendix"><a href="#appe-Defensive_Coding-Revision_History">A. Revision History</a></span></dt></dl></div><div class="part" id="idm229817887552"><div class="titlepage"><div><div text-align="center"><h1 class="title">Part I. Programming Languages</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="#chap-Defensive_Coding-C">1. The C Programming Language</a></span></dt><dd><dl><dt><spa
 n class="section"><a href="#sect-Defensive_Coding-C-Language">1.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Undefined">1.1.1. Undefined behavior</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Pointers">1.1.2. Recommendations for pointers and array handling</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Arithmetic">1.1.3. Recommendations for integer arithmetic</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Globals">1.1.4. Global variables</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Libc">1.2. The C standard library</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Absolutely-Banned">1.2.1. Absolutely banned interfaces</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Avoid">1.2.2. Functions to avoid</a></span></dt><dt><span class="sectio
 n"><a href="#sect-Defensive_Coding-C-String-Functions-Length">1.2.3. String Functions With Explicit Length Arguments</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators">1.3. Memory allocators</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229807495712">1.3.1. <code class="function">malloc</code> and related functions</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators-alloca">1.3.2. <code class="function">alloca</code> and other forms of stack-based allocation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators-Arrays">1.3.3. Array allocation</a></span></dt><dt><span class="section"><a href="#idm229810339024">1.3.4. Custom memory allocators</a></span></dt><dt><span class="section"><a href="#idm229835943952">1.3.5. Conservative garbage collection</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Other">1.4. Other C-
 related topics</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1. Wrapper functions</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-CXX">2. The C++ Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-CXX-Language">2.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229806924416">2.1.1. Array allocation with <code class="literal">operator new[]</code></a></span></dt><dt><span class="section"><a href="#idm229772900592">2.1.2. Overloading</a></span></dt><dt><span class="section"><a href="#idm229829930944">2.1.3. ABI compatibility and preparing for security updates</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-CXX-Language-CXX11">2.1.4. C++0X and C++11 support</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-CXX-Std">2.2. The C++ standa
 rd library</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229824582976">2.2.1. Containers and <code class="literal">operator[]</code></a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Java">3. The Java Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Language">3.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Language-ReadArray">3.1.1. Inceasing robustness when reading arrays</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Language-Resources">3.1.2. Resource management</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Language-Finalizers">3.1.3. Finalizers</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Language-Exceptions">3.1.4. Recovering from exceptions and errors</a></span></dt></dl></dd><dt><span class="section
 "><a href="#sect-Defensive_Coding-Java-LowLevel">3.2. Low-level features of the virtual machine</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Reflection">3.2.1. <code class="literal">Reflection and private parts</code></a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-JNI">3.2.2. Java Native Interface (JNI)</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-MiscUnsafe">3.2.3. <code class="literal">sun.misc.Unsafe</code></a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Java-SecurityManager">3.3. Interacting with the security manager</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Java-SecurityManager-Compatible">3.3.1. Security manager compatibility</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-SecurityManager-Activate">3.3.2. Activating the security manager</a></span></dt><dt><span cl
 ass="section"><a href="#sect-Defensive_Coding-Java-SecurityManager-Unprivileged">3.3.3. Reducing trust in code</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-SecurityManager-Privileged">3.3.4. Re-gaining privileges</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Python">4. The Python Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229859224848">4.1. Dangerous standard library features</a></span></dt><dt><span class="section"><a href="#idm229833191040">4.2. Run-time compilation and code generation</a></span></dt><dt><span class="section"><a href="#idm229732676608">4.3. Sandboxing</a></span></dt></dl></dd></dl></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-C" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 1. The C Programming Language</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a h
 ref="#sect-Defensive_Coding-C-Language">1.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Undefined">1.1.1. Undefined behavior</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Pointers">1.1.2. Recommendations for pointers and array handling</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Arithmetic">1.1.3. Recommendations for integer arithmetic</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Globals">1.1.4. Global variables</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Libc">1.2. The C standard library</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Absolutely-Banned">1.2.1. Absolutely banned interfaces</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Avoid">1.2.2. Functions to avoid</a></span></dt><dt><span class="section"><a href="#sect-Defe
 nsive_Coding-C-String-Functions-Length">1.2.3. String Functions With Explicit Length Arguments</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators">1.3. Memory allocators</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229807495712">1.3.1. <code class="function">malloc</code> and related functions</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators-alloca">1.3.2. <code class="function">alloca</code> and other forms of stack-based allocation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-C-Allocators-Arrays">1.3.3. Array allocation</a></span></dt><dt><span class="section"><a href="#idm229810339024">1.3.4. Custom memory allocators</a></span></dt><dt><span class="section"><a href="#idm229835943952">1.3.5. Conservative garbage collection</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-C-Other">1.4. Other C-related topics</a></sp
 an></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1. Wrapper functions</a></span></dt></dl></dd></dl></div><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-C-Language" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">1.1. The core language</h2></div></div></div><div class="para">
 		C provides no memory safety. Most recommendations in this section deal with this aspect of the language.
 	</div><div class="section" id="sect-Defensive_Coding-C-Undefined"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">1.1.1. Undefined behavior</h3></div></div></div><div class="para">
 			Some C constructs are defined to be undefined by the C standard. This does not only mean that the standard does not describe what happens when the construct is executed. It also allows optimizing compilers such as GCC to assume that this particular construct is never reached. In some cases, this has caused GCC to optimize security checks away. (This is not a flaw in GCC or the C language. But C certainly has some areas which are more difficult to use than others.)
@@ -132,6 +132,21 @@ mul(<span class="perl_DataType">unsigned</span> a, <span class="perl_DataType">u
 			When a value is converted to a signed integer, GCC always chooses the result based on 2's complement arithmetic. This GCC extension (which is also implemented by other compilers) helps a lot when implementing overflow checks.
 		</div><div class="para">
 			Legacy code should be compiled with the <code class="option">-fwrapv</code> GCC option. As a result, GCC will provide 2's complement semantics for integer arithmetic, including defined behavior on integer overflow.
+		</div></div><div class="section" id="sect-Defensive_Coding-C-Globals"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">1.1.4. Global variables</h3></div></div></div><div class="para">
+			Global variables should be avoided because they usually lead to thread safety hazards. In any case, they should be declared <code class="literal">static</code>, so that access is restricted to a single translation unit.
+		</div><div class="para">
+			Global constants are not a problem, but declaring them can be tricky. <a class="xref" href="#ex-Defensive_Coding-C-Globals-String_Array">Example 1.4, “Declaring a constant array of constant strings”</a> shows how to declare a constant array of constant strings. The second <code class="literal">const</code> is needed to make the array constant, and not just the strings. It must be placed after the <code class="literal">*</code>, and not before it.
+		</div><div class="example" id="ex-Defensive_Coding-C-Globals-String_Array"><h6>Example 1.4. Declaring a constant array of constant strings</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">static</span> <span class="perl_DataType">const</span> <span class="perl_DataType">char</span> *<span class="perl_DataType">const</span> string_list[] = {
+  <span class="perl_String">"first"</span>,
+  <span class="perl_String">"second"</span>,
+  <span class="perl_String">"third"</span>,
+  NULL
+};
+</pre></div></div><br class="example-break" /><div class="para">
+			Sometimes, static variables local to functions are used as a replacement for proper memory management. Unlike non-static local variables, it is possible to return a pointer to static local variables to the caller. But such variables are well-hidden, but effectively global (just as static variables at file scope). It is difficult to add thread safety afterwards if such interfaces are used. Merely dropping the <code class="literal">static</code> keyword in such cases leads to undefined behavior.
+		</div><div class="para">
+			Another source for static local variables is a desire to reduce stack space usage on embedded platforms, where the stack may span only a few hundred bytes. If this is the only reason why the <code class="literal">static</code> keyword is used, it can just be dropped, unless the object is very large (larger than 128 kilobytes on 32 bit platforms). In the latter case, it is recommended to allocate the object using <code class="literal">malloc</code>, to obtain proper array checking, for the same reasons outlined in <a class="xref" href="#sect-Defensive_Coding-C-Allocators-alloca">Section 1.3.2, “<code class="function">alloca</code> and other forms of stack-based allocation”</a>.
 		</div></div></div><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-C-Libc" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">1.2. The C standard library</h2></div></div></div><div class="para">
 		Parts of the C standard library (and the UNIX and GNU extensions) are difficult to use, so you shoud avoid them.
 	</div><div class="para">
@@ -175,17 +190,17 @@ mul(<span class="perl_DataType">unsigned</span> a, <span class="perl_DataType">u
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					<code class="function">alloca</code> ⟶ <code class="function">malloc</code> and <code class="function">free</code> (see <a class="xref" href="#sect-Defensive_Coding-C-Allocators-alloca">Section 1.3.2, “<code class="function">alloca</code> and other forms of stack-based allocation”</a>)
 				</div></li><li class="listitem"><div class="para">
-					<code class="function">putenv</code> ⟶ explicit <code class="varname">envp</code> argument in process creation (see <a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-environ">Section 8.1.3, “Specifying the process environment”</a>)
+					<code class="function">putenv</code> ⟶ explicit <code class="varname">envp</code> argument in process creation (see <a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-environ">Section 9.1.3, “Specifying the process environment”</a>)
 				</div></li><li class="listitem"><div class="para">
-					<code class="function">setenv</code> ⟶ explicit <code class="varname">envp</code> argument in process creation (see <a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-environ">Section 8.1.3, “Specifying the process environment”</a>)
+					<code class="function">setenv</code> ⟶ explicit <code class="varname">envp</code> argument in process creation (see <a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-environ">Section 9.1.3, “Specifying the process environment”</a>)
 				</div></li><li class="listitem"><div class="para">
 					<code class="function">strdupa</code> ⟶ <code class="function">strdup</code> and <code class="function">free</code> (see <a class="xref" href="#sect-Defensive_Coding-C-Allocators-alloca">Section 1.3.2, “<code class="function">alloca</code> and other forms of stack-based allocation”</a>)
 				</div></li><li class="listitem"><div class="para">
 					<code class="function">strndupa</code> ⟶ <code class="function">strndup</code> and <code class="function">free</code> (see <a class="xref" href="#sect-Defensive_Coding-C-Allocators-alloca">Section 1.3.2, “<code class="function">alloca</code> and other forms of stack-based allocation”</a>)
 				</div></li><li class="listitem"><div class="para">
-					<code class="function">system</code> ⟶ <code class="function">posix_spawn</code> or <code class="function">fork</code>/<code class="function">execve</code>/ (see <a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-execve">Section 8.1.2, “Bypassing the shell”</a>)
+					<code class="function">system</code> ⟶ <code class="function">posix_spawn</code> or <code class="function">fork</code>/<code class="function">execve</code>/ (see <a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-execve">Section 9.1.2, “Bypassing the shell”</a>)
 				</div></li><li class="listitem"><div class="para">
-					<code class="function">unsetenv</code> ⟶ explicit <code class="varname">envp</code> argument in process creation (see <a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-environ">Section 8.1.3, “Specifying the process environment”</a>)
+					<code class="function">unsetenv</code> ⟶ explicit <code class="varname">envp</code> argument in process creation (see <a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-environ">Section 9.1.3, “Specifying the process environment”</a>)
 				</div></li></ul></div></div><div class="section" id="sect-Defensive_Coding-C-String-Functions-Length"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">1.2.3. String Functions With Explicit Length Arguments</h3></div></div></div><div class="para">
 			The C run-time library provides string manipulation functions which not just look for NUL characters for string termination, but also honor explicit lengths provided by the caller. However, these functions evolved over a long period of time, and the lengths mean different things depending on the function.
 		</div><div class="section" id="sect-Defensive_Coding-C-Libc-snprintf"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">1.2.3.1. <code class="literal">snprintf</code></h4></div></div></div><div class="para">
@@ -196,8 +211,8 @@ snprintf(fraction, <span class="perl_Keyword">sizeof</span>(fraction), <span cla
 </pre></div><div class="para">
 				The second argument to the <code class="function">snprintf</code> call should always be the size of the buffer in the first argument (which should be a character array). Elaborate pointer and length arithmetic can introduce errors and nullify the security benefits of <code class="function">snprintf</code>.
 			</div><div class="para">
-				In particular, <code class="literal">snprintf</code> is not well-suited to constructing a string iteratively, by appending to an existing buffer. <code class="function">snprintf</code> returns one of two values, <code class="literal">-1</code> on errors, or the number of characters which <span class="emphasis"><em>would have been written to the buffer if the buffer were large enough</em></span>. This means that adding the result of <code class="function">snprintf</code> to the buffer pointer to skip over the characters just written is incorrect and risky. However, as long as the length argument is not zero, the buffer will remain NUL-terminated. <a class="xref" href="#ex-Defensive_Coding-C-String-Functions-snprintf-incremental">Example 1.4, “Repeatedly writing to a buffer using <code class="function">snprintf</code>”</a> works because <code class="literal">end -current &gt; 0</code> is a loop invariant. After the loop, the result string is in the <code class="varnam
 e">buf</code> variable.
-			</div><div class="example" id="ex-Defensive_Coding-C-String-Functions-snprintf-incremental"><h6>Example 1.4. Repeatedly writing to a buffer using <code class="function">snprintf</code></h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				In particular, <code class="literal">snprintf</code> is not well-suited to constructing a string iteratively, by appending to an existing buffer. <code class="function">snprintf</code> returns one of two values, <code class="literal">-1</code> on errors, or the number of characters which <span class="emphasis"><em>would have been written to the buffer if the buffer were large enough</em></span>. This means that adding the result of <code class="function">snprintf</code> to the buffer pointer to skip over the characters just written is incorrect and risky. However, as long as the length argument is not zero, the buffer will remain NUL-terminated. <a class="xref" href="#ex-Defensive_Coding-C-String-Functions-snprintf-incremental">Example 1.5, “Repeatedly writing to a buffer using <code class="function">snprintf</code>”</a> works because <code class="literal">end -current &gt; 0</code> is a loop invariant. After the loop, the result string is in the <code class="varnam
 e">buf</code> variable.
+			</div><div class="example" id="ex-Defensive_Coding-C-String-Functions-snprintf-incremental"><h6>Example 1.5. Repeatedly writing to a buffer using <code class="function">snprintf</code></h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_DataType">char</span> buf[<span class="perl_Float">512</span>];
 <span class="perl_DataType">char</span> *current = buf;
 <span class="perl_DataType">const</span> <span class="perl_DataType">char</span> *<span class="perl_DataType">const</span> end = buf + <span class="perl_Keyword">sizeof</span>(buf);
@@ -211,8 +226,8 @@ snprintf(fraction, <span class="perl_Keyword">sizeof</span>(fraction), <span cla
 			</div><div class="para">
 				Note that it is not permitted to use the same buffer both as the destination and as a source argument.
 			</div></div><div class="section" id="sect-Defensive_Coding-C-Libc-vsnprintf"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">1.2.3.2. <code class="literal">vsnprintf</code> and format strings</h4></div></div></div><div class="para">
-				If you use <code class="function">vsnprintf</code> (or <code class="function">vasprintf</code> or even <code class="function">snprintf</code>) with a format string which is not a constant, but a function argument, it is important to annotate the function with a <code class="literal">format</code> function attribute, so that GCC can warn about misuse of your function (see <a class="xref" href="#ex-Defensive_Coding-C-String-Functions-format-Attribute">Example 1.5, “The <code class="literal">format</code> function attribute”</a>).
-			</div><div class="example" id="ex-Defensive_Coding-C-String-Functions-format-Attribute"><h6>Example 1.5. The <code class="literal">format</code> function attribute</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				If you use <code class="function">vsnprintf</code> (or <code class="function">vasprintf</code> or even <code class="function">snprintf</code>) with a format string which is not a constant, but a function argument, it is important to annotate the function with a <code class="literal">format</code> function attribute, so that GCC can warn about misuse of your function (see <a class="xref" href="#ex-Defensive_Coding-C-String-Functions-format-Attribute">Example 1.6, “The <code class="literal">format</code> function attribute”</a>).
+			</div><div class="example" id="ex-Defensive_Coding-C-String-Functions-format-Attribute"><h6>Example 1.6. The <code class="literal">format</code> function attribute</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_DataType">void</span> log_format(<span class="perl_DataType">const</span> <span class="perl_DataType">char</span> *format, ...) __attribute__((format(printf, <span class="perl_Float">1</span>, <span class="perl_Float">2</span>)));
 
 <span class="perl_DataType">void</span>
@@ -239,7 +254,7 @@ strncpy(buf, data, <span class="perl_Keyword">sizeof</span>(buf) - <span class="
 </pre></div></div><div class="section" id="sect-Defensive_Coding-C-Libc-strncat"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">1.2.3.4. <code class="function">strncat</code></h4></div></div></div><div class="para">
 				The length argument of the <code class="function">strncat</code> function specifies the maximum number of characters copied from the source buffer, excluding the terminating NUL character. This means that the required number of bytes in the destination buffer is the length of the original string, plus the length argument in the <code class="function">strncat</code> call, plus one. Consequently, this function is rarely appropriate for performing a length-checked string operation, with the notable exception of the <code class="function">strcpy</code> emulation described in <a class="xref" href="#sect-Defensive_Coding-C-Libc-strncpy">Section 1.2.3.3, “<code class="function">strncpy</code>”</a>.
 			</div><div class="para">
-				To implement a length-checked string append, you can use an approach similar to <a class="xref" href="#ex-Defensive_Coding-C-String-Functions-snprintf-incremental">Example 1.4, “Repeatedly writing to a buffer using <code class="function">snprintf</code>”</a>:
+				To implement a length-checked string append, you can use an approach similar to <a class="xref" href="#ex-Defensive_Coding-C-String-Functions-snprintf-incremental">Example 1.5, “Repeatedly writing to a buffer using <code class="function">snprintf</code>”</a>:
 			</div><div class="informalexample"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_DataType">char</span> buf[<span class="perl_Float">10</span>];
 snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_String">"%s"</span>, prefix);
@@ -252,28 +267,28 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 				But you should must not dynamically construct format strings to avoid concatenation because this would prevent GCC from type-checking the argument lists.
 			</div><div class="para">
 				It is not possible to use format strings like <code class="literal">"%s%s"</code> to implement concatenation, unless you use separate buffers. <code class="function">snprintf</code> does not support overlapping source and target strings.
-			</div></div><div class="section" id="idm224111225648"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm224111225648">1.2.3.5. <code class="function">strlcpy</code> and <code class="function">strlcat</code></h4></div></div></div><div class="para">
+			</div></div><div class="section" id="idm229841456432"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm229841456432">1.2.3.5. <code class="function">strlcpy</code> and <code class="function">strlcat</code></h4></div></div></div><div class="para">
 				Some systems support <code class="function">strlcpy</code> and <code class="function">strlcat</code> functions which behave this way, but these functions are not part of GNU libc. <code class="function">strlcpy</code> is often replaced with <code class="function">snprintf</code> with a <code class="literal">"%s"</code> format string. See <a class="xref" href="#sect-Defensive_Coding-C-Libc-strncpy">Section 1.2.3.3, “<code class="function">strncpy</code>”</a> for a caveat related to the <code class="function">snprintf</code> return value.
 			</div><div class="para">
 				To emulate <code class="function">strlcat</code>, use the approach described in <a class="xref" href="#sect-Defensive_Coding-C-Libc-strncat">Section 1.2.3.4, “<code class="function">strncat</code>”</a>.
-			</div></div><div class="section" id="idm224109191648"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm224109191648">1.2.3.6. ISO C11 Annex K *<code class="function">_s</code> functions</h4></div></div></div><div class="para">
+			</div></div><div class="section" id="idm229811929792"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm229811929792">1.2.3.6. ISO C11 Annex K *<code class="function">_s</code> functions</h4></div></div></div><div class="para">
 				ISO C11 adds another set of length-checking functions, but GNU libc currently does not implement them.
-			</div></div><div class="section" id="idm224104929552"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm224104929552">1.2.3.7. Other <code class="function">strn</code>* and <code class="function">stpn</code>* functions</h4></div></div></div><div class="para">
+			</div></div><div class="section" id="idm229830367584"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm229830367584">1.2.3.7. Other <code class="function">strn</code>* and <code class="function">stpn</code>* functions</h4></div></div></div><div class="para">
 				GNU libc contains additional functions with different variants of length checking. Consult the documentation before using them to find out what the length actually means.
-			</div></div></div></div><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-C-Allocators" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">1.3. Memory allocators</h2></div></div></div><div class="section" id="idm224086436576"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224086436576">1.3.1. <code class="function">malloc</code> and related functions</h3></div></div></div><div class="para">
+			</div></div></div></div><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-C-Allocators" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">1.3. Memory allocators</h2></div></div></div><div class="section" id="idm229807495712"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229807495712">1.3.1. <code class="function">malloc</code> and related functions</h3></div></div></div><div class="para">
 			The C library interfaces for memory allocation are provided by <code class="function">malloc</code>, <code class="function">free</code> and <code class="function">realloc</code>, and the <code class="function">calloc</code> function. In addition to these generic functions, there are derived functions such as <code class="function">strdup</code> which perform allocation using <code class="function">malloc</code> internally, but do not return untyped heap memory (which could be used for any object).
 		</div><div class="para">
 			The C compiler knows about these functions and can use their expected behavior for optimizations. For instance, the compiler assumes that an existing pointer (or a pointer derived from an existing pointer by arithmetic) will not point into the memory area returned by <code class="function">malloc</code>.
 		</div><div class="para">
 			If the allocation fails, <code class="function">realloc</code> does not free the old pointer. Therefore, the idiom <code class="literal">ptr = realloc(ptr, size);</code> is wrong because the memory pointed to by <code class="literal">ptr</code> leaks in case of an error.
-		</div><div class="section" id="idm224109096528"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm224109096528">1.3.1.1. Use-after-free errors</h4></div></div></div><div class="para">
+		</div><div class="section" id="idm229810704224"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm229810704224">1.3.1.1. Use-after-free errors</h4></div></div></div><div class="para">
 				After <code class="function">free</code>, the pointer is invalid. Further pointer dereferences are not allowed (and are usually detected by <span class="application"><strong>valgrind</strong></span>). Less obvious is that any <span class="emphasis"><em>use</em></span> of the old pointer value is not allowed, either. In particular, comparisons with any other pointer (or the null pointer) are undefined according to the C standard.
 			</div><div class="para">
 				The same rules apply to <code class="function">realloc</code> if the memory area cannot be enlarged in-place. For instance, the compiler may assume that a comparison between the old and new pointer will always return false, so it is impossible to detect movement this way.
-			</div></div><div class="section" id="idm223995277696"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm223995277696">1.3.1.2. Handling memory allocation errors</h4></div></div></div><div class="para">
+			</div></div><div class="section" id="idm229763265232"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm229763265232">1.3.1.2. Handling memory allocation errors</h4></div></div></div><div class="para">
 				Recovering from out-of-memory errors is often difficult or even impossible. In these cases, <code class="function">malloc</code> and other allocation functions return a null pointer. Dereferencing this pointer lead to a crash. Such dereferences can even be exploitable for code execution if the dereference is combined with an array subscript.
 			</div><div class="para">
-				In general, if you cannot check all allocation calls and handle failure, you should abort the program on allocation failure, and not rely on the null pointer dereference to terminate the process. See <a class="xref" href="#sect-Defensive_Coding-Tasks-Serialization-Decoders">Section 9.1, “Recommendations for manually written decoders”</a> for related memory allocation concerns.
+				In general, if you cannot check all allocation calls and handle failure, you should abort the program on allocation failure, and not rely on the null pointer dereference to terminate the process. See <a class="xref" href="#sect-Defensive_Coding-Tasks-Serialization-Decoders">Section 10.1, “Recommendations for manually written decoders”</a> for related memory allocation concerns.
 			</div></div></div><div class="section" id="sect-Defensive_Coding-C-Allocators-alloca"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">1.3.2. <code class="function">alloca</code> and other forms of stack-based allocation</h3></div></div></div><div class="para">
 			Allocation on the stack is risky because stack overflow checking is implicit. There is a guard page at the end of the memory area reserved for the stack. If the program attempts to read from or write to this guard page, a <code class="literal">SIGSEGV</code> signal is generated and the program typically terminates.
 		</div><div class="para">
@@ -289,8 +304,8 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 		</div></div><div class="section" id="sect-Defensive_Coding-C-Allocators-Arrays"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">1.3.3. Array allocation</h3></div></div></div><div class="para">
 			When allocating arrays, it is important to check for overflows. The <code class="function">calloc</code> function performs such checks.
 		</div><div class="para">
-			If <code class="function">malloc</code> or <code class="function">realloc</code> is used, the size check must be written manually. For instance, to allocate an array of <code class="literal">n</code> elements of type <code class="literal">T</code>, check that the requested size is not greater than <code class="literal">n / sizeof(T)</code>.
-		</div></div><div class="section" id="idm224080529440"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224080529440">1.3.4. Custom memory allocators</h3></div></div></div><div class="para">
+			If <code class="function">malloc</code> or <code class="function">realloc</code> is used, the size check must be written manually. For instance, to allocate an array of <code class="literal">n</code> elements of type <code class="literal">T</code>, check that the requested size is not greater than <code class="literal">((size_t) -1) / sizeof(T)</code>. See <a class="xref" href="#sect-Defensive_Coding-C-Arithmetic">Section 1.1.3, “Recommendations for integer arithmetic”</a>.
+		</div></div><div class="section" id="idm229810339024"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229810339024">1.3.4. Custom memory allocators</h3></div></div></div><div class="para">
 			Custom memory allocates come in two forms: replacements for <code class="function">malloc</code>, and completely different interfaces for memory management. Both approaches can reduce the effectiveness of <span class="application"><strong>valgrind</strong></span> and similar tools, and the heap corruption detection provided by GNU libc, so they should be avoided.
 		</div><div class="para">
 			Memory allocators are difficult to write and contain many performance and security pitfalls.
@@ -300,7 +315,7 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 					Size computations for array allocations need overflow checking. See <a class="xref" href="#sect-Defensive_Coding-C-Allocators-Arrays">Section 1.3.3, “Array allocation”</a>.
 				</div></li><li class="listitem"><div class="para">
 					It can be difficult to beat well-tuned general-purpose allocators. In micro-benchmarks, pool allocators can show huge wins, and size-specific pools can reduce internal fragmentation. But often, utilization of individual pools is poor, and
-				</div></li></ul></div></div><div class="section" id="idm224051428256"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224051428256">1.3.5. Conservative garbage collection</h3></div></div></div><div class="para">
+				</div></li></ul></div></div><div class="section" id="idm229835943952"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229835943952">1.3.5. Conservative garbage collection</h3></div></div></div><div class="para">
 			Garbage collection can be an alternative to explicit memory management using <code class="function">malloc</code> and <code class="function">free</code>. The Boehm-Dehmers-Weiser allocator can be used from C programs, with minimal type annotations. Performance is competitive with <code class="function">malloc</code> on 64-bit architectures, especially for multi-threaded programs. The stop-the-world pauses may be problematic for some real-time applications, though.
 		</div><div class="para">
 			However, using a conservative garbage collector may reduce opertunities for code reduce because once one library in a program uses garbage collection, the whole process memory needs to be subject to it, so that no pointers are missed. The Boehm-Dehmers-Weiser collector also reserves certain signals for internal use, so it is not fully transparent to the rest of the program.
@@ -311,28 +326,28 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 		</div><div class="para">
 			At the minimum, you should apply these attributes:
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
-					If you wrap function which accepts are GCC-recognized format string (for example, a <code class="function">printf</code>-style function used for logging), you should add a suitable <code class="literal">format</code> attribute, as in <a class="xref" href="#ex-Defensive_Coding-C-String-Functions-format-Attribute">Example 1.5, “The <code class="literal">format</code> function attribute”</a>.
+					If you wrap function which accepts are GCC-recognized format string (for example, a <code class="function">printf</code>-style function used for logging), you should add a suitable <code class="literal">format</code> attribute, as in <a class="xref" href="#ex-Defensive_Coding-C-String-Functions-format-Attribute">Example 1.6, “The <code class="literal">format</code> function attribute”</a>.
 				</div></li><li class="listitem"><div class="para">
 					If you wrap a function which carries a <code class="literal">warn_unused_result</code> attribute and you propagate its return value, your wrapper should be declared with <code class="literal">warn_unused_result</code> as well.
 				</div></li><li class="listitem"><div class="para">
 					Duplicating the buffer length checks based on the <code class="function">__builtin_object_size</code> GCC builtin is desirable if the wrapper processes arrays. (This functionality is used by the <code class="literal">-D_FORTIFY_SOURCE=2</code> checks to guard against static buffer overflows.) However, designing appropriate interfaces and implementing the checks may not be entirely straightforward.
 				</div></li></ul></div><div class="para">
 			For other attributes (such as <code class="literal">malloc</code>), careful analysis and comparison with the compiler documentation is required to check if propagating the attribute is appropriate. Incorrectly applied attributes can result in undesired behavioral changes in the compiled code.
-		</div></div></div></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-CXX" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 2. The C++ Programming Language</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#sect-Defensive_Coding-CXX-Language">2.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224083721568">2.1.1. Array allocation with <code class="literal">operator new[]</code></a></span></dt><dt><span class="section"><a href="#idm224106481280">2.1.2. Overloading</a></span></dt><dt><span class="section"><a href="#idm224089823568">2.1.3. ABI compatibility and preparing for security updates</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-CXX-Language-CXX11">2.1.4. C++0X and C++11 support</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-CXX-Std">2.2. The C++ standard library</a></span></dt><dd><dl><dt><
 span class="section"><a href="#idm224080896784">2.2.1. Containers and <code class="literal">operator[]</code></a></span></dt></dl></dd></dl></div><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-CXX-Language" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">2.1. The core language</h2></div></div></div><div class="para">
+		</div></div></div></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-CXX" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 2. The C++ Programming Language</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#sect-Defensive_Coding-CXX-Language">2.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229806924416">2.1.1. Array allocation with <code class="literal">operator new[]</code></a></span></dt><dt><span class="section"><a href="#idm229772900592">2.1.2. Overloading</a></span></dt><dt><span class="section"><a href="#idm229829930944">2.1.3. ABI compatibility and preparing for security updates</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-CXX-Language-CXX11">2.1.4. C++0X and C++11 support</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-CXX-Std">2.2. The C++ standard library</a></span></dt><dd><dl><dt><
 span class="section"><a href="#idm229824582976">2.2.1. Containers and <code class="literal">operator[]</code></a></span></dt></dl></dd></dl></div><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-CXX-Language" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">2.1. The core language</h2></div></div></div><div class="para">
 		C++ includes a large subset of the C language. As far as the C subset is used, the recommendations in <a class="xref" href="#chap-Defensive_Coding-C">Chapter 1, <em>The C Programming Language</em></a> apply.
-	</div><div class="section" id="idm224083721568"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224083721568">2.1.1. Array allocation with <code class="literal">operator new[]</code></h3></div></div></div><div class="para">
+	</div><div class="section" id="idm229806924416"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229806924416">2.1.1. Array allocation with <code class="literal">operator new[]</code></h3></div></div></div><div class="para">
 			For very large values of <code class="literal">n</code>, an expression like <code class="literal">new T[n]</code> can return a pointer to a heap region which is too small. In other words, not all array elements are actually backed with heap memory reserved to the array. Current GCC versions generate code that performs a computation of the form <code class="literal">sizeof(T) * size_t(n) + cookie_size</code>, where <code class="literal">cookie_size</code> is currently at most 8. This computation can overflow, and GCC-generated code does not detect this.
 		</div><div class="para">
 			The <code class="literal">std::vector</code> template can be used instead an explicit array allocation. (The GCC implementation detects overflow internally.)
 		</div><div class="para">
 			If there is no alternative to <code class="literal">operator new[]</code>, code which allocates arrays with a variable length must check for overflow manually. For the <code class="literal">new T[n]</code> example, the size check could be <code class="literal">n || (n &gt; 0 &amp;&amp; n &gt; (size_t(-1) - 8) / sizeof(T))</code>. (See <a class="xref" href="#sect-Defensive_Coding-C-Arithmetic">Section 1.1.3, “Recommendations for integer arithmetic”</a>.) If there are additional dimensions (which must be constants according to the C++ standard), these should be included as factors in the divisor.
 		</div><div class="para">
-			These countermeasures prevent out-of-bounds writes and potential code execution. Very large memory allocations can still lead to a denial of service. <a class="xref" href="#sect-Defensive_Coding-Tasks-Serialization-Decoders">Section 9.1, “Recommendations for manually written decoders”</a> contains suggestions for mitigating this problem when processing untrusted data.
+			These countermeasures prevent out-of-bounds writes and potential code execution. Very large memory allocations can still lead to a denial of service. <a class="xref" href="#sect-Defensive_Coding-Tasks-Serialization-Decoders">Section 10.1, “Recommendations for manually written decoders”</a> contains suggestions for mitigating this problem when processing untrusted data.
 		</div><div class="para">
 			See <a class="xref" href="#sect-Defensive_Coding-C-Allocators-Arrays">Section 1.3.3, “Array allocation”</a> for array allocation advice for C-style memory allocation.
-		</div></div><div class="section" id="idm224106481280"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224106481280">2.1.2. Overloading</h3></div></div></div><div class="para">
+		</div></div><div class="section" id="idm229772900592"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229772900592">2.1.2. Overloading</h3></div></div></div><div class="para">
 			Do not overload functions with versions that have different security characteristics. For instance, do not implement a function <code class="function">strcat</code> which works on <span class="type">std::string</span> arguments. Similarly, do not name methods after such functions.
-		</div></div><div class="section" id="idm224089823568"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224089823568">2.1.3. ABI compatibility and preparing for security updates</h3></div></div></div><div class="para">
+		</div></div><div class="section" id="idm229829930944"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229829930944">2.1.3. ABI compatibility and preparing for security updates</h3></div></div></div><div class="para">
 			A stable binary interface (ABI) is vastly preferred for security updates. Without a stable ABI, all reverse dependencies need recompiling, which can be a lot of work and could even be impossible in some cases. Ideally, a security update only updates a single dynamic shared object, and is picked up automatically after restarting affected processes.
 		</div><div class="para">
 			Outside of extremely performance-critical code, you should ensure that a wide range of changes is possible without breaking ABI. Some very basic guidelines are:
@@ -366,25 +381,338 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 			Some C++11 features (or approximations thereof) are available with TR1 support, that is, with <code class="option">-std=c++03</code> or <code class="option">-std=gnu++03</code> and in the <code class="literal">&lt;tr1/*&gt;</code> header files. This includes <code class="literal">std::tr1::shared_ptr</code> (from <code class="literal">&lt;tr1/memory&gt;</code>) and <code class="literal">std::tr1::function</code> (from <code class="literal">&lt;tr1/functional&gt;</code>). For other C++11 features, the Boost C++ library contains replacements.
 		</div></div></div><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-CXX-Std" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">2.2. The C++ standard library</h2></div></div></div><div class="para">
 		The C++ standard library includes most of its C counterpart by reference, see <a class="xref" href="#sect-Defensive_Coding-C-Libc">Section 1.2, “The C standard library”</a>.
-	</div><div class="section" id="idm224080896784"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224080896784">2.2.1. Containers and <code class="literal">operator[]</code></h3></div></div></div><div class="para">
+	</div><div class="section" id="idm229824582976"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229824582976">2.2.1. Containers and <code class="literal">operator[]</code></h3></div></div></div><div class="para">
 			Many containers similar to <code class="literal">std::vector</code> provide both <code class="literal">operator[](size_type)</code> and a member function <code class="literal">at(size_type)</code>. This applies to <code class="literal">std::vector</code> itself, <code class="literal">std::array</code>, <code class="literal">std::string</code> and other instances of <code class="literal">std::basic_string</code>.
 		</div><div class="para">
 			<code class="literal">operator[](size_type)</code> is not required by the standard to perform bounds checking (and the implementation in GCC does not). In contrast, <code class="literal">at(size_type)</code> must perform such a check. Therefore, in code which is not performance-critical, you should prefer <code class="literal">at(size_type)</code> over <code class="literal">operator[](size_type)</code>, even though it is slightly more verbose.
-		</div></div></div></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Python" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 3. The Python Programming Language</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#idm224093374560">3.1. Dangerous standard library features</a></span></dt><dt><span class="section"><a href="#idm224090144816">3.2. Run-time compilation and code generation</a></span></dt><dt><span class="section"><a href="#idm224066781008">3.3. Sandboxing</a></span></dt></dl></div><div class="para">
+		</div></div></div></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Java" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 3. The Java Programming Language</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Language">3.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Language-ReadArray">3.1.1. Inceasing robustness when reading arrays</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Language-Resources">3.1.2. Resource management</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Language-Finalizers">3.1.3. Finalizers</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Language-Exceptions">3.1.4. Recovering from exceptions and errors</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Java-LowLeve
 l">3.2. Low-level features of the virtual machine</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Java-Reflection">3.2.1. <code class="literal">Reflection and private parts</code></a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-JNI">3.2.2. Java Native Interface (JNI)</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-MiscUnsafe">3.2.3. <code class="literal">sun.misc.Unsafe</code></a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Java-SecurityManager">3.3. Interacting with the security manager</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Java-SecurityManager-Compatible">3.3.1. Security manager compatibility</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-SecurityManager-Activate">3.3.2. Activating the security manager</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-
 Java-SecurityManager-Unprivileged">3.3.3. Reducing trust in code</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Java-SecurityManager-Privileged">3.3.4. Re-gaining privileges</a></span></dt></dl></dd></dl></div><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-Java-Language" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">3.1. The core language</h2></div></div></div><div class="para">
+		Implementations of the Java programming language provide strong memory safety, even in the presence of data races in concurrent code. This prevents a large range of security vulnerabilities from occurring, unless certain low-level features are used; see <a class="xref" href="#sect-Defensive_Coding-Java-LowLevel">Section 3.2, “Low-level features of the virtual machine”</a>.
+	</div><div class="section" id="sect-Defensive_Coding-Java-Language-ReadArray"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.1.1. Inceasing robustness when reading arrays</h3></div></div></div><div class="para">
+			External data formats often include arrays, and the data is stored as an integer indicating the number of array elements, followed by this number of elements in the file or protocol data unit. This length specified can be much larger than what is actually available in the data source.
+		</div><div class="para">
+			To avoid allocating extremely large amounts of data, you can allocate a small array initially and grow it as you read more data, implementing an exponential growth policy. See the <code class="function">readBytes(InputStream, int)</code> function in <a class="xref" href="#ex-Defensive_Coding-Java-Language-ReadArray">Example 3.1, “Incrementally reading a byte array”</a>.
+		</div><div class="example" id="ex-Defensive_Coding-Java-Language-ReadArray"><h6>Example 3.1. Incrementally reading a byte array</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">static</span> <span class="perl_DataType">byte</span>[] <span class="perl_Function">readBytes</span>(InputStream in, <span class="perl_DataType">int</span> length) <span class="perl_Keyword">throws</span> IOException {
+	<span class="perl_DataType">final</span> <span class="perl_DataType">int</span> startSize = <span class="perl_Float">65536</span>;
+    <span class="perl_DataType">byte</span>[] b = <span class="perl_Keyword">new</span> <span class="perl_DataType">byte</span>[Math.<span class="perl_Function">min</span>(length, startSize)];
+    <span class="perl_DataType">int</span> filled = <span class="perl_Float">0</span>;
+    <span class="perl_Keyword">while</span> (<span class="perl_Keyword">true</span>) {
+        <span class="perl_DataType">int</span> remaining = b.<span class="perl_Function">length</span> - filled;
+	    <span class="perl_Function">readFully</span>(in, b, filled, remaining);
+        <span class="perl_Keyword">if</span> (b.<span class="perl_Function">length</span> == length) {
+            <span class="perl_Keyword">break</span>;
+        }
+        filled = b.<span class="perl_Function">length</span>;
+        <span class="perl_Keyword">if</span> (length - b.<span class="perl_Function">length</span> &lt;= b.<span class="perl_Function">length</span>) {
+            <span class="perl_Comment">// Allocate final length.  Condition avoids overflow.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>            b = Arrays.<span class="perl_Function">copyOf</span>(b, length);
+        } <span class="perl_Keyword">else</span> {
+            b = Arrays.<span class="perl_Function">copyOf</span>(b, b.<span class="perl_Function">length</span> * <span class="perl_Float">2</span>);
+        }
+    }
+    <span class="perl_Keyword">return</span> b;
+}
+
+<span class="perl_DataType">static</span> <span class="perl_DataType">void</span> <span class="perl_Function">readFully</span>(InputStream in,<span class="perl_DataType">byte</span>[] b, <span class="perl_DataType">int</span> off, <span class="perl_DataType">int</span> len)
+	    <span class="perl_Keyword">throws</span> IOException {
+	<span class="perl_DataType">int</span> startlen = len;
+    <span class="perl_Keyword">while</span> (len &gt; <span class="perl_Float">0</span>) {
+        <span class="perl_DataType">int</span> count = in.<span class="perl_Function">read</span>(b, off, len);
+        <span class="perl_Keyword">if</span> (count &lt; <span class="perl_Float">0</span>) {
+            <span class="perl_Keyword">throw</span> <span class="perl_Keyword">new</span> EOFException();
+        }
+        off += count;
+        len -= count;
+    }
+}
+</pre></div></div><br class="example-break" /><div class="para">
+			When reading data into arrays, hash maps or hash sets, use the default constructor and do not specify a size hint. You can simply add the elements to the collection as you read them.
+		</div></div><div class="section" id="sect-Defensive_Coding-Java-Language-Resources"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.1.2. Resource management</h3></div></div></div><div class="para">
+			Unlike C++, Java does not offer destructors which can deallocate resources in a predictable fashion. All resource management has to be manual, at the usage site. (Finalizers are generally not usable for resource management, especially in high-performance code; see <a class="xref" href="#sect-Defensive_Coding-Java-Language-Finalizers">Section 3.1.3, “Finalizers”</a>.)
+		</div><div class="para">
+			The first option is the <code class="literal">try</code>-<code class="literal">finally</code> construct, as shown in <a class="xref" href="#ex-Defensive_Coding-Java-Language-Finally">Example 3.2, “Resource management with a <code class="literal">try</code>-<code class="literal">finally</code> block”</a>. The code in the <code class="literal">finally</code> block should be as short as possible and should not throw any exceptions.
+		</div><div class="example" id="ex-Defensive_Coding-Java-Language-Finally"><h6>Example 3.2. Resource management with a <code class="literal">try</code>-<code class="literal">finally</code> block</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+InputStream in = <span class="perl_Keyword">new</span> BufferedInputStream(<span class="perl_Keyword">new</span> FileInputStream(path));
+<span class="perl_Keyword">try</span> {
+    <span class="perl_Function">readFile</span>(in);
+} <span class="perl_Keyword">finally</span> {
+    in.<span class="perl_Function">close</span>();
+}
+</pre></div></div><br class="example-break" /><div class="para">
+			Note that the resource allocation happens <span class="emphasis"><em>outside</em></span> the <code class="literal">try</code> block, and that there is no <code class="literal">null</code> check in the <code class="literal">finally</code> block. (Both are common artifacts stemming from IDE code templates.)
+		</div><div class="para">
+			If the resource object is created freshly and implements the <code class="literal">java.lang.AutoCloseable</code> interface, the code in <a class="xref" href="#ex-Defensive_Coding-Java-Language-TryWithResource">Example 3.3, “Resource management using the <code class="literal">try</code>-with-resource construct”</a> can be used instead. The Java compiler will automatically insert the <code class="function">close()</code> method call in a synthetic <code class="literal">finally</code> block.
+		</div><div class="example" id="ex-Defensive_Coding-Java-Language-TryWithResource"><h6>Example 3.3. Resource management using the <code class="literal">try</code>-with-resource construct</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Keyword">try</span> (InputStream in = <span class="perl_Keyword">new</span> BufferedInputStream(<span class="perl_Keyword">new</span> FileInputStream(path))) {
+    <span class="perl_Function">readFile</span>(in);
+}
+</pre></div></div><br class="example-break" /><div class="para">
+			To be compatible with the <code class="literal">try</code>-with-resource construct, new classes should name the resource deallocation method <code class="function">close()</code>, and implement the <code class="literal">AutoCloseable</code> interface (the latter breaking backwards compatibility with Java 6). However, using the <code class="literal">try</code>-with-resource construct with objects that are not freshly allocated is at best awkward, and an explicit <code class="literal">finally</code> block is usually the better approach.
+		</div><div class="para">
+			In general, it is best to design the programming interface in such a way that resource deallocation methods like <code class="function">close()</code> cannot throw any (checked or unchecked) exceptions, but this should not be a reason to ignore any actual error conditions.
+		</div></div><div class="section" id="sect-Defensive_Coding-Java-Language-Finalizers"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.1.3. Finalizers</h3></div></div></div><div class="para">
+			Finalizers can be used a last-resort approach to free resources which would otherwise leak. Finalization is unpredictable, costly, and there can be a considerable delay between the last reference to an object going away and the execution of the finalizer. Generally, manual resource management is required; see <a class="xref" href="#sect-Defensive_Coding-Java-Language-Resources">Section 3.1.2, “Resource management”</a>.
+		</div><div class="para">
+			Finalizers should be very short and should only deallocate native or other external resources held directly by the object being finalized. In general, they must use synchronization: Finalization necessarily happens on a separate thread because it is inherently concurrent. There can be multiple finalization threads, and despite each object being finalized at most once, the finalizer must not assume that it has exclusive access to the object being finalized (in the <code class="literal">this</code> pointer).
+		</div><div class="para">
+			Finalizers should not deallocate resources held by other objects, especially if those objects have finalizers on their own. In particular, it is a very bad idea to define a finalizer just to invoke the resource deallocation method of another object, or overwrite some pointer fields.
+		</div><div class="para">
+			Finalizers are not guaranteed to run at all. For instance, the virtual machine (or the machine underneath) might crash, preventing their execution.
+		</div><div class="para">
+			Objects with finalizers are garbage-collected much later than objects without them, so using finalizers to zero out key material (to reduce its undecrypted lifetime in memory) may have the opposite effect, keeping objects around for much longer and prevent them from being overwritten in the normal course of program execution.
+		</div><div class="para">
+			For the same reason, code which allocates objects with finalizers at a high rate will eventually fail (likely with a <code class="literal">java.lang.OutOfMemoryError</code> exception) because the virtual machine has finite resources for keeping track of objects pending finalization. To deal with that, it may be necessary to recycle objects with finalizers.
+		</div><div class="para">
+			The remarks in this section apply to finalizers which are implemented by overriding the <code class="function">finalize()</code> method, and to custom finalization using reference queues.
+		</div></div><div class="section" id="sect-Defensive_Coding-Java-Language-Exceptions"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.1.4. Recovering from exceptions and errors</h3></div></div></div><div class="para">
+			Java exceptions come in three kinds, all ultimately deriving from <code class="literal">java.lang.Throwable</code>:
+		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+					<span class="emphasis"><em>Run-time exceptions</em></span> do not have to be declared explicitly and can be explicitly thrown from any code, by calling code which throws them, or by triggering an error condition at run time, like division by zero, or an attempt at an out-of-bounds array access. These exceptions derive from from the <code class="literal">java.lang.RuntimeException</code> class (perhaps indirectly).
+				</div></li><li class="listitem"><div class="para">
+					<span class="emphasis"><em>Checked exceptions</em></span> have to be declared explicitly by functions that throw or propagate them. They are similar to run-time exceptions in other regards, except that there is no language construct to throw them (except the <code class="literal">throw</code> statement itself). Checked exceptions are only present at the Java language level and are only enforced at compile time. At run time, the virtual machine does not know about them and permits throwing exceptions from any code. Checked exceptions must derive (perhaps indirectly) from the <code class="literal">java.lang.Exception</code> class, but not from <code class="literal">java.lang.RuntimeException</code>.
+				</div></li><li class="listitem"><div class="para">
+					<span class="emphasis"><em>Errors</em></span> are exceptions which typically reflect serious error conditions. They can be thrown at any point in the program, and do not have to be declared (unlike checked exceptions). In general, it is not possible to recover from such errors; more on that below, in <a class="xref" href="#sect-Defensive_Coding-Java-Language-Exceptions-Errors">Section 3.1.4.1, “The difficulty of catching errors”</a>. Error classes derive (perhaps indirectly) from <code class="literal">java.lang.Error</code>, or from <code class="literal">java.lang.Throwable</code>, but not from <code class="literal">java.lang.Exception</code>.
+				</div></li></ul></div><div class="para">
+			The general expection is that run-time errors are avoided by careful programming (e.g., not dividing by zero). Checked exception are expected to be caught as they happen (e.g., when an input file is unexpectedly missing). Errors are impossible to predict and can happen at any point and reflect that something went wrong beyond all expectations.
+		</div><div class="section" id="sect-Defensive_Coding-Java-Language-Exceptions-Errors"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">3.1.4.1. The difficulty of catching errors</h4></div></div></div><div class="para">
+				Errors (that is, exceptions which do not (indirectly) derive from <code class="literal">java.lang.Exception</code>), have the peculiar property that catching them is problematic. There are several reasons for this:
+			</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+						The error reflects a failed consistenty check, for example, <code class="literal">java.lang.AssertionError</code>.
+					</div></li><li class="listitem"><div class="para">
+						The error can happen at any point, resulting in inconsistencies due to half-updated objects. Examples are <code class="literal">java.lang.ThreadDeath</code>, <code class="literal">java.lang.OutOfMemoryError</code> and <code class="literal">java.lang.StackOverflowError</code>.
+					</div></li><li class="listitem"><div class="para">
+						The error indicates that virtual machine failed to provide some semantic guarantees by the Java programming language. <code class="literal">java.lang.ExceptionInInitializerError</code> is an example—it can leave behind a half-initialized class.
+					</div></li></ul></div><div class="para">
+				In general, if an error is thrown, the virtual machine should be restarted as soon as possible because it is in an inconsistent state. Continuing running as before can have unexpected consequences. However, there are legitimate reasons for catching errors because not doing so leads to even greater problems.
+			</div><div class="para">
+				Code should be written in a way that avoids triggering errors. See <a class="xref" href="#sect-Defensive_Coding-Java-Language-ReadArray">Section 3.1.1, “Inceasing robustness when reading arrays”</a> for an example.
+			</div><div class="para">
+				It is usually necessary to log errors. Otherwise, no trace of the problem might be left anywhere, making it very difficult to diagnose realted failures. Consequently, if you catch <code class="literal">java.lang.Exception</code> to log and suppress all unexpected exceptions (for example, in a request dispatching loop), you should consider switching to <code class="literal">java.lang.Throwable</code> instead, to also cover errors.
+			</div><div class="para">
+				The other reason mainly applies to such request dispatching loops: If you do not catch errors, the loop stops looping, resulting in a denial of service.
+			</div><div class="para">
+				However, if possible, catching errors should be coupled with a way to signal the requirement of a virtual machine restart.
+			</div></div></div></div><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-Java-LowLevel" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">3.2. Low-level features of the virtual machine</h2></div></div></div><div class="section" id="sect-Defensive_Coding-Java-Reflection"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.2.1. <code class="literal">Reflection and private parts</code></h3></div></div></div><div class="para">
+			The <code class="function">setAccessible(boolean)</code> method of the <code class="literal">java.lang.reflect.AccessibleObject</code> class allows a program to disable language-defined access rules for specific constructors, methods, or fields. Once the access checks are disabled, any code can use the <code class="literal">java.lang.reflect.Constructor</code>, <code class="literal">java.lang.reflect.Method</code>, or <code class="literal">java.lang.reflect.Field</code> object to access the underlying Java entity, without further permission checks. This breaks encapsulation and can undermine the stability of the virtual machine. (In contrast, without using the <code class="function">setAccessible(boolean)</code> method, this should not happen because all the language-defined checks still apply.)
+		</div><div class="para">
+			This feature should be avoided if possible.
+		</div></div><div class="section" id="sect-Defensive_Coding-Java-JNI"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.2.2. Java Native Interface (JNI)</h3></div></div></div><div class="para">
+			The Java Native Interface allows calling from Java code functions specifically written for this purpose, usually in C or C++.
+		</div><div class="para">
+			The transition between the Java world and the C world is not fully type-checked, and the C code can easily break the Java virtual machine semantics. Therefore, extra care is needed when using this functionality.
+		</div><div class="para">
+			To provide a moderate amount of type safety, it is recommended to recreate the class-specific header file using <span class="application"><strong>javah</strong></span> during the build process, include it in the implementation, and use the <code class="option">-Wmissing-declarations</code> option.
+		</div><div class="para">
+			Ideally, the required data is directly passed to static JNI methods and returned from them, and the code and the C side does not have to deal with accessing Java fields (or even methods).
+		</div><div class="para">
+			When using <code class="function">GetPrimitiveArrayCritical</code> or <code class="function">GetStringCritical</code>, make sure that you only perform very little processing between the get and release operations. Do not access the file system or the network, and not perform locking, because that might introduce blocking. When processing large strings or arrays, consider splitting the computation into multiple sub-chunks, so that you do not prevent the JVM from reaching a safepoint for extended periods of time.
+		</div><div class="para">
+			If necessary, you can use the Java <code class="literal">long</code> type to store a C pointer in a field of a Java class. On the C side, when casting between the <code class="literal">jlong</code> value and the pointer on the C side,
+		</div><div class="para">
+			You should not try to perform pointer arithmetic on the Java side (that is, you should treat pointer-carrying <code class="literal">long</code> values as opaque). When passing a slice of an array to the native code, follow the Java convention and pass it as the base array, the integer offset of the start of the slice, and the integer length of the slice. On the native side, check the offset/length combination against the actual array length, and use the offset to compute the pointer to the beginning of the array.
+		</div><div class="example" id="ex-Defensive_Coding-Java-JNI-Pointers"><h6>Example 3.4. Array length checking in JNI code</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+JNIEXPORT jint JNICALL Java_sum
+  (JNIEnv *jEnv, jclass clazz, jbyteArray buffer, jint offset, jint length)
+{
+  assert(<span class="perl_Keyword">sizeof</span>(jint) == <span class="perl_Keyword">sizeof</span>(<span class="perl_DataType">unsigned</span>));
+  <span class="perl_Keyword">if</span> (offset &lt; 0 || length &lt; 0) {
+    (*jEnv)-&gt;ThrowNew(jEnv, arrayIndexOutOfBoundsExceptionClass,
+		      <span class="perl_String">"negative offset/length"</span>);
+    <span class="perl_Keyword">return</span> 0;
+  }
+  <span class="perl_DataType">unsigned</span> uoffset = offset;
+  <span class="perl_DataType">unsigned</span> ulength = length;
+  <span class="perl_Comment">// This cannot overflow because of the check above.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>  <span class="perl_DataType">unsigned</span> totallength = uoffset + ulength;
+  <span class="perl_DataType">unsigned</span> actuallength = (*jEnv)-&gt;GetArrayLength(jEnv, buffer);
+  <span class="perl_Keyword">if</span> (totallength &gt; actuallength) {
+    (*jEnv)-&gt;ThrowNew(jEnv, arrayIndexOutOfBoundsExceptionClass,
+		      <span class="perl_String">"offset + length too large"</span>);
+    <span class="perl_Keyword">return</span> 0;
+  }
+  <span class="perl_DataType">unsigned</span> <span class="perl_DataType">char</span> *ptr = (*jEnv)-&gt;GetPrimitiveArrayCritical(jEnv, buffer, 0);
+  <span class="perl_Keyword">if</span> (ptr == NULL) {
+    <span class="perl_Keyword">return</span> 0;
+  }
+  <span class="perl_DataType">unsigned</span> <span class="perl_DataType">long</span> <span class="perl_DataType">long</span> sum = 0;
+  <span class="perl_Keyword">for</span> (<span class="perl_DataType">unsigned</span> <span class="perl_DataType">char</span> *p = ptr + uoffset, *end = p + ulength; p != end; ++p) {
+    sum += *p;
+  }
+  (*jEnv)-&gt;ReleasePrimitiveArrayCritical(jEnv, buffer, ptr, 0);
+  <span class="perl_Keyword">return</span> sum;
+}
+</pre></div></div><br class="example-break" /><div class="para">
+			In any case, classes referring to native resources must be declared <code class="literal">final</code>, and must not be serializeable or cloneable. Initialization and mutation of the state used by the native side must be controlled carefully. Otherwise, it might be possible to create an object with inconsistent native state which results in a crash (or worse) when used (or perhaps only finalized) later. If you need both Java inheritance and native resources, you should consider moving the native state to a separate class, and only keep a reference to objects of that class. This way, cloning and serialization issues can be avoided in most cases.
+		</div><div class="para">
+			If there are native resources associated with an object, the class should have an explicit resource deallocation method (<a class="xref" href="#sect-Defensive_Coding-Java-Language-Resources">Section 3.1.2, “Resource management”</a>) and a finalizer (<a class="xref" href="#sect-Defensive_Coding-Java-Language-Finalizers">Section 3.1.3, “Finalizers”</a>) as a last resort. The need for finalization means that a minimum amount of synchronization is needed. Code on the native side should check that the object is not in a closed/freed state.
+		</div><div class="para">
+			Many JNI functions create local references. By default, these persist until the JNI-implemented method returns. If you create many such references (e.g., in a loop), you may have to free them using <code class="function">DeleteLocalRef</code>, or start using <code class="function">PushLocalFrame</code> and <code class="function">PopLocalFrame</code>. Global references must be deallocated with <code class="function">DeleteGlobalRef</code>, otherwise there will be a memory leak, just as with <code class="function">malloc</code> and <code class="function">free</code>.
+		</div><div class="para">
+			When throwing exceptions using <code class="function">Throw</code> or <code class="function">ThrowNew</code>, be aware that these functions return regularly. You have to return control manually to the JVM.
+		</div><div class="para">
+			Technically, the <code class="literal">JNIEnv</code> pointer is not necessarily constant during the lifetime of your JNI module. Storing it in a global variable is therefore incorrect. Particularly if you are dealing with callbacks, you may have to store the pointer in a thread-local variable (defined with <code class="literal">__thread</code>). It is, however, best to avoid the complexity of calling back into Java code.
+		</div><div class="para">
+			Keep in mind that C/C++ and Java are different languages, despite very similar syntax for expressions. The Java memory model is much more strict than the C or C++ memory models, and native code needs more synchronization, usually using JVM facilities or POSIX threads mutexes. Integer overflow in Java is defined, but in C/C++ it is not (for the <code class="literal">jint</code> and <code class="literal">jlong</code> types).
+		</div></div><div class="section" id="sect-Defensive_Coding-Java-MiscUnsafe"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.2.3. <code class="literal">sun.misc.Unsafe</code></h3></div></div></div><div class="para">
+			The <code class="literal">sun.misc.Unsafe</code> class is unportable and contains many functions explicitly designed to break Java memory safety (for performance and debugging). If possible, avoid using this class.
+		</div></div></div><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-Java-SecurityManager" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">3.3. Interacting with the security manager</h2></div></div></div><div class="para">
+		The Java platform is largely implemented in the Java language itself. Therefore, within the same JVM, code runs which is part of the Java installation and which is trusted, but there might also be code which comes from untrusted sources and is restricted by the Java sandbox (to varying degrees). The <span class="emphasis"><em>security manager</em></span> draws a line between fully trusted, partially trusted and untrusted code.
+	</div><div class="para">
+		The type safety and accessibility checks provided by the Java language and JVM would be sufficient to implement a sandbox. However, only some Java APIs employ such a capabilities-based approach. (The Java SE library contains many public classes with public constructors which can break any security policy, such as <code class="literal">java.io.FileOutputStream</code>.) Instead, critical functionality is protected by <span class="emphasis"><em>stack inspection</em></span>: At a security check, the stack is walked from top (most-nested) to bottom. The security check fails if a stack frame for a method is encountered whose class lacks the permission which the security check requires.
+	</div><div class="para">
+		This simple approach would not allow untrusted code (which lacks certain permissions) to call into trusted code while the latter retains trust. Such trust transitions are desirable because they enable Java as an implementation language for most parts of the Java platform, including security-relevant code. Therefore, there is a mechanism to mark certain stack frames as trusted (<a class="xref" href="#sect-Defensive_Coding-Java-SecurityManager-Privileged">Section 3.3.4, “Re-gaining privileges”</a>).
+	</div><div class="para">
+		In theory, it is possible to run a Java virtual machine with a security manager that acts very differently from this approach, but a lot of code expects behavior very close to the platform default (including many classes which are part of the OpenJDK implementation).
+	</div><div class="section" id="sect-Defensive_Coding-Java-SecurityManager-Compatible"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.3.1. Security manager compatibility</h3></div></div></div><div class="para">
+			A lot of code can run without any additional permissions at all, with little changes. The following guidelines should help to increase compatibility with a restrictive security manager.
+		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+					When retrieving system properties using <code class="function">System.getProperty(String)</code> or similar methods, catch <code class="literal">SecurityException</code> exceptions and treat the property as unset.
+				</div></li><li class="listitem"><div class="para">
+					Avoid unnecessary file system or network access.
+				</div></li><li class="listitem"><div class="para">
+					Avoid explicit class loading. Access to a suitable class loader might not be available when executing as untrusted code.
+				</div></li></ul></div><div class="para">
+			If the functionality you are implementing absolutely requires privileged access and this functionality has to be used from untrusted code (hopefully in a restricted and secure manner), see <a class="xref" href="#sect-Defensive_Coding-Java-SecurityManager-Privileged">Section 3.3.4, “Re-gaining privileges”</a>.
+		</div></div><div class="section" id="sect-Defensive_Coding-Java-SecurityManager-Activate"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.3.2. Activating the security manager</h3></div></div></div><div class="para">
+			The usual command to launch a Java application, <code class="command">java</code>, does not activate the security manager. Therefore, the virtual machine does not enforce any sandboxing restrictions, even if explicitly requested by the code (for example, as described in <a class="xref" href="#sect-Defensive_Coding-Java-SecurityManager-Unprivileged">Section 3.3.3, “Reducing trust in code”</a>).
+		</div><div class="para">
+			The <code class="option">-Djava.security.manager</code> option activates the security manager, with the fairly restrictive default policy. With a very permissive policy, most Java code will run unchanged. Assuming the policy in <a class="xref" href="#ex-Defensive_Coding-Java-SecurityManager-GrantAll">Example 3.5, “Most permissve OpenJDK policy file”</a> has been saved in a file <code class="filename">grant-all.policy</code>, this policy can be activated using the option <code class="option">-Djava.security.policy=grant-all.policy</code> (in addition to the <code class="option">-Djava.security.manager</code> option).
+		</div><div class="example" id="ex-Defensive_Coding-Java-SecurityManager-GrantAll"><h6>Example 3.5. Most permissve OpenJDK policy file</h6><div class="example-contents"><pre class="programlisting">
+grant {
+      permission java.security.AllPermission;
+};
+</pre></div></div><br class="example-break" /><div class="para">
+			With this most permissive policy, the security manager is still active, and explicit requests to drop privileges will be honored.
+		</div></div><div class="section" id="sect-Defensive_Coding-Java-SecurityManager-Unprivileged"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.3.3. Reducing trust in code</h3></div></div></div><div class="para">
+			<a class="xref" href="#ex-Defensive_Coding-Java-SecurityManager-Unprivileged">Example 3.6, “Using the security manager to run code with reduced privileges”</a> shows how to run a piece code of with reduced privileges.
+		</div><div class="example" id="ex-Defensive_Coding-Java-SecurityManager-Unprivileged"><h6>Example 3.6. Using the security manager to run code with reduced privileges</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+Permissions permissions = <span class="perl_Keyword">new</span> Permissions();
+        ProtectionDomain protectionDomain =
+    <span class="perl_Keyword">new</span> ProtectionDomain(<span class="perl_Keyword">null</span>, permissions);
+        AccessControlContext context = <span class="perl_Keyword">new</span> AccessControlContext(
+            <span class="perl_Keyword">new</span> ProtectionDomain[] { protectionDomain });
+
+<span class="perl_Comment">// This is expected to succeed.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span class="perl_Keyword">try</span> (FileInputStream in = <span class="perl_Keyword">new</span> FileInputStream(path)) {
+    System.<span class="perl_Function">out.format(</span><span class="perl_String">"FileInputStream: </span><span class="perl_Char">%s%n</span><span class="perl_String">", in)</span>;
+}
+
+AccessController.<span class="perl_Function">doPrivileged</span>(<span class="perl_Keyword">new</span> PrivilegedExceptionAction&lt;<span class="perl_DataType">Void</span>&gt;() {
+	@Override
+        <span class="perl_Keyword">public</span> <span class="perl_DataType">Void</span> <span class="perl_Function">run</span>() <span class="perl_Keyword">throws</span> Exception {
+	    <span class="perl_Comment">// This code runs with reduced privileges and is</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>	    <span class="perl_Comment">// expected to fail.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>	    <span class="perl_Keyword">try</span> (FileInputStream in = <span class="perl_Keyword">new</span> FileInputStream(path)) {
+		System.<span class="perl_Function">out.format(</span><span class="perl_String">"FileInputStream: </span><span class="perl_Char">%s%n</span><span class="perl_String">", in)</span>;
+	    }
+	    <span class="perl_Keyword">return</span> <span class="perl_Keyword">null</span>;
+	}
+    }, context);
+</pre></div></div><br class="example-break" /><div class="para">
+			The example above does not add any additional permissions to the <code class="literal">permissions</code> object. If such permissions are necessary, code like the following (which grants read permission on all files in the current directory) can be used:
+		</div><div class="informalexample"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+permissions.<span class="perl_Function">add</span>(<span class="perl_Keyword">new</span> FilePermission(
+            System.<span class="perl_Function">getProperty</span>(<span class="perl_String">"user.dir"</span>) + <span class="perl_String">"/-"</span>, <span class="perl_String">"read"</span>));
+</pre></div><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
+				Calls to the <code class="function">java.security.AccessController.doPrivileged()</code> methods do not enforce any additional restriction if no security manager has been set. Except for a few special exceptions, the restrictions no longer apply if the <code class="function">doPrivileged()</code> has returned, even to objects created by the code which ran with reduced privileges. (This applies to object finalization in particular.)
+			</div><div class="para">
+				The example code above does not prevent the called code from calling the <code class="function">java.security.AccessController.doPrivileged()</code> methods. This mechanism should be considered an additional safety net, but it still can be used to prevent unexpected behavior of trusted code. As long as the executed code is not dynamic and came with the original application or library, the sandbox is fairly effective.
+			</div><div class="para">
+				The <code class="literal">context</code> argument in <a class="xref" href="#ex-Defensive_Coding-Java-SecurityManager-Unprivileged">Example 3.6, “Using the security manager to run code with reduced privileges”</a> is extremely important—otherwise, this code would increase privileges instead of reducing them.
+			</div></div></div><div class="para">
+			For activating the security manager, see <a class="xref" href="#sect-Defensive_Coding-Java-SecurityManager-Activate">Section 3.3.2, “Activating the security manager”</a>. Unfortunately, this affects the virtual machine as a whole, so it is not possible to do this from a library.
+		</div></div><div class="section" id="sect-Defensive_Coding-Java-SecurityManager-Privileged"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.3.4. Re-gaining privileges</h3></div></div></div><div class="para">
+			Ordinarily, when trusted code is called from untrusted code, it loses its privileges (because of the untrusted stack frames visible to stack inspection). The <code class="function">java.security.AccessController.doPrivileged()</code> family of methods provides a controlled backdoor from untrusted to trusted code.
+		</div><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
+				By design, this feature can undermine the Java security model and the sandbox. It has to be used very carefully. Most sandbox vulnerabilities can be traced back to its misuse.
+			</div></div></div><div class="para">
+			In essence, the <code class="function">doPrivileged()</code> methods cause the stack inspection to end at their call site. Untrusted code further down the call stack becomes invisible to security checks.
+		</div><div class="para">
+			The following operations are common and safe to perform with elevated privileges.
+		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+					Reading custom system properties with fixed names, especially if the value is not propagated to untrusted code. (File system paths including installation paths, host names and user names are sometimes considered private information and need to be protected.)
+				</div></li><li class="listitem"><div class="para">
+					Reading from the file system at fixed paths, either determined at compile time or by a system property. Again, leaking the file contents to the caller can be problematic.
+				</div></li><li class="listitem"><div class="para">
+					Accessing network resources under a fixed address, name or URL, derived from a system property or configuration file, information leaks not withstanding.
+				</div></li></ul></div><div class="para">
+			<a class="xref" href="#ex-Defensive_Coding-Java-SecurityManager-Privileged">Example 3.7, “Using the security manager to run code with increased privileges”</a> shows how to request additional privileges.
+		</div><div class="example" id="ex-Defensive_Coding-Java-SecurityManager-Privileged"><h6>Example 3.7. Using the security manager to run code with increased privileges</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// This is expected to fail.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span class="perl_Keyword">try</span> {
+    System.<span class="perl_Function">out</span>.<span class="perl_Function">println</span>(System.<span class="perl_Function">getProperty</span>(<span class="perl_String">"user.home"</span>));
+} <span class="perl_Keyword">catch</span> (SecurityException e) {
+    e.<span class="perl_Function">printStackTrace</span>(System.<span class="perl_Function">err</span>);
+}
+AccessController.<span class="perl_Function">doPrivileged</span>(<span class="perl_Keyword">new</span> PrivilegedAction&lt;<span class="perl_DataType">Void</span>&gt;() {
+        <span class="perl_Keyword">public</span> <span class="perl_DataType">Void</span> <span class="perl_Function">run</span>() {
+            <span class="perl_Comment">// This should work.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>            System.<span class="perl_Function">out</span>.<span class="perl_Function">println</span>(System.<span class="perl_Function">getProperty</span>(<span class="perl_String">"user.home"</span>));
+            <span class="perl_Keyword">return</span> <span class="perl_Keyword">null</span>;
+        }
+    });
+</pre></div></div><br class="example-break" /><div class="para">
+			Obviously, this only works if the class containing the call to <code class="function">doPrivileged()</code> is marked trusted (usually because it is loaded from a trusted class loader).
+		</div><div class="para">
+			When writing code that runs with elevated privileges, make sure that you follow the rules below.
+		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+					Make the privileged code as small as possible. Perform as many computations as possible before and after the privileged code section, even if it means that you have to define a new class to pass the data around.
+				</div></li><li class="listitem"><div class="para">
+					Make sure that you either control the inputs to the privileged code, or that the inputs are harmless and cannot affect security properties of the privileged code.
+				</div></li><li class="listitem"><div class="para">
+					Data that is returned from or written by the privileged code must either be restricted (that is, it cannot be accessed by untrusted code), or must be harmless. Otherwise, privacy leaks or information disclosures which affect security properties can be the result.
+				</div></li></ul></div><div class="para">
+			If the code calls back into untrusted code at a later stage (or performs other actions under control from the untrusted caller), you must obtain the original security context and restore it before performing the callback, as in <a class="xref" href="#ex-Defensive_Coding-Java-SecurityManager-Callback">Example 3.8, “Restoring privileges when invoking callbacks”</a>. (In this example, it would be much better to move the callback invocation out of the privileged code section, of course.)
+		</div><div class="example" id="ex-Defensive_Coding-Java-SecurityManager-Callback"><h6>Example 3.8. Restoring privileges when invoking callbacks</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Keyword">interface</span> Callback&lt;T&gt; {
+	T <span class="perl_Function">call</span>(<span class="perl_DataType">boolean</span> flag);
+}
+
+<span class="perl_Keyword">class</span> CallbackInvoker&lt;T&gt; {
+	<span class="perl_Keyword">private</span> <span class="perl_DataType">final</span> AccessControlContext context;
+	Callback&lt;T&gt; callback;
+
+	<span class="perl_Function">CallbackInvoker</span>(Callback&lt;T&gt; callback) {
+	    context = AccessController.<span class="perl_Function">getContext</span>();
+	    <span class="perl_Keyword">this</span>.<span class="perl_Function">callback</span> = callback;
+	}
+
+	<span class="perl_Keyword">public</span> T <span class="perl_Function">invoke</span>() {
+	    <span class="perl_Comment">// Obtain increased privileges.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>	    <span class="perl_Keyword">return</span> AccessController.<span class="perl_Function">doPrivileged</span>(<span class="perl_Keyword">new</span> PrivilegedAction&lt;T&gt;() {
+		    @Override
+		    <span class="perl_Keyword">public</span> T <span class="perl_Function">run</span>() {
+			<span class="perl_Comment">// This operation would fail without</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>			<span class="perl_Comment">// additional privileges.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>			<span class="perl_DataType">final</span> <span class="perl_DataType">boolean</span> flag = <span class="perl_DataType">Boolean</span>.<span class="perl_Function">getBoolean</span>(<span class="perl_String">"some.property"</span>);
+
+			<span class="perl_Comment">// Restore the original privileges.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>			<span class="perl_Keyword">return</span> AccessController.<span class="perl_Function">doPrivileged</span>(
+                        <span class="perl_Keyword">new</span> PrivilegedAction&lt;T&gt;() {
+				@Override
+				<span class="perl_Keyword">public</span> T <span class="perl_Function">run</span>() {
+				    <span class="perl_Keyword">return</span> callback.<span class="perl_Function">call</span>(flag);
+				}
+			    }, context);
+		    }
+		});
+	}
+}
+</pre></div></div><br class="example-break" /></div></div></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Python" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 4. The Python Programming Language</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#idm229859224848">4.1. Dangerous standard library features</a></span></dt><dt><span class="section"><a href="#idm229833191040">4.2. Run-time compilation and code generation</a></span></dt><dt><span class="section"><a href="#idm229732676608">4.3. Sandboxing</a></span></dt></dl></div><div class="para">
 		Python provides memory safety by default, so low-level security vulnerabilities are rare and typically needs fixing the Python interpreter or standard library itself.
 	</div><div class="para">
 		Other sections with Python-specific advice include:
 	</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
-				<a class="xref" href="#chap-Defensive_Coding-Tasks-Temporary_Files">Chapter 7, <em>Temporary files</em></a>
+				<a class="xref" href="#chap-Defensive_Coding-Tasks-Temporary_Files">Chapter 8, <em>Temporary files</em></a>
 			</div></li><li class="listitem"><div class="para">
-				<a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-Creation">Section 8.1, “Safe process creation”</a>
+				<a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-Creation">Section 9.1, “Safe process creation”</a>
 			</div></li><li class="listitem"><div class="para">
-				<a class="xref" href="#chap-Defensive_Coding-Tasks-Serialization">Chapter 9, <em>Serialization and Deserialization</em></a>, in particular <a class="xref" href="#sect-Defensive_Coding-Tasks-Serialization-Library">Section 9.3, “Library support for deserialization”</a>
+				<a class="xref" href="#chap-Defensive_Coding-Tasks-Serialization">Chapter 10, <em>Serialization and Deserialization</em></a>, in particular <a class="xref" href="#sect-Defensive_Coding-Tasks-Serialization-Library">Section 10.3, “Library support for deserialization”</a>
 			</div></li><li class="listitem"><div class="para">
-				<a class="xref" href="#sect-Defensive_Coding-Tasks-Cryptography-Randomness">Section 10.2, “Randomness”</a>
-			</div></li></ul></div><div class="section" id="idm224093374560"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224093374560">3.1. Dangerous standard library features</h2></div></div></div><div class="para">
+				<a class="xref" href="#sect-Defensive_Coding-Tasks-Cryptography-Randomness">Section 11.2, “Randomness”</a>
+			</div></li></ul></div><div class="section" id="idm229859224848"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229859224848">4.1. Dangerous standard library features</h2></div></div></div><div class="para">
 			Some areas of the standard library, notably the <code class="literal">ctypes</code> module, do not provide memory safety guarantees comparable to the rest of Python. If such functionality is used, the advice in <a class="xref" href="#sect-Defensive_Coding-C-Language">Section 1.1, “The core language”</a> should be followed.
-		</div></div><div class="section" id="idm224090144816"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224090144816">3.2. Run-time compilation and code generation</h2></div></div></div><div class="para">
+		</div></div><div class="section" id="idm229833191040"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229833191040">4.2. Run-time compilation and code generation</h2></div></div></div><div class="para">
 			The following Python functions and statements related to code execution should be avoided:
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					<code class="function">compile</code>
@@ -396,13 +724,13 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 					<code class="function">execfile</code>
 				</div></li></ul></div><div class="para">
 			If you need to parse integers or floating point values, use the <code class="function">int</code> and <code class="function">float</code> functions instead of <code class="function">eval</code>. Sandboxing untrusted Python code does not work reliably.
-		</div></div><div class="section" id="idm224066781008"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224066781008">3.3. Sandboxing</h2></div></div></div><div class="para">
+		</div></div><div class="section" id="idm229732676608"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229732676608">4.3. Sandboxing</h2></div></div></div><div class="para">
 			The <code class="literal">rexec</code> Python module cannot safely sandbox untrusted code and should not be used. The standard CPython implementation is not suitable for sandboxing.
-		</div></div></div></div><div class="part" id="idm224112582736"><div class="titlepage"><div><div text-align="center"><h1 class="title">Part II. Specific Programming Tasks</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-Library_Design">4. Library Design</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224058698096">4.1. State management</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224073326832">4.1.1. Global state</a></span></dt><dt><span class="section"><a href="#idm224103205584">4.1.2. Handles</a></span></dt></dl></dd><dt><span class="section"><a href="#idm224131585392">4.2. Object orientation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Library_Design-Callbacks">4.3. Callbacks</a></span></dt><dt><span class="section"><a href="#idm224081054656">4.4. Process attributes</a></span></dt></dl></dd><dt><
 span class="chapter"><a href="#sect-Defensive_Coding-Tasks-Descriptors">5. File Descriptor Management</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224009222352">5.1. Closing descriptors</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224103547520">5.1.1. Error handling during descriptor close</a></span></dt><dt><span class="section"><a href="#idm224112370128">5.1.2. Closing descriptors and race conditions</a></span></dt><dt><span class="section"><a href="#idm224092709312">5.1.3. Lingering state after close</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Descriptors-Child_Processes">5.2. Preventing file descriptor leaks to child processes</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Descriptors-Limit">5.3. Dealing with the <code class="function">select</code> limit</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-File_System">6. Fil
 e system manipulation</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Unowned">6.1. Working with files and directories owned by other users</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Foreign">6.2. Accessing the file system as a different user</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Limits">6.3. File system limits</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Features">6.4. File system features</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Free_Space">6.5. Checking free space</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-Temporary_Files">7. Temporary files</a></span></dt><dd><dl><dt><span class="section"><a href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">7.1. Obtaining the location of 
 temporary directory</a></span></dt><dt><span class="section"><a href="#idm224089283888">7.2. Named temporary files</a></span></dt><dt><span class="section"><a href="#idm224089108976">7.3. Temporary files without names</a></span></dt><dt><span class="section"><a href="#chap-Defensive_Coding-Tasks-Temporary_Directory">7.4. Temporary directories</a></span></dt><dt><span class="section"><a href="#idm224009366672">7.5. Compensating for unsafe file creation</a></span></dt></dl></dd><dt><span class="chapter"><a href="#sect-Defensive_Coding-Tasks-Processes">8. Processes</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Creation">8.1. Safe process creation</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224094150016">8.1.1. Obtaining the program path and the command line template</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-execve">8.1.2. Bypassing the shell</a></span></dt><dt><sp
 an class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-environ">8.1.3. Specifying the process environment</a></span></dt><dt><span class="section"><a href="#idm224093802512">8.1.4. Robust argument list processing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">8.1.5. Passing secrets to subprocesses</a></span></dt></dl></dd><dt><span class="section"><a href="#idm224132189984">8.2. Handling child process termination</a></span></dt><dt><span class="section"><a href="#idm224105146816">8.3. <code class="literal">SUID</code>/<code class="literal">SGID</code> processes</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-secure_getenv">8.3.1. Accessing environment variables</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Daemons">8.4. Daemons</a></span></dt><dt><span class="section"><a href="#idm224126233520">8.5. Semanti
 cs of command line arguments</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Fork-Parallel">8.6. <code class="function">fork</code> as a primitive for parallelism</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-Serialization">9. Serialization and Deserialization</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-Decoders">9.1. Recommendations for manually written decoders</a></span></dt><dt><span class="section"><a href="#idm224102938016">9.2. Protocol design</a></span></dt><dt><span class="section"><a href="#idm224078977104">9.3. Library support for deserialization</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML">9.4. XML serialization</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-External">9.4.1. External references</a></span></dt><dt><s
 pan class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Entities">9.4.2. Entity expansion</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-XInclude">9.4.3. XInclude processing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Validation">9.4.4. Algorithmic complexity of XML validation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Expat">9.4.5. Using Expat for XML parsing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-Qt">9.4.6. Using Qt for XML parsing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse">9.4.7. Using OpenJDK for XML parsing and validation</a></span></dt></dl></dd><dt><span class="section"><a href="#idm224085210432">9.5. Protocol Encoders</a></span></dt></dl></dd><dt><span class="chapter"><a h
 ref="#chap-Defensive_Coding-Tasks-Cryptography">10. Cryptography</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224051435104">10.1. Primitives</a></span></dt><dt><span class="section"><a href="#idm224036442016">10.2. Randomness</a></span></dt></dl></dd></dl></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-Library_Design" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 4. Library Design</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#idm224058698096">4.1. State management</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224073326832">4.1.1. Global state</a></span></dt><dt><span class="section"><a href="#idm224103205584">4.1.2. Handles</a></span></dt></dl></dd><dt><span class="section"><a href="#idm224131585392">4.2. Object orientation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Library_Design-Callbacks">4.3. Callbacks</
 a></span></dt><dt><span class="section"><a href="#idm224081054656">4.4. Process attributes</a></span></dt></dl></div><div class="para">
+		</div></div></div></div><div class="part" id="idm229816209168"><div class="titlepage"><div><div text-align="center"><h1 class="title">Part II. Specific Programming Tasks</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-Library_Design">5. Library Design</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229856213104">5.1. State management</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229812180688">5.1.1. Global state</a></span></dt><dt><span class="section"><a href="#idm229762827808">5.1.2. Handles</a></span></dt></dl></dd><dt><span class="section"><a href="#idm229820098704">5.2. Object orientation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Library_Design-Callbacks">5.3. Callbacks</a></span></dt><dt><span class="section"><a href="#idm229842418432">5.4. Process attributes</a></span></dt></dl></dd><dt><
 span class="chapter"><a href="#sect-Defensive_Coding-Tasks-Descriptors">6. File Descriptor Management</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229857828432">6.1. Closing descriptors</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229733350624">6.1.1. Error handling during descriptor close</a></span></dt><dt><span class="section"><a href="#idm229830981872">6.1.2. Closing descriptors and race conditions</a></span></dt><dt><span class="section"><a href="#idm229762827520">6.1.3. Lingering state after close</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Descriptors-Child_Processes">6.2. Preventing file descriptor leaks to child processes</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Descriptors-Limit">6.3. Dealing with the <code class="function">select</code> limit</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-File_System">7. Fil
 e system manipulation</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Unowned">7.1. Working with files and directories owned by other users</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Foreign">7.2. Accessing the file system as a different user</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Limits">7.3. File system limits</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Features">7.4. File system features</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Free_Space">7.5. Checking free space</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-Temporary_Files">8. Temporary files</a></span></dt><dd><dl><dt><span class="section"><a href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">8.1. Obtaining the location of 
 temporary directory</a></span></dt><dt><span class="section"><a href="#idm229842053056">8.2. Named temporary files</a></span></dt><dt><span class="section"><a href="#idm229832474720">8.3. Temporary files without names</a></span></dt><dt><span class="section"><a href="#chap-Defensive_Coding-Tasks-Temporary_Directory">8.4. Temporary directories</a></span></dt><dt><span class="section"><a href="#idm229826672128">8.5. Compensating for unsafe file creation</a></span></dt></dl></dd><dt><span class="chapter"><a href="#sect-Defensive_Coding-Tasks-Processes">9. Processes</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Creation">9.1. Safe process creation</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229774204624">9.1.1. Obtaining the program path and the command line template</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-execve">9.1.2. Bypassing the shell</a></span></dt><dt><sp
 an class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-environ">9.1.3. Specifying the process environment</a></span></dt><dt><span class="section"><a href="#idm229843251648">9.1.4. Robust argument list processing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">9.1.5. Passing secrets to subprocesses</a></span></dt></dl></dd><dt><span class="section"><a href="#idm229822712608">9.2. Handling child process termination</a></span></dt><dt><span class="section"><a href="#idm229865451024">9.3. <code class="literal">SUID</code>/<code class="literal">SGID</code> processes</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-secure_getenv">9.3.1. Accessing environment variables</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Daemons">9.4. Daemons</a></span></dt><dt><span class="section"><a href="#idm229815561008">9.5. Semanti
 cs of command line arguments</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Fork-Parallel">9.6. <code class="function">fork</code> as a primitive for parallelism</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap-Defensive_Coding-Tasks-Serialization">10. Serialization and Deserialization</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-Decoders">10.1. Recommendations for manually written decoders</a></span></dt><dt><span class="section"><a href="#idm229735133648">10.2. Protocol design</a></span></dt><dt><span class="section"><a href="#idm229819247040">10.3. Library support for deserialization</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML">10.4. XML serialization</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-External">10.4.1. External references</a></span></dt>
 <dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Entities">10.4.2. Entity expansion</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-XInclude">10.4.3. XInclude processing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Validation">10.4.4. Algorithmic complexity of XML validation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Expat">10.4.5. Using Expat for XML parsing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-Qt">10.4.6. Using Qt for XML parsing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse">10.4.7. Using OpenJDK for XML parsing and validation</a></span></dt></dl></dd><dt><span class="section"><a href="#idm229857405936">10.5. Protocol Encoders</a></span></dt></dl></dd><dt><span class="
 chapter"><a href="#chap-Defensive_Coding-Tasks-Cryptography">11. Cryptography</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229857212496">11.1. Primitives</a></span></dt><dt><span class="section"><a href="#idm229833179664">11.2. Randomness</a></span></dt></dl></dd></dl></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-Library_Design" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 5. Library Design</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#idm229856213104">5.1. State management</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229812180688">5.1.1. Global state</a></span></dt><dt><span class="section"><a href="#idm229762827808">5.1.2. Handles</a></span></dt></dl></dd><dt><span class="section"><a href="#idm229820098704">5.2. Object orientation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Library_Design-Callbacks">5.3
 . Callbacks</a></span></dt><dt><span class="section"><a href="#idm229842418432">5.4. Process attributes</a></span></dt></dl></div><div class="para">
 		Throught this section, the term <span class="emphasis"><em>client code</em></span> refers to applications and other libraries using the library.
-	</div><div class="section" id="idm224058698096"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224058698096">4.1. State management</h2></div></div></div><div class="para">
+	</div><div class="section" id="idm229856213104"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229856213104">5.1. State management</h2></div></div></div><div class="para">
 
-		</div><div class="section" id="idm224073326832"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224073326832">4.1.1. Global state</h3></div></div></div><div class="para">
+		</div><div class="section" id="idm229812180688"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229812180688">5.1.1. Global state</h3></div></div></div><div class="para">
 				Global state should be avoided.
 			</div><div class="para">
 				If this is impossible, the global state must be protected with a lock. For C/C++, you can use the <code class="function">pthread_mutex_lock</code> and <code class="function">pthread_mutex_unlock</code> functions without linking against <code class="literal">-lpthread</code> because the system provides stubs for non-threaded processes.
@@ -410,7 +738,7 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 				For compatibility with <code class="function">fork</code>, these locks should be acquired and released in helpers registered with <code class="function">pthread_atfork</code>. This function is not available without <code class="literal">-lpthread</code>, so you need to use <code class="function">dlsym</code> or a weak symbol to obtain its address.
 			</div><div class="para">
 				If you need <code class="function">fork</code> protection for other reasons, you should store the process ID and compare it to the value returned by <code class="function">getpid</code> each time you access the global state. (<code class="function">getpid</code> is not implemented as a system call and is fast.) If the value changes, you know that you have to re-create the state object. (This needs to be combined with locking, of course.)
-			</div></div><div class="section" id="idm224103205584"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224103205584">4.1.2. Handles</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="idm229762827808"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229762827808">5.1.2. Handles</h3></div></div></div><div class="para">
 				Library state should be kept behind a curtain. Client code should receive only a handle. In C, the handle can be a pointer to an incomplete <code class="literal">struct</code>. In C++, the handle can be a pointer to an abstract base class, or it can be hidden using the pointer-to-implementation idiom.
 			</div><div class="para">
 				The library should provide functions for creating and destroying handles. (In C++, it is possible to use virtual destructors for the latter.) Consistency between creation and destruction of handles is strongly recommended: If the client code created a handle, it is the responsibility of the client code to destroy it. (This is not always possible or convenient, so sometimes, a transfer of ownership has to happen.)
@@ -418,11 +746,11 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 				Using handles ensures that it is possible to change the way the library represents state in a way that is transparent to client code. This is important to facilitate security updates and many other code changes.
 			</div><div class="para">
 				It is not always necessary to protect state behind a handle with a lock. This depends on the level of thread safety the library provides.
-			</div></div></div><div class="section" id="idm224131585392"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224131585392">4.2. Object orientation</h2></div></div></div><div class="para">
+			</div></div></div><div class="section" id="idm229820098704"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229820098704">5.2. Object orientation</h2></div></div></div><div class="para">
 			Classes should be either designed as base classes, or it should be impossible to use them as base classes (like <code class="literal">final</code> classes in Java). Classes which are not designed for inheritance and are used as base classes nevertheless create potential maintenance hazards because it is difficult to predict how client code will react when calls to virtual methods are added, reordered or removed.
 		</div><div class="para">
-			Virtual member functions can be used as callbacks. See <a class="xref" href="#sect-Defensive_Coding-Tasks-Library_Design-Callbacks">Section 4.3, “Callbacks”</a> for some of the challenges involved.
-		</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Library_Design-Callbacks"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">4.3. Callbacks</h2></div></div></div><div class="para">
+			Virtual member functions can be used as callbacks. See <a class="xref" href="#sect-Defensive_Coding-Tasks-Library_Design-Callbacks">Section 5.3, “Callbacks”</a> for some of the challenges involved.
+		</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Library_Design-Callbacks"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">5.3. Callbacks</h2></div></div></div><div class="para">
 			Higher-order code is difficult to analyze for humans and computers alike, so it should be avoided. Often, an iterator-based interface (a library function which is called repeatedly by client code and returns a stream of events) leads to a better design which is easier to document and use.
 		</div><div class="para">
 			If callbacks are unavoidable, some guidelines for them follow.
@@ -434,10 +762,10 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 			Callbacks can throw exceptions or call <code class="function">longjmp</code>. If possible, all library objects should remain in a valid state. (All further operations on them can fail, but it should be possible to deallocate them without causing resource leaks.)
 		</div><div class="para">
 			The presence of callbacks raises the question if functions provided by the library are <span class="emphasis"><em>reentrant</em></span>. Unless a library was designed for such use, bad things will happen if a callback function uses functions in the same library (particularly if they are invoked on the same objects and manipulate the same state). When the callback is invoked, the library can be in an inconsistent state. Reentrant functions are more difficult to write than thread-safe functions (by definition, simple locking would immediately lead to deadlocks). It is also difficult to decide what to do when destruction of an object which is currently processing a callback is requested.
-		</div></div><div class="section" id="idm224081054656"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224081054656">4.4. Process attributes</h2></div></div></div><div class="para">
+		</div></div><div class="section" id="idm229842418432"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229842418432">5.4. Process attributes</h2></div></div></div><div class="para">
 			Several attributes are global and affect all code in the process, not just the library that manipulates them.
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
-					environment variables (see <a class="xref" href="#sect-Defensive_Coding-Tasks-secure_getenv">Section 8.3.1, “Accessing environment variables”</a>)
+					environment variables (see <a class="xref" href="#sect-Defensive_Coding-Tasks-secure_getenv">Section 9.3.1, “Accessing environment variables”</a>)
 				</div></li><li class="listitem"><div class="para">
 					umask
 				</div></li><li class="listitem"><div class="para">
@@ -452,15 +780,15 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 			Library code should avoid manipulating these global process attributes. It should not rely on environment variables, umask, the current working directory and signal masks because these attributes can be inherted from an untrusted source.
 		</div><div class="para">
 			In addition, there are obvious process-wide aspects such as the virtual memory layout, the set of open files and dynamic shared objects, but with the exception of shared objects, these can be manipulated in a relatively isolated way.
-		</div></div></div><div xml:lang="en-US" class="chapter" id="sect-Defensive_Coding-Tasks-Descriptors" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 5. File Descriptor Management</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#idm224009222352">5.1. Closing descriptors</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224103547520">5.1.1. Error handling during descriptor close</a></span></dt><dt><span class="section"><a href="#idm224112370128">5.1.2. Closing descriptors and race conditions</a></span></dt><dt><span class="section"><a href="#idm224092709312">5.1.3. Lingering state after close</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Descriptors-Child_Processes">5.2. Preventing file descriptor leaks to child processes</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Descriptors-Limit">5.3. Dealing with the <code class="f
 unction">select</code> limit</a></span></dt></dl></div><div class="para">
+		</div></div></div><div xml:lang="en-US" class="chapter" id="sect-Defensive_Coding-Tasks-Descriptors" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 6. File Descriptor Management</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#idm229857828432">6.1. Closing descriptors</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229733350624">6.1.1. Error handling during descriptor close</a></span></dt><dt><span class="section"><a href="#idm229830981872">6.1.2. Closing descriptors and race conditions</a></span></dt><dt><span class="section"><a href="#idm229762827520">6.1.3. Lingering state after close</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Descriptors-Child_Processes">6.2. Preventing file descriptor leaks to child processes</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Descriptors-Limit">6.3. Dealing with the <code class="f
 unction">select</code> limit</a></span></dt></dl></div><div class="para">
 		File descriptors underlie all input/output mechanisms offered by the system. They are used to implementation the <code class="literal">FILE *</code>-based functions found in <code class="literal">&lt;stdio.h&gt;</code>, and all the file and network communication facilities provided by the Python and Java environments are eventually implemented in them.
 	</div><div class="para">
 		File descriptors are small, non-negative integers in userspace, and are backed on the kernel side with complicated data structures which can sometimes grow very large.
-	</div><div class="section" id="idm224009222352"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224009222352">5.1. Closing descriptors</h2></div></div></div><div class="para">
-			If a descriptor is no longer used by a program and is not closed explicitly, its number cannot be reused (which is problematic in itself, see <a class="xref" href="#sect-Defensive_Coding-Tasks-Descriptors-Limit">Section 5.3, “Dealing with the <code class="function">select</code> limit”</a>), and the kernel resources are not freed. Therefore, it is important to close all descriptors at the earlierst point in time possible, but not earlier.
-		</div><div class="section" id="idm224103547520"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224103547520">5.1.1. Error handling during descriptor close</h3></div></div></div><div class="para">
+	</div><div class="section" id="idm229857828432"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229857828432">6.1. Closing descriptors</h2></div></div></div><div class="para">
+			If a descriptor is no longer used by a program and is not closed explicitly, its number cannot be reused (which is problematic in itself, see <a class="xref" href="#sect-Defensive_Coding-Tasks-Descriptors-Limit">Section 6.3, “Dealing with the <code class="function">select</code> limit”</a>), and the kernel resources are not freed. Therefore, it is important to close all descriptors at the earlierst point in time possible, but not earlier.
+		</div><div class="section" id="idm229733350624"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229733350624">6.1.1. Error handling during descriptor close</h3></div></div></div><div class="para">
 				The <code class="function">close</code> system call is always successful in the sense that the passed file descriptor is never valid after the function has been called. However, <code class="function">close</code> still can return an error, for example if there was a file system failure. But this error is not very useful because the absence of an error does not mean that all caches have been emptied and previous writes have been made durable. Programs which need such guarantees must open files with <code class="literal">O_SYNC</code> or use <code class="literal">fsync</code> or <code class="literal">fdatasync</code>, and may also have to <code class="literal">fsync</code> the directory containing the file.
-			</div></div><div class="section" id="idm224112370128"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224112370128">5.1.2. Closing descriptors and race conditions</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="idm229830981872"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229830981872">6.1.2. Closing descriptors and race conditions</h3></div></div></div><div class="para">
 				Unlike process IDs, which are recycle only gradually, the kernel always allocates the lowest unused file descriptor when a new descriptor is created. This means that in a multi-threaded program which constantly opens and closes file descriptors, descriptors are reused very quickly. Unless descriptor closing and other operations on the same file descriptor are synchronized (typically, using a mutex), there will be race coniditons and I/O operations will be applied to the wrong file descriptor.
 			</div><div class="para">
 				Sometimes, it is necessary to close a file descriptor concurrently, while another thread might be about to use it in a system call. In order to support this, a program needs to create a single special file descriptor, one on which all I/O operations fail. One way to achieve this is to use <code class="function">socketpair</code>, close one of the descriptors, and call <code class="literal">shutdown(fd, SHUTRDWR)</code> on the other.
@@ -468,7 +796,7 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 				When a descriptor is closed concurrently, the program does not call <code class="function">close</code> on the descriptor. Instead it program uses <code class="function">dup2</code> to replace the descriptor to be closed with the dummy descriptor created earlier. This way, the kernel will not reuse the descriptor, but it will carry out all other steps associated with calling a descriptor (for instance, if the descriptor refers to a stream socket, the peer will be notified).
 			</div><div class="para">
 				This is just a sketch, and many details are missing. Additional data structures are needed to determine when it is safe to really close the descriptor, and proper locking is required for that.
-			</div></div><div class="section" id="idm224092709312"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224092709312">5.1.3. Lingering state after close</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="idm229762827520"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229762827520">6.1.3. Lingering state after close</h3></div></div></div><div class="para">
 				By default, closing a stream socket returns immediately, and the kernel will try to send the data in the background. This means that it is impossible to implement accurate accounting of network-related resource utilization from userspace.
 			</div><div class="para">
 				The <code class="literal">SO_LINGER</code> socket option alters the behavior of <code class="function">close</code>, so that it will return only after the lingering data has been processed, either by sending it to the peer successfully, or by discarding it after the configured timeout. However, there is no interface which could perform this operation in the background, so a separate userspace thread is needed for each <code class="function">close</code> call, causing scalability issues.
@@ -476,7 +804,7 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 				Currently, there is no application-level countermeasure which applies universally. Mitigation is possible with <span class="application"><strong>iptables</strong></span> (the <code class="literal">connlimit</code> match type in particular) and specialized filtering devices for denial-of-service network traffic.
 			</div><div class="para">
 				These problems are not related to the <code class="literal">TIME_WAIT</code> state commonly seen in <span class="application"><strong>netstat</strong></span> output. The kernel automatically expires such sockets if necessary.
-			</div></div></div><div class="section" id="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">5.2. Preventing file descriptor leaks to child processes</h2></div></div></div><div class="para">
+			</div></div></div><div class="section" id="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">6.2. Preventing file descriptor leaks to child processes</h2></div></div></div><div class="para">
 			Child processes created with <code class="function">fork</code> share the initial set of file descriptors with their parent process. By default, file descriptors are also preserved if a new process image is created with <code class="function">execve</code> (or any of the other functions such as <code class="function">system</code> or <code class="function">posix_spawn</code>).
 		</div><div class="para">
 			Usually, this behavior is not desirable. There are two ways to turn it off, that is, to prevent new process images from inheriting the file descriptors in the parent process:
@@ -489,15 +817,15 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 				</div></li><li class="listitem"><div class="para">
 					After calling <code class="function">fork</code>, but before creating a new process image with <code class="function">execve</code>, all file descriptors which the child process will not need are closed.
 				</div><div class="para">
-					Traditionally, this was implemented as a loop over file descriptors ranging from <code class="literal">3</code> to <code class="literal">255</code> and later <code class="literal">1023</code>. But this is only an approximatio because it is possible to create file descriptors outside this range easily (see <a class="xref" href="#sect-Defensive_Coding-Tasks-Descriptors-Limit">Section 5.3, “Dealing with the <code class="function">select</code> limit”</a>). Another approach reads <code class="filename">/proc/self/fd</code> and closes the unexpected descriptors listed there, but this approach is much slower.
+					Traditionally, this was implemented as a loop over file descriptors ranging from <code class="literal">3</code> to <code class="literal">255</code> and later <code class="literal">1023</code>. But this is only an approximatio because it is possible to create file descriptors outside this range easily (see <a class="xref" href="#sect-Defensive_Coding-Tasks-Descriptors-Limit">Section 6.3, “Dealing with the <code class="function">select</code> limit”</a>). Another approach reads <code class="filename">/proc/self/fd</code> and closes the unexpected descriptors listed there, but this approach is much slower.
 				</div></li></ul></div><div class="para">
 			At present, environments which care about file descriptor leakage implement the second approach. OpenJDK 6 and 7 are among them.
-		</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Descriptors-Limit"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">5.3. Dealing with the <code class="function">select</code> limit</h2></div></div></div><div class="para">
+		</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Descriptors-Limit"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">6.3. Dealing with the <code class="function">select</code> limit</h2></div></div></div><div class="para">
 			By default, a user is allowed to open only 1024 files in a single process, but the system administrator can easily change this limit (which is necessary for busy network servers). However, there is another restriction which is more difficult to overcome.
 		</div><div class="para">
 			The <code class="function">select</code> function only supports a maximum of <code class="literal">FD_SETSIZE</code> file descriptors (that is, the maximum permitted value for a file descriptor is <code class="literal">FD_SETSIZE - 1</code>, usually 1023.) If a process opens many files, descriptors may exceed such limits. It is impossible to query such descriptors using <code class="function">select</code>.
 		</div><div class="para">
-			If a library which creates many file descriptors is used in the same process as a library which uses <code class="function">select</code>, at least one of them needs to be changed.  Calls to <code class="function">select</code> can be replaced with calls to <code class="function">poll</code> or another event handling mechanism.
+			If a library which creates many file descriptors is used in the same process as a library which uses <code class="function">select</code>, at least one of them needs to be changed.  Calls to <code class="function">select</code> can be replaced with calls to <code class="function">poll</code> or another event handling mechanism. Replacing the <code class="function">select</code> function is the recommended approach.
 		</div><div class="para">
 			Alternatively, the library with high descriptor usage can relocate descriptors above the <code class="literal">FD_SETSIZE</code> limit using the following procedure.
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
@@ -512,12 +840,12 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 					Close <code class="literal">fd</code> and continue to use <code class="literal">newfd</code>.
 				</div></li></ul></div><div class="para">
 			The new descriptor has been allocated above the <code class="literal">FD_SETSIZE</code>. Even though this algorithm is racy in the sense that the <code class="literal">FD_SETSIZE</code> first descriptors could fill up, a very high degree of physical parallelism is required before this becomes a problem.
-		</div></div></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-File_System" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 6. File system manipulation</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Unowned">6.1. Working with files and directories owned by other users</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Foreign">6.2. Accessing the file system as a different user</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Limits">6.3. File system limits</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Features">6.4. File system features</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Free_Space">6.5. Checking free space</a></span></dt></dl></div><div class="para">
+		</div></div></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-File_System" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 7. File system manipulation</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Unowned">7.1. Working with files and directories owned by other users</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Foreign">7.2. Accessing the file system as a different user</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Limits">7.3. File system limits</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Features">7.4. File system features</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-File_System-Free_Space">7.5. Checking free space</a></span></dt></dl></div><div class="para">
 		In this chapter, we discuss general file system manipulation, with a focus on access files and directories to which an other, potentially untrusted user has write access.
 	</div><div class="para">
-		Temporary files are covered in their own chapter, <a class="xref" href="#chap-Defensive_Coding-Tasks-Temporary_Files">Chapter 7, <em>Temporary files</em></a>.
-	</div><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Unowned"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">6.1. Working with files and directories owned by other users</h2></div></div></div><div class="para">
-			Sometimes, it is necessary to operate on files and directories owned by other (potentially untrusted) users. For example, a system administrator could remove the home directory of a user, or a package manager could update a file in a directory which is owned by an application-specific user. This differs from accessing the file system as a specific user; see <a class="xref" href="#sect-Defensive_Coding-Tasks-File_System-Foreign">Section 6.2, “Accessing the file system as a different user”</a>.
+		Temporary files are covered in their own chapter, <a class="xref" href="#chap-Defensive_Coding-Tasks-Temporary_Files">Chapter 8, <em>Temporary files</em></a>.
+	</div><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Unowned"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">7.1. Working with files and directories owned by other users</h2></div></div></div><div class="para">
+			Sometimes, it is necessary to operate on files and directories owned by other (potentially untrusted) users. For example, a system administrator could remove the home directory of a user, or a package manager could update a file in a directory which is owned by an application-specific user. This differs from accessing the file system as a specific user; see <a class="xref" href="#sect-Defensive_Coding-Tasks-File_System-Foreign">Section 7.2, “Accessing the file system as a different user”</a>.
 		</div><div class="para">
 			Accessing files across trust boundaries faces several challenges, particularly if an entire directory tree is being traversed:
 		</div><div class="orderedlist"><ol><li class="listitem"><div class="para">
@@ -544,19 +872,19 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 			There is no workaround against the instability of the file list returned by <code class="function">readdir</code>. Concurrent modification of the directory can result in a list of files being returned which never actually existed on disk.
 		</div><div class="para">
 			Hard links and symbolic links can be safely deleted using <code class="function">unlinkat</code> without further checks because deletion only affects the name within the directory tree being processed.
-		</div></div><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Foreign"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">6.2. Accessing the file system as a different user</h2></div></div></div><div class="para">
-			This section deals with access to the file system as a specific user. This is different from accessing files and directories owned by a different, potentially untrusted user; see <a class="xref" href="#sect-Defensive_Coding-Tasks-File_System-Foreign">Section 6.2, “Accessing the file system as a different user”</a>.
+		</div></div><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Foreign"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">7.2. Accessing the file system as a different user</h2></div></div></div><div class="para">
+			This section deals with access to the file system as a specific user. This is different from accessing files and directories owned by a different, potentially untrusted user; see <a class="xref" href="#sect-Defensive_Coding-Tasks-File_System-Foreign">Section 7.2, “Accessing the file system as a different user”</a>.
 		</div><div class="para">
 			One approach is to spawn a child process which runs under the target user and group IDs (both effective and real IDs). Note that this child process can block indefinitely, even when processing regular files only. For example, a special FUSE file system could cause the process to hang in uninterruptible sleep inside a <code class="function">stat</code> system call.
 		</div><div class="para">
 			An existing process could change its user and group ID using <code class="function">setfsuid</code> and <code class="function">setfsgid</code>. (These functions are preferred over <code class="function">seteuid</code> and <code class="function">setegid</code> because they do not allow the impersonated user to send signals to the process.) These functions are not thread safe. In multi-threaded processes, these operations need to be performed in a single-threaded child process. Unexpected blocking may occur as well.
 		</div><div class="para">
 			It is not recommended to try to reimplement the kernel permission checks in user space because the required checks are complex. It is also very difficult to avoid race conditions during path name resolution.
-		</div></div><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Limits"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">6.3. File system limits</h2></div></div></div><div class="para">
+		</div></div><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Limits"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">7.3. File system limits</h2></div></div></div><div class="para">
 			For historical reasons, there are preprocessor constants such as <code class="literal">PATH_MAX</code>, <code class="literal">NAME_MAX</code>. However, on most systems, the length of canonical path names (absolute path names with all symbolic links resolved, as returned by <code class="function">realpath</code> or <code class="function">canonicalize_file_name</code>) can exceed <code class="literal">PATH_MAX</code> bytes, and individual file name components can be longer than <code class="literal">NAME_MAX</code>. This is also true of the <code class="literal">_PC_PATH_MAX</code> and <code class="literal">_PC_NAME_MAX</code> values returned by <code class="function">pathconf</code>, and the <code class="literal">f_namemax</code> member of <code class="literal">struct statvfs</code>. Therefore, these constants should not be used. This is also reason why the <code class="function">readdir_r</code> should never be used (instead, use <code class="function">readdir</code>).
 		</div><div class="para">
 			You should not write code in a way that assumes that there is an upper limit on the number of subdirectories of a directory, the number of regular files in a directory, or the link count of an inode.
-		</div></div><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Features"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">6.4. File system features</h2></div></div></div><div class="para">
+		</div></div><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Features"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">7.4. File system features</h2></div></div></div><div class="para">
 			Not all file systems support all features. This makes it very difficult to write general-purpose tools for copying files. For example, a copy operation intending to preserve file permissions will generally fail when copying to a FAT file system.
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					Some file systems are case-insensitive. Most should be case-preserving, though.
@@ -582,14 +910,14 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 					Locking semantics vary among file systems. This affects advisory and mandatory locks. For example, some network file systems do not allow deleting files which are opened by any process.
 				</div></li><li class="listitem"><div class="para">
 					Resolution of time stamps varies from two seconds to nanoseconds. Not all time stamps are available on all file systems. File creation time (<span class="emphasis"><em>birth time</em></span>) is not exposed over the <code class="function">stat</code>/<code class="function">fstat</code> interface, even if stored by the file system.
-				</div></li></ul></div></div><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Free_Space"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">6.5. Checking free space</h2></div></div></div><div class="para">
+				</div></li></ul></div></div><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Free_Space"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">7.5. Checking free space</h2></div></div></div><div class="para">
 			The <code class="function">statvfs</code> and <code class="function">fstatvfs</code> functions allow programs to examine the number of available blocks and inodes, through the members <code class="literal">f_bfree</code>, <code class="literal">f_bavail</code>, <code class="literal">f_ffree</code>, and <code class="literal">f_favail</code> of <code class="literal">struct statvfs</code>. Some file systems return fictional values in the <code class="literal">f_ffree</code> and <code class="literal">f_favail</code> fields, so the only reliable way to discover if the file system still has space for a file is to try to create it. The <code class="literal">f_bfree</code> field should be reasonably accurate, though.
-		</div></div></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-Temporary_Files" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 7. Temporary files</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">7.1. Obtaining the location of temporary directory</a></span></dt><dt><span class="section"><a href="#idm224089283888">7.2. Named temporary files</a></span></dt><dt><span class="section"><a href="#idm224089108976">7.3. Temporary files without names</a></span></dt><dt><span class="section"><a href="#chap-Defensive_Coding-Tasks-Temporary_Directory">7.4. Temporary directories</a></span></dt><dt><span class="section"><a href="#idm224009366672">7.5. Compensating for unsafe file creation</a></span></dt></dl></div><div class="para">
-		In this chapter, we describe how to create temporary files and directories, how to remove them, and how to work with programs which do not create files in ways that a safe with a shared directory for temporary files. General file system manipulation is treated in a separate chapter, <a class="xref" href="#chap-Defensive_Coding-Tasks-File_System">Chapter 6, <em>File system manipulation</em></a>.
+		</div></div></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-Temporary_Files" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 8. Temporary files</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">8.1. Obtaining the location of temporary directory</a></span></dt><dt><span class="section"><a href="#idm229842053056">8.2. Named temporary files</a></span></dt><dt><span class="section"><a href="#idm229832474720">8.3. Temporary files without names</a></span></dt><dt><span class="section"><a href="#chap-Defensive_Coding-Tasks-Temporary_Directory">8.4. Temporary directories</a></span></dt><dt><span class="section"><a href="#idm229826672128">8.5. Compensating for unsafe file creation</a></span></dt></dl></div><div class="para">
+		In this chapter, we describe how to create temporary files and directories, how to remove them, and how to work with programs which do not create files in ways that a safe with a shared directory for temporary files. General file system manipulation is treated in a separate chapter, <a class="xref" href="#chap-Defensive_Coding-Tasks-File_System">Chapter 7, <em>File system manipulation</em></a>.
 	</div><div class="para">
 		Secure creation of temporary files has four different aspects.
 	</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
-				The location of the directory for temporary files must be obtained in a secure manner (that is, untrusted environment variables must be ignored, see <a class="xref" href="#sect-Defensive_Coding-Tasks-secure_getenv">Section 8.3.1, “Accessing environment variables”</a>).
+				The location of the directory for temporary files must be obtained in a secure manner (that is, untrusted environment variables must be ignored, see <a class="xref" href="#sect-Defensive_Coding-Tasks-secure_getenv">Section 9.3.1, “Accessing environment variables”</a>).
 			</div></li><li class="listitem"><div class="para">
 				A new file must be created. Reusing an existing file must be avoided (the <code class="filename">/tmp</code> race condition). This is tricky because traditionally, system-wide temporary directories shared by all users are used.
 			</div></li><li class="listitem"><div class="para">
@@ -600,7 +928,7 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 		All functions mentioned below will take care of these aspects.
 	</div><div class="para">
 		Traditionally, temporary files are often used to reduce memory usage of programs. More and more systems use RAM-based file systems such as <code class="literal">tmpfs</code> for storing temporary files, to increase performance and decrease wear on Flash storage. As a result, spooling data to temporary files does not result in any memory savings, and the related complexity can be avoided if the data is kept in process memory.
-	</div><div class="section" id="chap-Defensive_Coding-Tasks-Temporary_Files-Location"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">7.1. Obtaining the location of temporary directory</h2></div></div></div><div class="para">
+	</div><div class="section" id="chap-Defensive_Coding-Tasks-Temporary_Files-Location"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">8.1. Obtaining the location of temporary directory</h2></div></div></div><div class="para">
 			Some functions below need the location of a directory which stores temporary files. For C/C++ programs, use the following steps to obtain that directory:
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					Use <code class="function">secure_getenv</code> to obtain the value of the <code class="literal">TMPDIR</code> environment variable. If it is set, convert the path to a fully-resolved absolute path, using <code class="literal">realpath(path, NULL)</code>. Check if the new path refers to a directory and is writeable. In this case, use it as the temporary directory.
@@ -610,15 +938,15 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 			In Python, you can use the <code class="varname">tempfile.tempdir</code> variable.
 		</div><div class="para">
 			Java does not support SUID/SGID programs, so you can use the <code class="function">java.lang.System.getenv(String)</code> method to obtain the value of the <code class="literal">TMPDIR</code> environment variable, and follow the two steps described above. (Java's default directory selection does not honor <code class="literal">TMPDIR</code>.)
-		</div></div><div class="section" id="idm224089283888"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224089283888">7.2. Named temporary files</h2></div></div></div><div class="para">
-			The <code class="function">mkostemp</code> function creates a named temporary file. You should specify the <code class="literal">O_CLOEXEC</code> flag to avoid file descriptor leaks to subprocesses. (Applications which do not use multiple threads can also use <code class="function">mkstemp</code>, but libraries should use <code class="function">mkostemp</code>.) For determining the directory part of the file name pattern, see <a class="xref" href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">Section 7.1, “Obtaining the location of temporary directory”</a>.
+		</div></div><div class="section" id="idm229842053056"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229842053056">8.2. Named temporary files</h2></div></div></div><div class="para">
+			The <code class="function">mkostemp</code> function creates a named temporary file. You should specify the <code class="literal">O_CLOEXEC</code> flag to avoid file descriptor leaks to subprocesses. (Applications which do not use multiple threads can also use <code class="function">mkstemp</code>, but libraries should use <code class="function">mkostemp</code>.) For determining the directory part of the file name pattern, see <a class="xref" href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">Section 8.1, “Obtaining the location of temporary directory”</a>.
 		</div><div class="para">
 			The file is not removed automatically. It is not safe to rename or delete the file before processing, or transform the name in any way (for example, by adding a file extension). If you need multiple temporary files, call <code class="function">mkostemp</code> multiple times. Do not create additional file names derived from the name provided by a previous <code class="function">mkostemp</code> call. However, it is safe to close the descriptor returned by <code class="function">mkostemp</code> and reopen the file using the generated name.
 		</div><div class="para">
 			The Python class <code class="literal">tempfile.NamedTemporaryFile</code> provides similar functionality, except that the file is deleted automatically by default. Note that you may have to use the <code class="literal">file</code> attribute to obtain the actual file object because some programming interfaces cannot deal with file-like objects. The C function <code class="function">mkostemp</code> is also available as <code class="function">tempfile.mkstemp</code>.
 		</div><div class="para">
-			In Java, you can use the <code class="function">java.io.File.createTempFile(String, String, File)</code> function, using the temporary file location determined according to <a class="xref" href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">Section 7.1, “Obtaining the location of temporary directory”</a>. Do not use <code class="function">java.io.File.deleteOnExit()</code> to delete temporary files, and do not register a shutdown hook for each temporary file you create. In both cases, the deletion hint cannot be removed from the system if you delete the temporary file prior to termination of the VM, causing a memory leak.
-		</div></div><div class="section" id="idm224089108976"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224089108976">7.3. Temporary files without names</h2></div></div></div><div class="para">
+			In Java, you can use the <code class="function">java.io.File.createTempFile(String, String, File)</code> function, using the temporary file location determined according to <a class="xref" href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">Section 8.1, “Obtaining the location of temporary directory”</a>. Do not use <code class="function">java.io.File.deleteOnExit()</code> to delete temporary files, and do not register a shutdown hook for each temporary file you create. In both cases, the deletion hint cannot be removed from the system if you delete the temporary file prior to termination of the VM, causing a memory leak.
+		</div></div><div class="section" id="idm229832474720"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229832474720">8.3. Temporary files without names</h2></div></div></div><div class="para">
 			The <code class="function">tmpfile</code> function creates a temporary file and immediately deletes it, while keeping the file open. As a result, the file lacks a name and its space is deallocated as soon as the file descriptor is closed (including the implicit close when the process terminates). This avoids cluttering the temporary directory with orphaned files.
 		</div><div class="para">
 			Alternatively, if the maximum size of the temporary file is known beforehand, the <code class="function">fmemopen</code> function can be used to create a <code class="literal">FILE *</code> object which is backed by memory.
@@ -626,16 +954,16 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 			In Python, unnamed temporary files are provided by the <code class="literal">tempfile.TemporaryFile</code> class, and the <code class="literal">tempfile.SpooledTemporaryFile</code> class provides a way to avoid creation of small temporary files.
 		</div><div class="para">
 			Java does not support unnamed temporary files.
-		</div></div><div class="section" id="chap-Defensive_Coding-Tasks-Temporary_Directory"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">7.4. Temporary directories</h2></div></div></div><div class="para">
-			The <code class="function">mkdtemp</code> function can be used to create a temporary directory. (For determining the directory part of the file name pattern, see <a class="xref" href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">Section 7.1, “Obtaining the location of temporary directory”</a>.) The directory is not automatically removed. In Python, this function is available as <code class="function">tempfile.mkdtemp</code>. In Java 7, temporary directories can be created using the <code class="function">java.nio.file.Files.createTempDirectory(Path, String, FileAttribute...)</code> function.
+		</div></div><div class="section" id="chap-Defensive_Coding-Tasks-Temporary_Directory"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">8.4. Temporary directories</h2></div></div></div><div class="para">
+			The <code class="function">mkdtemp</code> function can be used to create a temporary directory. (For determining the directory part of the file name pattern, see <a class="xref" href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">Section 8.1, “Obtaining the location of temporary directory”</a>.) The directory is not automatically removed. In Python, this function is available as <code class="function">tempfile.mkdtemp</code>. In Java 7, temporary directories can be created using the <code class="function">java.nio.file.Files.createTempDirectory(Path, String, FileAttribute...)</code> function.
 		</div><div class="para">
 			When creating files in the temporary directory, use automatically generated names, e.g., derived from a sequential counter. Files with externally provided names could be picked up in unexpected contexts, and crafted names could actually point outside of the tempoary directory (due to <span class="emphasis"><em>directory traversal</em></span>).
 		</div><div class="para">
 			Removing a directory tree in a completely safe manner is complicated. Unless there are overriding performance concerns, the <span class="application"><strong>rm</strong></span> program should be used, with the <code class="option">-rf</code> and <code class="option">--</code> options.
-		</div></div><div class="section" id="idm224009366672"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224009366672">7.5. Compensating for unsafe file creation</h2></div></div></div><div class="para">
-			There are two ways to make a function or program which excepts a file name safe for use with temporary files. See <a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-Creation">Section 8.1, “Safe process creation”</a>, for details on subprocess creation.
+		</div></div><div class="section" id="idm229826672128"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229826672128">8.5. Compensating for unsafe file creation</h2></div></div></div><div class="para">
+			There are two ways to make a function or program which excepts a file name safe for use with temporary files. See <a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-Creation">Section 9.1, “Safe process creation”</a>, for details on subprocess creation.
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
-					Create a temporary directory and place the file there. If possible, run the program in a subprocess which uses the temporary directory as its current directory, with a restricted environment. Use generated names for all files in that temporary directory. (See <a class="xref" href="#chap-Defensive_Coding-Tasks-Temporary_Directory">Section 7.4, “Temporary directories”</a>.)
+					Create a temporary directory and place the file there. If possible, run the program in a subprocess which uses the temporary directory as its current directory, with a restricted environment. Use generated names for all files in that temporary directory. (See <a class="xref" href="#chap-Defensive_Coding-Tasks-Temporary_Directory">Section 8.4, “Temporary directories”</a>.)
 				</div></li><li class="listitem"><div class="para">
 					Create the temporary file and pass the generated file name to the function or program. This only works if the function or program can cope with a zero-length existing file. It is safe only under additional assumptions:
 				</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
@@ -646,15 +974,15 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 							It must not access any existing files in the same directory.
 						</div></li></ul></div><div class="para">
 					It is often difficult to check whether these additional assumptions are matched, therefore this approach is not recommended.
-				</div></li></ul></div></div></div><div xml:lang="en-US" class="chapter" id="sect-Defensive_Coding-Tasks-Processes" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 8. Processes</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Creation">8.1. Safe process creation</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224094150016">8.1.1. Obtaining the program path and the command line template</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-execve">8.1.2. Bypassing the shell</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-environ">8.1.3. Specifying the process environment</a></span></dt><dt><span class="section"><a href="#idm224093802512">8.1.4. Robust argument list processing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visi
 bility">8.1.5. Passing secrets to subprocesses</a></span></dt></dl></dd><dt><span class="section"><a href="#idm224132189984">8.2. Handling child process termination</a></span></dt><dt><span class="section"><a href="#idm224105146816">8.3. <code class="literal">SUID</code>/<code class="literal">SGID</code> processes</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-secure_getenv">8.3.1. Accessing environment variables</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Daemons">8.4. Daemons</a></span></dt><dt><span class="section"><a href="#idm224126233520">8.5. Semantics of command line arguments</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Fork-Parallel">8.6. <code class="function">fork</code> as a primitive for parallelism</a></span></dt></dl></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-Creation"><div class="titlepage"><div>
 <div keep-together.within-column="always"><h2 class="title">8.1. Safe process creation</h2></div></div></div><div class="para">
-			This section describes how to create new child processes in a safe manner. In addition to the concerns addressed below, there is the possibility of file descriptor leaks, see <a class="xref" href="#sect-Defensive_Coding-Tasks-Descriptors-Child_Processes">Section 5.2, “Preventing file descriptor leaks to child processes”</a>.
-		</div><div class="section" id="idm224094150016"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224094150016">8.1.1. Obtaining the program path and the command line template</h3></div></div></div><div class="para">
+				</div></li></ul></div></div></div><div xml:lang="en-US" class="chapter" id="sect-Defensive_Coding-Tasks-Processes" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 9. Processes</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Creation">9.1. Safe process creation</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229774204624">9.1.1. Obtaining the program path and the command line template</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-execve">9.1.2. Bypassing the shell</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-environ">9.1.3. Specifying the process environment</a></span></dt><dt><span class="section"><a href="#idm229843251648">9.1.4. Robust argument list processing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visi
 bility">9.1.5. Passing secrets to subprocesses</a></span></dt></dl></dd><dt><span class="section"><a href="#idm229822712608">9.2. Handling child process termination</a></span></dt><dt><span class="section"><a href="#idm229865451024">9.3. <code class="literal">SUID</code>/<code class="literal">SGID</code> processes</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-secure_getenv">9.3.1. Accessing environment variables</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Daemons">9.4. Daemons</a></span></dt><dt><span class="section"><a href="#idm229815561008">9.5. Semantics of command line arguments</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Processes-Fork-Parallel">9.6. <code class="function">fork</code> as a primitive for parallelism</a></span></dt></dl></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-Creation"><div class="titlepage"><div>
 <div keep-together.within-column="always"><h2 class="title">9.1. Safe process creation</h2></div></div></div><div class="para">
+			This section describes how to create new child processes in a safe manner. In addition to the concerns addressed below, there is the possibility of file descriptor leaks, see <a class="xref" href="#sect-Defensive_Coding-Tasks-Descriptors-Child_Processes">Section 6.2, “Preventing file descriptor leaks to child processes”</a>.
+		</div><div class="section" id="idm229774204624"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229774204624">9.1.1. Obtaining the program path and the command line template</h3></div></div></div><div class="para">
 				The name and path to the program being invoked should be hard-coded or controlled by a static configuration file stored at a fixed location (at an file system absolute path). The same applies to the template for generating the command line.
 			</div><div class="para">
-				The configured program name should be an absolute path. If it is a relative path, the contents of the <code class="envar">PATH</code> must be obtained in s secure manner (see <a class="xref" href="#sect-Defensive_Coding-Tasks-secure_getenv">Section 8.3.1, “Accessing environment variables”</a>). If the <code class="envar">PATH</code> variable is not set or untrusted, the safe default <code class="literal">/bin:/usr/bin</code> must be used.
+				The configured program name should be an absolute path. If it is a relative path, the contents of the <code class="envar">PATH</code> must be obtained in s secure manner (see <a class="xref" href="#sect-Defensive_Coding-Tasks-secure_getenv">Section 9.3.1, “Accessing environment variables”</a>). If the <code class="envar">PATH</code> variable is not set or untrusted, the safe default <code class="literal">/bin:/usr/bin</code> must be used.
 			</div><div class="para">
 				If too much flexibility is provided here, it may allow invocation of arbitrary programs without proper authorization.
-			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-execve"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">8.1.2. Bypassing the shell</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-execve"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.1.2. Bypassing the shell</h3></div></div></div><div class="para">
 				Child processes should be created without involving the system shell.
 			</div><div class="para">
 				For C/C++, <code class="function">system</code> should not be used. The <code class="function">posix_spawn</code> function can be used instead, or a combination <code class="function">fork</code> and <code class="function">execve</code>. (In some cases, it may be preferable to use <code class="function">vfork</code> or the Linux-specific <code class="function">clone</code> system call instead of <code class="function">fork</code>.)
@@ -666,7 +994,7 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 					On Windows, there is no argument vector, only a single argument string. Each application is responsible for parsing this string into an argument vector. There is considerable variance among the quoting style recognized by applications. Some of them expand shell wildcards, others do not. Extensive application-specific testing is required to make this secure.
 				</div></div></div><div class="para">
 				Note that some common applications (notably <span class="application"><strong>ssh</strong></span>) unconditionally introduce the use of a shell, even if invoked directly without a shell. It is difficult to use these applications in a secure manner. In this case, untrusted data should be supplied by other means. For example, standard input could be used, instead of the command line.
-			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-environ"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">8.1.3. Specifying the process environment</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-environ"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.1.3. Specifying the process environment</h3></div></div></div><div class="para">
 				Child processes should be created with a minimal set of environment variables. This is absolutely essential if there is a trust transition involved, either when the parent process was created, or during the creation of the child process.
 			</div><div class="para">
 				In C/C++, the environment should be constructed as an array of strings and passed as the <code class="varname">envp</code> argument to <code class="function">posix_spawn</code> or <code class="function">execve</code>. The functions <code class="function">setenv</code>, <code class="function">unsetenv</code> and <code class="function">putenv</code> should not be used. They are not thread-safe and suffer from memory leaks.
@@ -683,10 +1011,10 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 					</div></li><li class="listitem"><div class="para">
 						The location-related environment variables <code class="envar">LANG</code>, <code class="envar">LANGUAGE</code>, <code class="envar">LC_ADDRESS</code>, <code class="envar">LC_ALL</code>, <code class="envar">LC_COLLATE</code>, <code class="envar">LC_CTYPE</code>, <code class="envar">LC_IDENTIFICATION</code>, <code class="envar">LC_MEASUREMENT</code>, <code class="envar">LC_MESSAGES</code>, <code class="envar">LC_MONETARY</code>, <code class="envar">LC_NAME</code>, <code class="envar">LC_NUMERIC</code>, <code class="envar">LC_PAPER</code>, <code class="envar">LC_TELEPHONE</code> and <code class="envar">LC_TIME</code> can be passed to the subprocess if present.
 					</div></li><li class="listitem"><div class="para">
-						The called process may need application-specific environment variables, for example for passing passwords. (See <a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">Section 8.1.5, “Passing secrets to subprocesses”</a>.)
+						The called process may need application-specific environment variables, for example for passing passwords. (See <a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">Section 9.1.5, “Passing secrets to subprocesses”</a>.)
 					</div></li><li class="listitem"><div class="para">
 						All other environment variables should be dropped. Names for new environment variables should not be accepted from untrusted sources.
-					</div></li></ul></div></div><div class="section" id="idm224093802512"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224093802512">8.1.4. Robust argument list processing</h3></div></div></div><div class="para">
+					</div></li></ul></div></div><div class="section" id="idm229843251648"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229843251648">9.1.4. Robust argument list processing</h3></div></div></div><div class="para">
 				When invoking a program, it is sometimes necessary to include data from untrusted sources. Such data should be check against embedded <code class="literal">NUL</code> characters because the system APIs will sliently truncate argument strings at the first <code class="literal">NUL</code> character.
 			</div><div class="para">
 				The following recommendations assume that the program being invoked uses GNU-style option processing using <code class="function">getopt_long</code>. This convention is widely used, but it is just that, and individual programs might interpret a command line in a different way.
@@ -694,13 +1022,13 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 				If the untrusted data has to go into an option, use the <code class="literal">--option-name=VALUE</code> syntax, placing the option and its value into the same command line argument. This avoids any potential confusion if the data starts with <code class="literal">-</code>.
 			</div><div class="para">
 				For positional arguments, terminate the option list with a single <code class="option">--</code> marker after the last option, and include the data at the right position. The <code class="option">--</code> marker terminates option processing, and the data will not be treated as an option even if it starts with a dash.
-			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">8.1.5. Passing secrets to subprocesses</h3></div></div></div><div class="para">
-				The command line (the name of the program and its argument) of a running process is traditionally available to all local users. The called program can overwrite this information, but only after it has run for a bit of time, during which the information may have been read by other processes. However, on Linux, the process environment is restricted to the user who runs the process. Therefore, if you need a convenient way to pass a password to a child process, use an environment variable, and not a command line argument. (See <a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-environ">Section 8.1.3, “Specifying the process environment”</a>.)
+			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.1.5. Passing secrets to subprocesses</h3></div></div></div><div class="para">
+				The command line (the name of the program and its argument) of a running process is traditionally available to all local users. The called program can overwrite this information, but only after it has run for a bit of time, during which the information may have been read by other processes. However, on Linux, the process environment is restricted to the user who runs the process. Therefore, if you need a convenient way to pass a password to a child process, use an environment variable, and not a command line argument. (See <a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-environ">Section 9.1.3, “Specifying the process environment”</a>.)
 			</div><div class="important"><div class="admonition_header"><h2>Portability notice</h2></div><div class="admonition"><div class="para">
 					On some UNIX-like systems (notably Solaris), environment variables can be read by any system user, just like command lines.
 				</div></div></div><div class="para">
 				If the environment-based approach cannot be used due to portability concerns, the data can be passed on standard input. Some programs (notably <span class="application"><strong>gpg</strong></span>) use special file descriptors whose numbers are specified on the command line. Temporary files are an option as well, but they might give digital forensics access to sensitive data (such as passphrases) because it is difficult to safely delete them in all cases.
-			</div></div></div><div class="section" id="idm224132189984"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224132189984">8.2. Handling child process termination</h2></div></div></div><div class="para">
+			</div></div></div><div class="section" id="idm229822712608"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229822712608">9.2. Handling child process termination</h2></div></div></div><div class="para">
 			When child processes terminate, the parent process is signalled. A stub of the terminated processes (a <span class="emphasis"><em>zombie</em></span>, shown as <code class="literal">&lt;defunct&gt;</code> by <span class="application"><strong>ps</strong></span>) is kept around until the status information is collected (<span class="emphasis"><em>reaped</em></span>) by the parent process. Over the years, several interfaces for this have been invented:
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					The parent process calls <code class="function">wait</code>, <code class="function">waitpid</code>, <code class="function">waitid</code>, <code class="function">wait3</code> or <code class="function">wait4</code>, without specifying a process ID. This will deliver any matching process ID. This approach is typically used from within event loops.
@@ -712,27 +1040,27 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 			None of these approaches can be used to wait for child process terminated in a completely thread-safe manner. The parent process might execute an event loop in another thread, which could pick up the termination signal. This means that libraries typically cannot make free use of child processes (for example, to run problematic code with reduced privileges in a separate address space).
 		</div><div class="para">
 			At the moment, the parent process should explicitly wait for termination of the child process using <code class="function">waitpid</code> or <code class="function">waitpid</code>, and hope that the status is not collected by an event loop first.
-		</div></div><div class="section" id="idm224105146816"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224105146816">8.3. <code class="literal">SUID</code>/<code class="literal">SGID</code> processes</h2></div></div></div><div class="para">
+		</div></div><div class="section" id="idm229865451024"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229865451024">9.3. <code class="literal">SUID</code>/<code class="literal">SGID</code> processes</h2></div></div></div><div class="para">
 			Programs can be marked in the file system to indicate to the kernel that a trust transition should happen if the program is run. The <code class="literal">SUID</code> file permission bit indicates that an executable should run with the effective user ID equal to the owner of the executable file. Similarly, with the <code class="literal">SGID</code> bit, the effective group ID is set to the group of the executable file.
 		</div><div class="para">
 			Linux supports <span class="emphasis"><em>fscaps</em></span>, which can grant additional capabilities to a process in a finer-grained manner. Additional mechanisms can be provided by loadable security modules.
 		</div><div class="para">
 			When such a trust transition has happened, the process runs in a potentially hostile environment. Additional care is necessary not to rely on any untrusted information. These concerns also apply to libraries which can be linked into such processes.
-		</div><div class="section" id="sect-Defensive_Coding-Tasks-secure_getenv"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">8.3.1. Accessing environment variables</h3></div></div></div><div class="para">
+		</div><div class="section" id="sect-Defensive_Coding-Tasks-secure_getenv"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.3.1. Accessing environment variables</h3></div></div></div><div class="para">
 				The following steps are required so that a program does not accidentally pick up untrusted data from environment variables.
 			</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 						Compile your C/C++ sources with <code class="literal">-D_GNU_SOURCE</code>. The Autoconf macro <code class="literal">AC_GNU_SOURCE</code> ensures this.
 					</div></li><li class="listitem"><div class="para">
 						Check for the presence of the <code class="function">secure_getenv</code> and <code class="function">__secure_getenv</code> function. The Autoconf directive <code class="literal">AC_CHECK_FUNCS([__secure_getenv secure_getenv])</code> performs these checks.
 					</div></li><li class="listitem"><div class="para">
-						Arrange for a proper definition of the <code class="function">secure_getenv</code> function. See <a class="xref" href="#ex-Defensive_Coding-Tasks-secure_getenv">Example 8.1, “Obtaining a definition for <code class="function">secure_getenv</code>”</a>.
+						Arrange for a proper definition of the <code class="function">secure_getenv</code> function. See <a class="xref" href="#ex-Defensive_Coding-Tasks-secure_getenv">Example 9.1, “Obtaining a definition for <code class="function">secure_getenv</code>”</a>.
 					</div></li><li class="listitem"><div class="para">
 						Use <code class="function">secure_getenv</code> instead of <code class="function">getenv</code> to obtain the value of critical environment variables. <code class="function">secure_getenv</code> will pretend the variable has not bee set if the process environment is not trusted.
 					</div></li></ul></div><div class="para">
 				Critical environment variables are debugging flags, configuration file locations, plug-in and log file locations, and anything else that might be used to bypass security restrictions or cause a privileged process to behave in an unexpected way.
 			</div><div class="para">
 				Either the <code class="function">secure_getenv</code> function or the <code class="function">__secure_getenv</code> is available from GNU libc.
-			</div><div class="example" id="ex-Defensive_Coding-Tasks-secure_getenv"><h6>Example 8.1. Obtaining a definition for <code class="function">secure_getenv</code></h6><div class="example-contents"><pre class="programlisting">
+			</div><div class="example" id="ex-Defensive_Coding-Tasks-secure_getenv"><h6>Example 9.1. Obtaining a definition for <code class="function">secure_getenv</code></h6><div class="example-contents"><pre class="programlisting">
 
 <span class="perl_Others">#include &lt;stdlib.h&gt;</span><span class="perl_Others"></span>
 <span class="perl_Others"></span>
@@ -744,7 +1072,7 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 <span class="perl_Others"></span><span class="perl_Others">#  endif</span><span class="perl_Others"></span>
 <span class="perl_Others"></span><span class="perl_Others">#endif</span><span class="perl_Others"></span>
 <span class="perl_Others"></span>
-</pre></div></div><br class="example-break" /></div></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-Daemons"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">8.4. Daemons</h2></div></div></div><div class="para">
+</pre></div></div><br class="example-break" /></div></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-Daemons"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">9.4. Daemons</h2></div></div></div><div class="para">
 			Background processes providing system services (<span class="emphasis"><em>daemons</em></span>) need to decouple themselves from the controlling terminal and the parent process environment:
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					Fork.
@@ -760,32 +1088,32 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 			Other aspects of the process environment may have to changed as well (environment variables, signal handler disposition).
 		</div><div class="para">
 			It is increasingly common that server processes do not run as background processes, but as regular foreground process under a supervising master process (such as <span class="application"><strong>systemd</strong></span>). Server processes should offer a command line option which disables forking and replacement of the standard output and standard error streams. Such an option is also useful for debugging.
-		</div></div><div class="section" id="idm224126233520"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224126233520">8.5. Semantics of command line arguments</h2></div></div></div><div class="para">
+		</div></div><div class="section" id="idm229815561008"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229815561008">9.5. Semantics of command line arguments</h2></div></div></div><div class="para">
 			After process creation and option processing, it is up to the child process to interpret the arguments. Arguments can be file names, host names, or URLs, and many other things. URLs can refer to the local network, some server on the Internet, or to the local file system. Some applications even accept arbitrary code in arguments (for example, <span class="application"><strong>python</strong></span> with the <code class="option">-c</code> option).
 		</div><div class="para">
 			Similar concerns apply to environment variables, the contents of the current directory and its subdirectories. 
 		</div><div class="para">
 			Consequently, careful analysis is required if it is safe to pass untrusted data to another program.
-		</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">8.6. <code class="function">fork</code> as a primitive for parallelism</h2></div></div></div><div class="para">
+		</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">9.6. <code class="function">fork</code> as a primitive for parallelism</h2></div></div></div><div class="para">
 			A call to <code class="function">fork</code> which is not immediately followed by a call to <code class="function">execve</code> (perhaps after rearranging and closing file descriptors) is typically unsafe, especially from a library which does not control the state of the entire process. Such use of <code class="function">fork</code> should be replaced with proper child processes or threads.
-		</div></div></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-Serialization" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 9. Serialization and Deserialization</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-Decoders">9.1. Recommendations for manually written decoders</a></span></dt><dt><span class="section"><a href="#idm224102938016">9.2. Protocol design</a></span></dt><dt><span class="section"><a href="#idm224078977104">9.3. Library support for deserialization</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML">9.4. XML serialization</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-External">9.4.1. External references</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Entities">9.4.2. Enti
 ty expansion</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-XInclude">9.4.3. XInclude processing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Validation">9.4.4. Algorithmic complexity of XML validation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Expat">9.4.5. Using Expat for XML parsing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-Qt">9.4.6. Using Qt for XML parsing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse">9.4.7. Using OpenJDK for XML parsing and validation</a></span></dt></dl></dd><dt><span class="section"><a href="#idm224085210432">9.5. Protocol Encoders</a></span></dt></dl></div><div class="para">
+		</div></div></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-Serialization" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 10. Serialization and Deserialization</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-Decoders">10.1. Recommendations for manually written decoders</a></span></dt><dt><span class="section"><a href="#idm229735133648">10.2. Protocol design</a></span></dt><dt><span class="section"><a href="#idm229819247040">10.3. Library support for deserialization</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML">10.4. XML serialization</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-External">10.4.1. External references</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Entities">10.4.
 2. Entity expansion</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-XInclude">10.4.3. XInclude processing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Validation">10.4.4. Algorithmic complexity of XML validation</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-Expat">10.4.5. Using Expat for XML parsing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-Qt">10.4.6. Using Qt for XML parsing</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse">10.4.7. Using OpenJDK for XML parsing and validation</a></span></dt></dl></dd><dt><span class="section"><a href="#idm229857405936">10.5. Protocol Encoders</a></span></dt></dl></div><div class="para">
 		Protocol decoders and file format parsers are often the most-exposed part of an application because they are exposed with little or no user interaction and before any authentication and security checks are made. They are also difficult to write robustly in languages which are not memory-safe.
-	</div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-Decoders"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">9.1. Recommendations for manually written decoders</h2></div></div></div><div class="para">
+	</div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-Decoders"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">10.1. Recommendations for manually written decoders</h2></div></div></div><div class="para">
 			For C and C++, the advice in <a class="xref" href="#sect-Defensive_Coding-C-Pointers">Section 1.1.2, “Recommendations for pointers and array handling”</a> applies. In addition, avoid non-character pointers directly into input buffers. Pointer misalignment causes crashes on some architectures.
 		</div><div class="para">
 			When reading variable-sized objects, do not allocate large amounts of data solely based on the value of a size field. If possible, grow the data structure as more data is read from the source, and stop when no data is available. This helps to avoid denial-of-service attacks where little amounts of input data results in enormous memory allocations during decoding. Alternatively, you can impose reasonable bounds on memory allocations, but some protocols do not permit this.
-		</div></div><div class="section" id="idm224102938016"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224102938016">9.2. Protocol design</h2></div></div></div><div class="para">
+		</div></div><div class="section" id="idm229735133648"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229735133648">10.2. Protocol design</h2></div></div></div><div class="para">
 			Binary formats with explicit length fields are more difficult to parse robustly than those where the length of dynamically-sized elements is derived from sentinel values. A protocol which does not use length fields and can be written in printable ASCII characters simplifies testing and debugging. However, binary protocols with length fields may be more efficient to parse.
-		</div></div><div class="section" id="idm224078977104"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224078977104">9.3. Library support for deserialization</h2></div></div></div><div class="para">
+		</div></div><div class="section" id="idm229819247040"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229819247040">10.3. Library support for deserialization</h2></div></div></div><div class="para">
 			For some languages, generic libraries are available which allow to serialize and deserialize user-defined objects. The deserialization part comes in one of two flavors, depending on the library. The first kind uses type information in the data stream to control which objects are instantiated. The second kind uses type definitions supplied by the programmer. The first one allows arbitrary object instantiation, the second one generally does not.
 		</div><div class="para">
 			The following serialization frameworks are in the first category, are known to be unsafe, and must not be used for untrusted data:
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
-					Python's <span class="package">pickle</span> and <span class="package">cPickle</span> modules
+					Python's <span class="package">pickle</span> and <span class="package">cPickle</span> modules, and wrappers such as <span class="package">shelve</span>
 				</div></li><li class="listitem"><div class="para">
 					Perl's <span class="package">Storable</span> package
 				</div></li><li class="listitem"><div class="para">
-					Java serialization (<span class="type">java.io.ObjectInputStream</span>)
+					Java serialization (<span class="type">java.io.ObjectInputStream</span>), even if encoded in other formats (as with <span class="type">java.beans.XMLDecoder</span>)
 				</div></li><li class="listitem"><div class="para">
 					PHP serialization (<code class="function">unserialize</code>)
 				</div></li><li class="listitem"><div class="para">
@@ -793,10 +1121,10 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 				</div></li></ul></div><div class="para">
 			When using a type-directed deserialization format where the types of the deserialized objects are specified by the programmer, make sure that the objects which can be instantiated cannot perform any destructive actions in their destructors, even when the data members have been manipulated.
 		</div><div class="para">
-			JSON decoders do not suffer from this problem. But you must not use the <code class="function">eval</code> function to parse JSON objects in Javascript; even with the regular expression filter from RFC 4627, there are still information leaks remaining.
-		</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">9.4. XML serialization</h2></div></div></div><div class="para">
+			In general, JSON decoders do not suffer from this problem. But you must not use the <code class="function">eval</code> function to parse JSON objects in Javascript; even with the regular expression filter from RFC 4627, there are still information leaks remaining. JSON-based formats can still turn out risky if they serve as an encoding form for any if the serialization frameworks listed above.
+		</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">10.4. XML serialization</h2></div></div></div><div class="para">
 
-		</div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-External"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.4.1. External references</h3></div></div></div><div class="para">
+		</div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-External"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">10.4.1. External references</h3></div></div></div><div class="para">
 				XML documents can contain external references. They can occur in various places.
 			</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 						In the DTD declaration in the header of an XML document:
@@ -822,21 +1150,21 @@ snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_S
 				Originally, these external references were intended as unique identifiers, but by many XML implementations, they are used for locating the data for the referenced element. This causes unwanted network traffic, and may disclose file system contents or otherwise unreachable network resources, so this functionality should be disabled.
 			</div><div class="para">
 				Depending on the XML library, external referenced might be processed not just when parsing XML, but also when generating it.
-			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-Entities"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.4.2. Entity expansion</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-Entities"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">10.4.2. Entity expansion</h3></div></div></div><div class="para">
 				When external DTD processing is disabled, an internal DTD subset can still contain entity definitions. Entity declarations can reference other entities. Some XML libraries expand entities automatically, and this processing cannot be switched off in some places (such as attribute values or content models). Without limits on the entity nesting level, this expansion results in data which can grow exponentially in length with size of the input. (If there is a limit on the nesting level, the growth is still polynomial, unless further limits are imposed.)
 			</div><div class="para">
 				Consequently, the processing internal DTD subsets should be disabled if possible, and only trusted DTDs should be processed. If a particular XML application does not permit such restrictions, then application-specific limits are called for.
-			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.4.3. XInclude processing</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">10.4.3. XInclude processing</h3></div></div></div><div class="para">
 				XInclude processing can reference file and network resources and include them into the document, much like external entity references. When parsing untrusted XML documents, XInclude processing should be truned off.
 			</div><div class="para">
 				XInclude processing is also fairly complex and may pull in support for the XPointer and XPath specifications, considerably increasing the amount of code required for XML processing.
-			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-Validation"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.4.4. Algorithmic complexity of XML validation</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-Validation"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">10.4.4. Algorithmic complexity of XML validation</h3></div></div></div><div class="para">
 				DTD-based XML validation uses regular expressions for content models. The XML specification requires that content models are deterministic, which means that efficient validation is possible. However, some implementations do not enforce determinism, and require exponential (or just polynomial) amount of space or time for validating some DTD/document combinations.
 			</div><div class="para">
 				XML schemas and RELAX NG (via the <code class="literal">xsd:</code> prefix) directly support textual regular expressions which are not required to be deterministic.
-			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-Expat"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.4.5. Using Expat for XML parsing</h3></div></div></div><div class="para">
-				By default, Expat does not try to resolve external IDs, so no steps are required to block them. However, internal entity declarations are processed. Installing a callback which stops parsing as soon as such entities are encountered disables them, see <a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-Expat-EntityDeclHandler">Example 9.1, “Disabling XML entity processing with Expat”</a>. Expat does not perform any validation, so there are no problems related to that.
-			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Expat-EntityDeclHandler"><h6>Example 9.1. Disabling XML entity processing with Expat</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-Expat"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">10.4.5. Using Expat for XML parsing</h3></div></div></div><div class="para">
+				By default, Expat does not try to resolve external IDs, so no steps are required to block them. However, internal entity declarations are processed. Installing a callback which stops parsing as soon as such entities are encountered disables them, see <a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-Expat-EntityDeclHandler">Example 10.1, “Disabling XML entity processing with Expat”</a>. Expat does not perform any validation, so there are no problems related to that.
+			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Expat-EntityDeclHandler"><h6>Example 10.1. Disabling XML entity processing with Expat</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Stop the parser when an entity declaration is encountered.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_DataType">static</span> <span class="perl_DataType">void</span>
 EntityDeclHandler(<span class="perl_DataType">void</span> *userData,
@@ -848,8 +1176,8 @@ EntityDeclHandler(<span class="perl_DataType">void</span> *userData,
   XML_StopParser((XML_Parser)userData, XML_FALSE);
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				This handler must be installed when the <code class="literal">XML_Parser</code> object is created (<a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-Expat-Create">Example 9.2, “Creating an Expat XML parser”</a>).
-			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Expat-Create"><h6>Example 9.2. Creating an Expat XML parser</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				This handler must be installed when the <code class="literal">XML_Parser</code> object is created (<a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-Expat-Create">Example 10.2, “Creating an Expat XML parser”</a>).
+			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Expat-Create"><h6>Example 10.2. Creating an Expat XML parser</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 XML_Parser parser = XML_ParserCreate(<span class="perl_String">"UTF-8"</span>);
 <span class="perl_Keyword">if</span> (parser == NULL) {
   fprintf(stderr, <span class="perl_String">"XML_ParserCreate failed</span><span class="perl_Char">\n</span><span class="perl_String">"</span>);
@@ -863,11 +1191,11 @@ XML_Parser parser = XML_ParserCreate(<span class="perl_String">"UTF-8"</span>);
 <span class="perl_Comment"></span>XML_SetEntityDeclHandler(parser, EntityDeclHandler);
 </pre></div></div><br class="example-break" /><div class="para">
 				It is also possible to reject internal DTD subsets altogeher, using a suitable <code class="literal">XML_StartDoctypeDeclHandler</code> handler installed with <code class="function">XML_SetDoctypeDeclHandler</code>.
-			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-Qt"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.4.6. Using Qt for XML parsing</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-Qt"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">10.4.6. Using Qt for XML parsing</h3></div></div></div><div class="para">
 				The XML component of Qt, QtXml, does not resolve external IDs by default, so it is not requred to prevent such resolution. Internal entities are processed, though. To change that, a custom <code class="literal">QXmlDeclHandler</code> and <code class="literal">QXmlSimpleReader</code> subclasses are needed. It is not possible to use the <code class="function">QDomDocument::setContent(const QByteArray &amp;)</code> convenience methods.
 			</div><div class="para">
-				<a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityHandler">Example 9.3, “A QtXml entity handler which blocks entity processing”</a> shows an entity handler which always returns errors, causing parsing to stop when encountering entity declarations.
-			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityHandler"><h6>Example 9.3. A QtXml entity handler which blocks entity processing</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				<a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityHandler">Example 10.3, “A QtXml entity handler which blocks entity processing”</a> shows an entity handler which always returns errors, causing parsing to stop when encountering entity declarations.
+			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityHandler"><h6>Example 10.3. A QtXml entity handler which blocks entity processing</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 class NoEntityHandler : public QXmlDeclHandler {
 public:
   bool attributeDecl(<span class="perl_DataType">const</span> QString&amp;, <span class="perl_DataType">const</span> QString&amp;, <span class="perl_DataType">const</span> QString&amp;,
@@ -905,8 +1233,8 @@ NoEntityHandler::errorString() <span class="perl_DataType">const</span>
   <span class="perl_Keyword">return</span> <span class="perl_String">"XML declaration not permitted"</span>;
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				This handler is used in the custom <code class="literal">QXmlReader</code> subclass in <a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityReader">Example 9.4, “A QtXml XML reader which blocks entity processing”</a>. Some parts of QtXml will call the <code class="function">setDeclHandler(QXmlDeclHandler *)</code> method. Consequently, we prevent overriding our custom handler by providing a definition of this method which does nothing. In the constructor, we activate namespace processing; this part may need adjusting.
-			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityReader"><h6>Example 9.4. A QtXml XML reader which blocks entity processing</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				This handler is used in the custom <code class="literal">QXmlReader</code> subclass in <a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityReader">Example 10.4, “A QtXml XML reader which blocks entity processing”</a>. Some parts of QtXml will call the <code class="function">setDeclHandler(QXmlDeclHandler *)</code> method. Consequently, we prevent overriding our custom handler by providing a definition of this method which does nothing. In the constructor, we activate namespace processing; this part may need adjusting.
+			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityReader"><h6>Example 10.4. A QtXml XML reader which blocks entity processing</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 class NoEntityReader : public QXmlSimpleReader {
   NoEntityHandler handler;
 public:
@@ -927,8 +1255,8 @@ NoEntityReader::setDeclHandler(QXmlDeclHandler *)
   <span class="perl_Comment">// Ignore the handler which was passed in.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>}
 </pre></div></div><br class="example-break" /><div class="para">
-				Our <code class="literal">NoEntityReader</code> class can be used with one of the overloaded <code class="function">QDomDocument::setContent</code> methods. <a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-QDomDocument">Example 9.5, “Parsing an XML document with QDomDocument, without entity expansion”</a> shows how the <code class="literal">buffer</code> object (of type <code class="literal">QByteArray</code>) is wrapped as a <code class="literal">QXmlInputSource</code>. After calling the <code class="function">setContent</code> method, you should check the return value and report any error.
-			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-QDomDocument"><h6>Example 9.5. Parsing an XML document with QDomDocument, without entity expansion</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				Our <code class="literal">NoEntityReader</code> class can be used with one of the overloaded <code class="function">QDomDocument::setContent</code> methods. <a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-QDomDocument">Example 10.5, “Parsing an XML document with QDomDocument, without entity expansion”</a> shows how the <code class="literal">buffer</code> object (of type <code class="literal">QByteArray</code>) is wrapped as a <code class="literal">QXmlInputSource</code>. After calling the <code class="function">setContent</code> method, you should check the return value and report any error.
+			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-QDomDocument"><h6>Example 10.5. Parsing an XML document with QDomDocument, without entity expansion</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 NoEntityReader reader;
 QBuffer buffer(&amp;data);
 buffer.open(QIODevice::ReadOnly);
@@ -939,13 +1267,13 @@ QString errorMsg;
 <span class="perl_DataType">int</span> errorColumn;
 bool okay = doc.setContent
   (&amp;source, &amp;reader, &amp;errorMsg, &amp;errorLine, &amp;errorColumn);
-</pre></div></div><br class="example-break" /></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.4.7. Using OpenJDK for XML parsing and validation</h3></div></div></div><div class="para">
+</pre></div></div><br class="example-break" /></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">10.4.7. Using OpenJDK for XML parsing and validation</h3></div></div></div><div class="para">
 				OpenJDK contains facilities for DOM-based, SAX-based, and StAX-based document parsing. Documents can be validated against DTDs or XML schemas.
 			</div><div class="para">
-				The approach taken to deal with entity expansion differs from the general recommendation in <a class="xref" href="#sect-Defensive_Coding-Tasks-Serialization-XML-Entities">Section 9.4.2, “Entity expansion”</a>. We enable the the feature flag <code class="literal">javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING</code>, which enforces heuristic restrictions on the number of entity expansions. Note that this flag alone does not prevent resolution of external references (system IDs or public IDs), so it is slightly misnamed.
+				The approach taken to deal with entity expansion differs from the general recommendation in <a class="xref" href="#sect-Defensive_Coding-Tasks-Serialization-XML-Entities">Section 10.4.2, “Entity expansion”</a>. We enable the the feature flag <code class="literal">javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING</code>, which enforces heuristic restrictions on the number of entity expansions. Note that this flag alone does not prevent resolution of external references (system IDs or public IDs), so it is slightly misnamed.
 			</div><div class="para">
 				In the following sections, we use helper classes to prevent external ID resolution.
-			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoEntityResolver"><h6>Example 9.6. Helper class to prevent DTD external entity resolution in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoEntityResolver"><h6>Example 10.6. Helper class to prevent DTD external entity resolution in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Keyword">class</span> NoEntityResolver <span class="perl_Keyword">implements</span> EntityResolver {
     @Override
     <span class="perl_Keyword">public</span> InputSource <span class="perl_Function">resolveEntity</span>(String publicId, String systemId)
@@ -955,7 +1283,7 @@ bool okay = doc.setContent
 <span class="perl_Function"></span>                <span class="perl_String">"attempt to resolve </span><span class="perl_Char">\"</span><span class="perl_String">%s</span><span class="perl_Char">\"</span><span class="perl_String"> </span><span class="perl_Char">\"</span><span class="perl_String">%s</span><span class="perl_Char">\"</span><span class="perl_String">"</span>, publicId, systemId));
     }
 }
-</pre></div></div><br class="example-break" /><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoResourceResolver"><h6>Example 9.7. Helper class to prevent schema resolution in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+</pre></div></div><br class="example-break" /><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoResourceResolver"><h6>Example 10.7. Helper class to prevent schema resolution in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Keyword">class</span> NoResourceResolver <span class="perl_Keyword">implements</span> LSResourceResolver {
     @Override
     <span class="perl_Keyword">public</span> LSInput <span class="perl_Function">resolveResource</span>(String type, String namespaceURI,
@@ -968,8 +1296,8 @@ bool okay = doc.setContent
     }
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				<a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-Imports">Example 9.8, “Java imports for OpenJDK XML parsing”</a> shows the imports used by the examples.
-			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-Imports"><h6>Example 9.8. Java imports for OpenJDK XML parsing</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				<a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-Imports">Example 10.8, “Java imports for OpenJDK XML parsing”</a> shows the imports used by the examples.
+			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-Imports"><h6>Example 10.8. Java imports for OpenJDK XML parsing</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Keyword">import</span> javax.xml.XMLConstants;
 <span class="perl_Keyword">import</span> javax.xml.parsers.DocumentBuilder;
 <span class="perl_Keyword">import</span> javax.xml.parsers.DocumentBuilderFactory;
@@ -991,9 +1319,9 @@ bool okay = doc.setContent
 <span class="perl_Keyword">import</span> org.xml.sax.SAXException;
 <span class="perl_Keyword">import</span> org.xml.sax.SAXParseException;
 <span class="perl_Keyword">import org.xml.sax.XMLReader;</span>
-</pre></div></div><br class="example-break" /><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">9.4.7.1. DOM-based XML parsing and DTD validation in OpenJDK</h4></div></div></div><div class="para">
-					This approach produces a <code class="literal">org.w3c.dom.Document</code> object from an input stream. <a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM">Example 9.9, “DOM-based XML parsing in OpenJDK”</a> use the data from the <code class="literal">java.io.InputStream</code> instance in the <code class="literal">inputStream</code> variable.
-				</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM"><h6>Example 9.9. DOM-based XML parsing in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+</pre></div></div><br class="example-break" /><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">10.4.7.1. DOM-based XML parsing and DTD validation in OpenJDK</h4></div></div></div><div class="para">
+					This approach produces a <code class="literal">org.w3c.dom.Document</code> object from an input stream. <a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM">Example 10.9, “DOM-based XML parsing in OpenJDK”</a> use the data from the <code class="literal">java.io.InputStream</code> instance in the <code class="literal">inputStream</code> variable.
+				</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM"><h6>Example 10.9. DOM-based XML parsing in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 DocumentBuilderFactory factory = DocumentBuilderFactory.<span class="perl_Function">newInstance</span>();
 <span class="perl_Comment">// Impose restrictions on the complexity of the DTD.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>factory.<span class="perl_Function">setFeature</span>(XMLConstants.<span class="perl_Function">FEATURE_SECURE_PROCESSING</span>, <span class="perl_Keyword">true</span>);
@@ -1008,12 +1336,12 @@ builder.<span class="perl_Function">setEntityResolver</span>(<span class="perl_K
 builder.<span class="perl_Function">setErrorHandler</span>(<span class="perl_Keyword">new</span> <span class="perl_Function">Errors</span>());
 Document document = builder.<span class="perl_Function">parse</span>(inputStream);
 </pre></div></div><br class="example-break" /><div class="para">
-					External entity references are prohibited using the <code class="literal">NoEntityResolver</code> class in <a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoEntityResolver">Example 9.6, “Helper class to prevent DTD external entity resolution in OpenJDK”</a>. Because external DTD references are prohibited, DTD validation (if enabled) will only happen against the internal DTD subset embedded in the XML document.
+					External entity references are prohibited using the <code class="literal">NoEntityResolver</code> class in <a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoEntityResolver">Example 10.6, “Helper class to prevent DTD external entity resolution in OpenJDK”</a>. Because external DTD references are prohibited, DTD validation (if enabled) will only happen against the internal DTD subset embedded in the XML document.
 				</div><div class="para">
 					To validate the document against an external DTD, use a <code class="literal">javax.xml.transform.Transformer</code> class to add the DTD reference to the document, and an entity resolver which whitelists this external reference.
-				</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">9.4.7.2. XML Schema validation in OpenJDK</h4></div></div></div><div class="para">
-					<a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_SAX">Example 9.10, “SAX-based validation against an XML schema in OpenJDK”</a> shows how to validate a document against an XML Schema, using a SAX-based approach. The XML data is read from an <code class="literal">java.io.InputStream</code> in the <code class="literal">inputStream</code> variable.
-				</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_SAX"><h6>Example 9.10. SAX-based validation against an XML schema in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">10.4.7.2. XML Schema validation in OpenJDK</h4></div></div></div><div class="para">
+					<a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_SAX">Example 10.10, “SAX-based validation against an XML schema in OpenJDK”</a> shows how to validate a document against an XML Schema, using a SAX-based approach. The XML data is read from an <code class="literal">java.io.InputStream</code> in the <code class="literal">inputStream</code> variable.
+				</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_SAX"><h6>Example 10.10. SAX-based validation against an XML schema in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 SchemaFactory factory = SchemaFactory.<span class="perl_Function">newInstance</span>(
         XMLConstants.<span class="perl_Function">W3C_XML_SCHEMA_NS_URI</span>);
 
@@ -1035,10 +1363,10 @@ Validator validator = schema.<span class="perl_Function">newValidator</span>();
 
 validator.<span class="perl_Function">validate</span>(<span class="perl_Keyword">new</span> SAXSource(<span class="perl_Keyword">new</span> InputSource(inputStream)));
 </pre></div></div><br class="example-break" /><div class="para">
-					The <code class="literal">NoResourceResolver</code> class is defined in <a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoResourceResolver">Example 9.7, “Helper class to prevent schema resolution in OpenJDK”</a>.
+					The <code class="literal">NoResourceResolver</code> class is defined in <a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoResourceResolver">Example 10.7, “Helper class to prevent schema resolution in OpenJDK”</a>.
 				</div><div class="para">
-					If you need to validate a document against an XML schema, use the code in <a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM">Example 9.9, “DOM-based XML parsing in OpenJDK”</a> to create the document, but do not enable validation at this point. Then use <a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_DOM">Example 9.11, “Validation of a DOM document against an XML schema in OpenJDK”</a> to perform the schema-based validation on the <code class="literal">org.w3c.dom.Document</code> instance <code class="literal">document</code>.
-				</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_DOM"><h6>Example 9.11. Validation of a DOM document against an XML schema in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+					If you need to validate a document against an XML schema, use the code in <a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM">Example 10.9, “DOM-based XML parsing in OpenJDK”</a> to create the document, but do not enable validation at this point. Then use <a class="xref" href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_DOM">Example 10.11, “Validation of a DOM document against an XML schema in OpenJDK”</a> to perform the schema-based validation on the <code class="literal">org.w3c.dom.Document</code> instance <code class="literal">document</code>.
+				</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_DOM"><h6>Example 10.11. Validation of a DOM document against an XML schema in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 SchemaFactory factory = SchemaFactory.<span class="perl_Function">newInstance</span>(
         XMLConstants.<span class="perl_Function">W3C_XML_SCHEMA_NS_URI</span>);
 
@@ -1056,14 +1384,18 @@ Validator validator = schema.<span class="perl_Function">newValidator</span>();
 <span class="perl_Comment">// This prevents external resource resolution.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>validator.<span class="perl_Function">setResourceResolver</span>(<span class="perl_Keyword">new</span> <span class="perl_Function">NoResourceResolver</span>());
 validator.<span class="perl_Function">validate</span>(<span class="perl_Keyword">new</span> DOMSource(document));
-</pre></div></div><br class="example-break" /></div></div></div><div class="section" id="idm224085210432"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224085210432">9.5. Protocol Encoders</h2></div></div></div><div class="para">
+</pre></div></div><br class="example-break" /></div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">10.4.7.3. Other XML parsers in OpenJDK</h4></div></div></div><div class="para">
+					OpenJDK contains additional XML parsing and processing facilities. Some of them are insecure.
+				</div><div class="para">
+					The class <span class="type">java.beans.XMLDecoder</span> acts as a bridge between the Java object serialization format and XML. It is close to impossible to securely deserialize Java objects in this format from untrusted inputs, so its use is not recommended, as with the Java object serialization format itself. See <a class="xref" href="#sect-Defensive_Coding-Tasks-Serialization-Library">Section 10.3, “Library support for deserialization”</a>.
+				</div></div></div></div><div class="section" id="idm229857405936"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229857405936">10.5. Protocol Encoders</h2></div></div></div><div class="para">
 			For protocol encoders, you should write bytes to a buffer which grows as needed, using an exponential sizing policy. Explicit lengths can be patched in later, once they are known. Allocating the required number of bytes upfront typically requires separate code to compute the final size, which must be kept in sync with the actual encoding step, or vulnerabilities may result. In multi-threaded code, parts of the object being deserialized might change, so that the computed size is out of date.
 		</div><div class="para">
 			You should avoid copying data directly from a received packet during encoding, disregarding the format. Propagating malformed data could enable attacks on other recipients of that data.
 		</div><div class="para">
 			When using C or C++ and copying whole data structures directly into the output, make sure that you do not leak information in padding bytes between fields or at the end of the <code class="literal">struct</code>.
-		</div></div></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-Cryptography" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 10. Cryptography</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#idm224051435104">10.1. Primitives</a></span></dt><dt><span class="section"><a href="#idm224036442016">10.2. Randomness</a></span></dt></dl></div><div class="section" id="idm224051435104"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224051435104">10.1. Primitives</h2></div></div></div><div class="para">
-			Chosing from the following cryptographic primitives is recommended:
+		</div></div></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-Cryptography" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 11. Cryptography</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#idm229857212496">11.1. Primitives</a></span></dt><dt><span class="section"><a href="#idm229833179664">11.2. Randomness</a></span></dt></dl></div><div class="section" id="idm229857212496"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229857212496">11.1. Primitives</h2></div></div></div><div class="para">
+			Choosing from the following cryptographic primitives is recommended:
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					RSA with 2048 bit keys and OAEP
 				</div></li><li class="listitem"><div class="para">
@@ -1091,9 +1423,9 @@ validator.<span class="perl_Function">validate</span>(<span class="perl_Keyword"
 				</div></li><li class="listitem"><div class="para">
 					HMAC-MD5
 				</div></li></ul></div><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
-				These primitives are difficult to use in a secure way. Custom implementation of security protocols should be avoided. For protecting confidentiality and integrity of network transmissions, TLS should be used (<a class="xref" href="#chap-Defensive_Coding-TLS">Chapter 12, <em>Transport Layer Security</em></a>).
-			</div></div></div></div><div class="section" id="idm224036442016"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224036442016">10.2. Randomness</h2></div></div></div><div class="para">
-			The following facilities can be used to generate unpredictable and non-repeating values. When these functions are used without special safeguards, each individual rnadom value should be at least 12 bytes long.
+				These primitives are difficult to use in a secure way. Custom implementation of security protocols should be avoided. For protecting confidentiality and integrity of network transmissions, TLS should be used (<a class="xref" href="#chap-Defensive_Coding-TLS">Chapter 13, <em>Transport Layer Security</em></a>).
+			</div></div></div></div><div class="section" id="idm229833179664"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229833179664">11.2. Randomness</h2></div></div></div><div class="para">
+			The following facilities can be used to generate unpredictable and non-repeating values. When these functions are used without special safeguards, each individual random value should be at least 12 bytes long.
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					<code class="function">PK11_GenerateRandom</code> in the NSS library (usable for high data rates)
 				</div></li><li class="listitem"><div class="para">
@@ -1114,7 +1446,7 @@ validator.<span class="perl_Function">validate</span>(<span class="perl_Keyword"
 			Other sources of randomness should be considered predictable.
 		</div><div class="para">
 			Generating randomness for cryptographic keys in long-term use may need different steps and is best left to cryptographic libraries.
-		</div></div></div></div><div class="part" id="idm224106902768"><div class="titlepage"><div><div text-align="center"><h1 class="title">Part III. Implementing Security Features</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="#chap-Defensive_Coding-Authentication">11. Authentication and Authorization</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Server">11.1. Authenticating servers</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Host_based">11.2. Host-based authentication</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-UNIX_Domain">11.3. UNIX domain socket authentication</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Netlink">11.4. <code class="literal">AF_NETLINK</code> authentication of origin</a></span></dt></dl></dd><dt>
 <span class="chapter"><a href="#chap-Defensive_Coding-TLS">12. Transport Layer Security</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls">12.1. Common Pitfalls</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-OpenSSL">12.1.1. OpenSSL Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">12.1.2. GNUTLS Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">12.1.3. OpenJDK Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-NSS">12.1.4. NSS Pitfalls</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client">12.2. TLS Clients</a></span></dt><dd><dl><dt><span class="section"><a href="#idm224079009376">12.2.1. Implementation TLS Clients With OpenSSL</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-C
 lient-GNUTLS">12.2.2. Implementation TLS Clients With GNUTLS</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-OpenJDK">12.2.3. Implementing TLS Clients With OpenJDK</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-NSS">12.2.4. Implementing TLS Clients With NSS</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-Python">12.2.5. Implementing TLS Clients With Python</a></span></dt></dl></dd></dl></dd></dl></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Authentication" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 11. Authentication and Authorization</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Server">11.1. Authenticating servers</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Host_based">11.2. Host-based au
 thentication</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-UNIX_Domain">11.3. UNIX domain socket authentication</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Netlink">11.4. <code class="literal">AF_NETLINK</code> authentication of origin</a></span></dt></dl></div><div class="section" id="sect-Defensive_Coding-Authentication-Server"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">11.1. Authenticating servers</h2></div></div></div><div class="para">
+		</div></div></div></div><div class="part" id="idm229772897552"><div class="titlepage"><div><div text-align="center"><h1 class="title">Part III. Implementing Security Features</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="#chap-Defensive_Coding-Authentication">12. Authentication and Authorization</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Server">12.1. Authenticating servers</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Host_based">12.2. Host-based authentication</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-UNIX_Domain">12.3. UNIX domain socket authentication</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Netlink">12.4. <code class="literal">AF_NETLINK</code> authentication of origin</a></span></dt></dl></dd><dt>
 <span class="chapter"><a href="#chap-Defensive_Coding-TLS">13. Transport Layer Security</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls">13.1. Common Pitfalls</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-OpenSSL">13.1.1. OpenSSL Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">13.1.2. GNUTLS Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">13.1.3. OpenJDK Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-NSS">13.1.4. NSS Pitfalls</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client">13.2. TLS Clients</a></span></dt><dd><dl><dt><span class="section"><a href="#idm229810469184">13.2.1. Implementation TLS Clients With OpenSSL</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-C
 lient-GNUTLS">13.2.2. Implementation TLS Clients With GNUTLS</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-OpenJDK">13.2.3. Implementing TLS Clients With OpenJDK</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-NSS">13.2.4. Implementing TLS Clients With NSS</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-Python">13.2.5. Implementing TLS Clients With Python</a></span></dt></dl></dd></dl></dd></dl></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Authentication" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 12. Authentication and Authorization</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Server">12.1. Authenticating servers</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Host_based">12.2. Host-based au
 thentication</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-UNIX_Domain">12.3. UNIX domain socket authentication</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-Authentication-Netlink">12.4. <code class="literal">AF_NETLINK</code> authentication of origin</a></span></dt></dl></div><div class="section" id="sect-Defensive_Coding-Authentication-Server"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">12.1. Authenticating servers</h2></div></div></div><div class="para">
 			When connecting to a server, a client has to make sure that it is actually talking to the server it expects. There are two different aspects, securing the network path, and making sure that the expected user runs the process on the target host. There are several ways to ensure that:
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					The server uses a TLS certificate which is valid according to the web browser public key infrastructure, and the client verifies the certificate and the host name.
@@ -1125,10 +1457,10 @@ validator.<span class="perl_Function">validate</span>(<span class="perl_Keyword"
 				</div></li><li class="listitem"><div class="para">
 					Port numbers less than 1024 (<span class="emphasis"><em>trusted ports</em></span>) can only be used by <code class="literal">root</code>, so if a UDP or TCP server is running on the local host and it uses a trusted port, its identity is assured. (Not all operating systems enforce the trusted ports concept, and the network might not be trusted, so it is only useful on the local system.)
 				</div></li></ul></div><div class="para">
-			TLS (<a class="xref" href="#chap-Defensive_Coding-TLS">Chapter 12, <em>Transport Layer Security</em></a>) is the recommended way for securing connections over untrusted networks.
+			TLS (<a class="xref" href="#chap-Defensive_Coding-TLS">Chapter 13, <em>Transport Layer Security</em></a>) is the recommended way for securing connections over untrusted networks.
 		</div><div class="para">
 			If the server port number is 1024 is higher, a local user can impersonate the process by binding to this socket, perhaps after crashing the real server by exploiting a denial-of-service vulnerability.
-		</div></div><div class="section" id="sect-Defensive_Coding-Authentication-Host_based"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">11.2. Host-based authentication</h2></div></div></div><div class="para">
+		</div></div><div class="section" id="sect-Defensive_Coding-Authentication-Host_based"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">12.2. Host-based authentication</h2></div></div></div><div class="para">
 			Host-based authentication uses access control lists (ACLs) to accept or deny requests from clients. Thsis authentication method comes in two flavors: IP-based (or, more generally, address-based) and name-based (with the name coming from DNS or <code class="filename">/etc/hosts</code>). IP-based ACLs often use prefix notation to extend access to entire subnets. Name-based ACLs sometimes use wildcards for adding groups of hosts (from entire DNS subtrees). (In the SSH context, host-based authentication means something completely different and is not covered in this section.)
 		</div><div class="para">
 			Host-based authentication trust the network and may not offer sufficient granularity, so it has to be considered a weak form of authentication. On the other hand, IP-based authentication can be made extremely robust and can be applied very early in input processing, so it offers an opportunity for significantly reducing the number of potential attackers for many services.
@@ -1140,7 +1472,7 @@ validator.<span class="perl_Function">validate</span>(<span class="perl_Keyword"
 			Similarly, if an address or name is not matched by the list, it should be denied. However, many implementations behave differently, so the actual behavior must be documented properly.
 		</div><div class="para">
 			IPv6 addresses can embed IPv4 addresses. There is no universally correct way to deal with this ambiguity. The behavior of the ACL implementation should be documented.
-		</div></div><div class="section" id="sect-Defensive_Coding-Authentication-UNIX_Domain"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">11.3. UNIX domain socket authentication</h2></div></div></div><div class="para">
+		</div></div><div class="section" id="sect-Defensive_Coding-Authentication-UNIX_Domain"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">12.3. UNIX domain socket authentication</h2></div></div></div><div class="para">
 			UNIX domain sockets (with address family <code class="literal">AF_UNIX</code> or <code class="literal">AF_LOCAL</code>) are restricted to the local host and offer a special authentication mechanism: credentials passing.
 		</div><div class="para">
 			Nowadays, most systems support the <code class="literal">SO_PEERCRED</code> (Linux) or <code class="literal">LOCAL_PEERCRED</code> (FreeBSD) socket options, or the <code class="function">getpeereid</code> (other BSDs, MacOS X). These interfaces provide direct access to the (effective) user ID on the other end of a domain socket connect, without cooperation from the other end.
@@ -1148,15 +1480,15 @@ validator.<span class="perl_Function">validate</span>(<span class="perl_Keyword"
 			Historically, credentials passing was implemented using ancillary data in the <code class="function">sendmsg</code> and <code class="function">recvmsg</code> functions. On some systems, only credentials data that the peer has explicitly sent can be received, and the kernel checks the data for correctness on the sending side. This means that both peers need to deal with ancillary data. Compared to that, the modern interfaces are easier to use. Both sets of interfaces vary considerably among UNIX-like systems, unfortunately.
 		</div><div class="para">
 			If you want to authenticate based on supplementary groups, you should obtain the user ID using one of these methods, and look up the list of supplementary groups using <code class="function">getpwuid</code> (or <code class="function">getpwuid_r</code>) and <code class="function">getgrouplist</code>. Using the PID and information from <code class="filename">/proc/PID/status</code> is prone to race conditions and insecure.
-		</div></div><div class="section" id="sect-Defensive_Coding-Authentication-Netlink"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">11.4. <code class="literal">AF_NETLINK</code> authentication of origin</h2></div></div></div><div class="para">
+		</div></div><div class="section" id="sect-Defensive_Coding-Authentication-Netlink"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">12.4. <code class="literal">AF_NETLINK</code> authentication of origin</h2></div></div></div><div class="para">
 			Netlink messages are used as a high-performance data transfer mechanism between the kernel and the userspace. Traditionally, they are used to exchange information related to the network statck, such as routing table entries.
 		</div><div class="para">
 			When processing Netlink messages from the kernel, it is important to check that these messages actually originate from the kernel, by checking that the port ID (or PID) field <code class="literal">nl_pid</code> in the <code class="literal">sockaddr_nl</code> structure is <code class="literal">0</code>. (This structure can be obtained using <code class="function">recvfrom</code> or <code class="function">recvmsg</code>, it is different from the <code class="literal">nlmsghdr</code> structure.) The kernel does not prevent other processes from sending unicast Netlink messages, but the <code class="literal">nl_pid</code> field in the sender's socket address will be non-zero in such cases.
 		</div><div class="para">
 			Applications should not use <code class="literal">AF_NETLINK</code> sockets as an IPC mechanism among processes, but prefer UNIX domain sockets for this tasks.
-		</div></div></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-TLS" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 12. Transport Layer Security</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls">12.1. Common Pitfalls</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-OpenSSL">12.1.1. OpenSSL Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">12.1.2. GNUTLS Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">12.1.3. OpenJDK Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-NSS">12.1.4. NSS Pitfalls</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client">12.2. TLS Clients</a></span></dt><dd><dl><dt><span class="section"><a href="#idm2240
 79009376">12.2.1. Implementation TLS Clients With OpenSSL</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-GNUTLS">12.2.2. Implementation TLS Clients With GNUTLS</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-OpenJDK">12.2.3. Implementing TLS Clients With OpenJDK</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-NSS">12.2.4. Implementing TLS Clients With NSS</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-Python">12.2.5. Implementing TLS Clients With Python</a></span></dt></dl></dd></dl></div><div class="para">
+		</div></div></div><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-TLS" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 13. Transport Layer Security</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls">13.1. Common Pitfalls</a></span></dt><dd><dl><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-OpenSSL">13.1.1. OpenSSL Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">13.1.2. GNUTLS Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">13.1.3. OpenJDK Pitfalls</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Pitfalls-NSS">13.1.4. NSS Pitfalls</a></span></dt></dl></dd><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client">13.2. TLS Clients</a></span></dt><dd><dl><dt><span class="section"><a href="#idm2298
 10469184">13.2.1. Implementation TLS Clients With OpenSSL</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-GNUTLS">13.2.2. Implementation TLS Clients With GNUTLS</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-OpenJDK">13.2.3. Implementing TLS Clients With OpenJDK</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-NSS">13.2.4. Implementing TLS Clients With NSS</a></span></dt><dt><span class="section"><a href="#sect-Defensive_Coding-TLS-Client-Python">13.2.5. Implementing TLS Clients With Python</a></span></dt></dl></dd></dl></div><div class="para">
 		Transport Layer Security (TLS, formerly Secure Sockets Layer/SSL) is the recommended way to to protect integrity and confidentiality while data is transferred over an untrusted network connection, and to identify the endpoint.
-	</div><div class="section" id="sect-Defensive_Coding-TLS-Pitfalls"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">12.1. Common Pitfalls</h2></div></div></div><div class="para">
+	</div><div class="section" id="sect-Defensive_Coding-TLS-Pitfalls"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">13.1. Common Pitfalls</h2></div></div></div><div class="para">
 			TLS implementations are difficult to use, and most of them lack a clean API design. The following sections contain implementation-specific advice, and some generic pitfalls are mentioned below.
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					Most TLS implementations have questionable default TLS cipher suites. Most of them enable anonymous Diffie-Hellman key exchange (but we generally want servers to authenticate themselves). Many do not disable ciphers which are subject to brute-force attacks because of restricted key lengths. Some even disable all variants of AES in the default configuration.
@@ -1166,7 +1498,7 @@ validator.<span class="perl_Function">validate</span>(<span class="perl_Keyword"
 					The name which is used in certificate validation must match the name provided by the user or configuration file. No host name canonicalization or IP address lookup must be performed.
 				</div></li><li class="listitem"><div class="para">
 					The TLS handshake has very poor performance if the TCP Nagle algorithm is active. You should switch on the <code class="literal">TCP_NODELAY</code> socket option (at least for the duration of the handshake), or use the Linux-specific <code class="literal">TCP_CORK</code> option.
-				</div><div class="example" id="ex-Defensive_Coding-TLS-Nagle"><h6>Example 12.1. Deactivating the TCP Nagle algorithm</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				</div><div class="example" id="ex-Defensive_Coding-TLS-Nagle"><h6>Example 13.1. Deactivating the TCP Nagle algorithm</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_DataType">const</span> <span class="perl_DataType">int</span> val = <span class="perl_Float">1</span>;
 <span class="perl_DataType">int</span> ret = setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, &amp;val, <span class="perl_Keyword">sizeof</span>(val));
 <span class="perl_Keyword">if</span> (ret &lt; 0) {
@@ -1180,8 +1512,8 @@ validator.<span class="perl_Function">validate</span>(<span class="perl_Keyword"
 				</div></li><li class="listitem"><div class="para">
 					When implementing a server using event-driven programming, it is important to handle the TLS handshake properly because it includes multiple network round-trips which can block when an ordinary TCP <code class="function">accept</code> would not. Otherwise, a client which fails to complete the TLS handshake for some reason will prevent the server from handling input from other clients.
 				</div></li><li class="listitem"><div class="para">
-					Unlike regular file descriptors, TLS connections cannot be passed between processes. Some TLS implementations add additional restrictions, and TLS connections generally cannot be used across <code class="function">fork</code> function calls (see <a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-Fork-Parallel">Section 8.6, “<code class="function">fork</code> as a primitive for parallelism”</a>).
-				</div></li></ul></div><div class="section" id="sect-Defensive_Coding-TLS-OpenSSL"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">12.1.1. OpenSSL Pitfalls</h3></div></div></div><div class="para">
+					Unlike regular file descriptors, TLS connections cannot be passed between processes. Some TLS implementations add additional restrictions, and TLS connections generally cannot be used across <code class="function">fork</code> function calls (see <a class="xref" href="#sect-Defensive_Coding-Tasks-Processes-Fork-Parallel">Section 9.6, “<code class="function">fork</code> as a primitive for parallelism”</a>).
+				</div></li></ul></div><div class="section" id="sect-Defensive_Coding-TLS-OpenSSL"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">13.1.1. OpenSSL Pitfalls</h3></div></div></div><div class="para">
 				Some OpenSSL function use <span class="emphasis"><em>tri-state return values</em></span>. Correct error checking is extremely important. Several functions return <code class="literal">int</code> values with the following meaning:
 			</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 						The value <code class="literal">1</code> indicates success (for example, a successful signature verification).
@@ -1192,8 +1524,8 @@ validator.<span class="perl_Function">validate</span>(<span class="perl_Keyword"
 					</div></li></ul></div><div class="para">
 				Treating such tri-state return values as booleans can lead to security vulnerabilities. Note that some OpenSSL functions return boolean results or yet another set of status indicators. Each function needs to be checked individually.
 			</div><div class="para">
-				Recovering precise error information is difficult. <a class="xref" href="#ex-Defensive_Coding-TLS-OpenSSL-Errors">Example 12.2, “Obtaining OpenSSL error codes”</a> shows how to obtain a more precise error code after a function call on an <code class="literal">SSL</code> object has failed. However, there are still cases where no detailed error information is available (e.g., if <code class="function">SSL_shutdown</code> fails due to a connection teardown by the other end).
-			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Errors"><h6>Example 12.2. Obtaining OpenSSL error codes</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				Recovering precise error information is difficult. <a class="xref" href="#ex-Defensive_Coding-TLS-OpenSSL-Errors">Example 13.2, “Obtaining OpenSSL error codes”</a> shows how to obtain a more precise error code after a function call on an <code class="literal">SSL</code> object has failed. However, there are still cases where no detailed error information is available (e.g., if <code class="function">SSL_shutdown</code> fails due to a connection teardown by the other end).
+			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Errors"><h6>Example 13.2. Obtaining OpenSSL error codes</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_DataType">static</span> <span class="perl_DataType">void</span> __attribute__((noreturn))
 ssl_print_error_and_exit(SSL *ssl, <span class="perl_DataType">const</span> <span class="perl_DataType">char</span> *op, <span class="perl_DataType">int</span> ret)
 {
@@ -1231,7 +1563,7 @@ ssl_print_error_and_exit(SSL *ssl, <span class="perl_DataType">const</span> <spa
 				The OpenSSL server and client applications (<code class="command">openssl s_client</code> and <code class="command">openssl s_server</code>) are debugging tools and should <span class="emphasis"><em>never</em></span> be used as generic clients. For instance, the <span class="application"><strong>s_client</strong></span> tool reacts in a surprisign way to lines starting with <code class="literal">R</code> and <code class="literal">Q</code>.
 			</div><div class="para">
 				OpenSSL allows application code to access private key material over documented interfaces. This can significantly increase the part of the code base which has to undergo security certification.
-			</div></div><div class="section" id="sect-Defensive_Coding-TLS-Pitfalls-GNUTLS"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">12.1.2. GNUTLS Pitfalls</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="sect-Defensive_Coding-TLS-Pitfalls-GNUTLS"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">13.1.2. GNUTLS Pitfalls</h3></div></div></div><div class="para">
 				<code class="filename">libgnutls.so.26</code> links to <code class="filename">libpthread.so.0</code>. Loading the threading library too late causes problems, so the main program should be linked with <code class="literal">-lpthread</code> as well. As a result, it can be difficult to use GNUTLS in a plugin which is loaded with the <code class="function">dlopen</code> function. Another side effect is that applications which merely link against GNUTLS (even without actually using it) may incur a substantial overhead because other libraries automatically switch to thread-safe algorithms.
 			</div><div class="para">
 				The <code class="function">gnutls_global_init</code> function must be called before using any functionality provided by the library. This function is not thread-safe, so external locking is required, but it is not clear which lock should be used. Omitting the synchronization does not just lead to a memory leak, as it is suggested in the GNUTLS documentation, but to undefined behavior because there is no barrier that would enforce memory ordering.
@@ -1239,19 +1571,19 @@ ssl_print_error_and_exit(SSL *ssl, <span class="perl_DataType">const</span> <spa
 				The <code class="function">gnutls_global_deinit</code> function does not actually deallocate all resources allocated by <code class="function">gnutls_global_init</code>. It is currently not thread-safe. Therefore, it is best to avoid calling it altogether.
 			</div><div class="para">
 				The X.509 implementation in GNUTLS is rather lenient. For example, it is possible to create and process X.509 version 1 certificates which carry extensions. These certificates are (correctly) rejected by other implementations.
-			</div></div><div class="section" id="sect-Defensive_Coding-TLS-Pitfalls-OpenJDK"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">12.1.3. OpenJDK Pitfalls</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="sect-Defensive_Coding-TLS-Pitfalls-OpenJDK"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">13.1.3. OpenJDK Pitfalls</h3></div></div></div><div class="para">
 				The Java cryptographic framework is highly modular. As a result, when you request an object implementing some cryptographic functionality, you cannot be completely sure that you end up with the well-tested, reviewed implementation in OpenJDK.
 			</div><div class="para">
 				OpenJDK (in the source code as published by Oracle) and other implementations of the Java platform require that the system administrator has installed so-called <span class="emphasis"><em>unlimited strength jurisdiction policy files</em></span>. Without this step, it is not possible to use the secure algorithms which offer sufficient cryptographic strength. Most downstream redistributors of OpenJDK remove this requirement.
 			</div><div class="para">
 				Some versions of OpenJDK use <code class="filename">/dev/random</code> as the randomness source for nonces and other random data which is needed for TLS operation, but does not actually require physical randomness. As a result, TLS applications can block, waiting for more bits to become available in <code class="filename">/dev/random</code>.
-			</div></div><div class="section" id="sect-Defensive_Coding-TLS-Pitfalls-NSS"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">12.1.4. NSS Pitfalls</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="sect-Defensive_Coding-TLS-Pitfalls-NSS"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">13.1.4. NSS Pitfalls</h3></div></div></div><div class="para">
 				NSS was not designed to be used by other libraries which can be linked into applications without modifying them. There is a lot of global state. There does not seem to be a way to perform required NSS initialization without race conditions.
 			</div><div class="para">
 				If the NSPR descriptor is in an unexpected state, the <code class="function">SSL_ForceHandshake</code> function can succeed, but no TLS handshake takes place, the peer is not authenticated, and subsequent data is exchanged in the clear.
 			</div><div class="para">
 				NSS disables itself if it detects that the process underwent a <code class="function">fork</code> after the library has been initialized. This behavior is required by the PKCS#11 API specification.
-			</div></div></div><div class="section" id="sect-Defensive_Coding-TLS-Client"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">12.2. TLS Clients</h2></div></div></div><div class="para">
+			</div></div></div><div class="section" id="sect-Defensive_Coding-TLS-Client"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">13.2. TLS Clients</h2></div></div></div><div class="para">
 			Secure use of TLS in a client generally involves all of the following steps. (Individual instructions for specific TLS implementations follow in the next sections.)
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					The client must configure the TLS library to use a set of trusted root certificates. These certificates are provided by the system in <code class="filename">/etc/ssl/certs</code> or files derived from it.
@@ -1267,11 +1599,11 @@ ssl_print_error_and_exit(SSL *ssl, <span class="perl_DataType">const</span> <spa
 			It is safe to provide users detailed diagnostics on certificate validation failures. Other causes of handshake failures and, generally speaking, any details on other errors reported by the TLS implementation (particularly exception tracebacks), must not be divulged in ways that make them accessible to potential attackers. Otherwise, it is possible to create decryption oracles.
 		</div><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
 				Depending on the application, revocation checking (against certificate revocations lists or via OCSP) and session resumption are important aspects of production-quality client. These aspects are not yet covered.
-			</div></div></div><div class="section" id="idm224079009376"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224079009376">12.2.1. Implementation TLS Clients With OpenSSL</h3></div></div></div><div class="para">
+			</div></div></div><div class="section" id="idm229810469184"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229810469184">13.2.1. Implementation TLS Clients With OpenSSL</h3></div></div></div><div class="para">
 				In the following code, the error handling is only exploratory. Proper error handling is required for production use, especially in libraries. 
 			</div><div class="para">
-				The OpenSSL library needs explicit initialization (see <a class="xref" href="#ex-Defensive_Coding-TLS-OpenSSL-Init">Example 12.3, “OpenSSL library initialization”</a>).
-			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Init"><h6>Example 12.3. OpenSSL library initialization</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				The OpenSSL library needs explicit initialization (see <a class="xref" href="#ex-Defensive_Coding-TLS-OpenSSL-Init">Example 13.3, “OpenSSL library initialization”</a>).
+			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Init"><h6>Example 13.3. OpenSSL library initialization</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// The following call prints an error message and calls exit() if</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// the OpenSSL configuration file is unreadable.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>OPENSSL_config(NULL);
@@ -1280,8 +1612,8 @@ ssl_print_error_and_exit(SSL *ssl, <span class="perl_DataType">const</span> <spa
 <span class="perl_Comment">// Register ciphers.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>SSL_library_init();
 </pre></div></div><br class="example-break" /><div class="para">
-				After that, a context object has to be created, which acts as a factory for connection objects (<a class="xref" href="#ex-Defensive_Coding-TLS-Client-OpenSSL-CTX">Example 12.4, “OpenSSL client context creation”</a>). We use an explicit cipher list so that we do not pick up any strange ciphers when OpenSSL is upgraded. The actual version requested in the client hello depends on additional restrictions in the OpenSSL library. If possible, you should follow the example code and use the default list of trusted root certificate authorities provided by the system because you would have to maintain your own set otherwise, which can be cumbersome.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenSSL-CTX"><h6>Example 12.4. OpenSSL client context creation</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				After that, a context object has to be created, which acts as a factory for connection objects (<a class="xref" href="#ex-Defensive_Coding-TLS-Client-OpenSSL-CTX">Example 13.4, “OpenSSL client context creation”</a>). We use an explicit cipher list so that we do not pick up any strange ciphers when OpenSSL is upgraded. The actual version requested in the client hello depends on additional restrictions in the OpenSSL library. If possible, you should follow the example code and use the default list of trusted root certificate authorities provided by the system because you would have to maintain your own set otherwise, which can be cumbersome.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenSSL-CTX"><h6>Example 13.4. OpenSSL client context creation</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Configure a client connection context.  Send a hendshake for the</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// highest supported TLS version, and disable compression.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_DataType">const</span> SSL_METHOD *<span class="perl_DataType">const</span> req_method = SSLv23_client_method();
@@ -1350,12 +1682,12 @@ SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_COMPRESSION);
 </pre></div></div><br class="example-break" /><div class="para">
 				A single context object can be used to create multiple connection objects. It is safe to use the same <code class="literal">SSL_CTX</code> object for creating connections concurrently from multiple threads, provided that the <code class="literal">SSL_CTX</code> object is not modified (e.g., callbacks must not be changed).
 			</div><div class="para">
-				After creating the TCP socket and disabling the Nagle algorithm (per <a class="xref" href="#ex-Defensive_Coding-TLS-Nagle">Example 12.1, “Deactivating the TCP Nagle algorithm”</a>), the actual connection object needs to be created, as show in <a class="xref" href="#ex-Defensive_Coding-TLS-Client-OpenSSL-CTX">Example 12.4, “OpenSSL client context creation”</a>. If the handshake started by <code class="function">SSL_connect</code> fails, the <code class="function">ssl_print_error_and_exit</code> function from <a class="xref" href="#ex-Defensive_Coding-TLS-OpenSSL-Errors">Example 12.2, “Obtaining OpenSSL error codes”</a> is called.
+				After creating the TCP socket and disabling the Nagle algorithm (per <a class="xref" href="#ex-Defensive_Coding-TLS-Nagle">Example 13.1, “Deactivating the TCP Nagle algorithm”</a>), the actual connection object needs to be created, as show in <a class="xref" href="#ex-Defensive_Coding-TLS-Client-OpenSSL-CTX">Example 13.4, “OpenSSL client context creation”</a>. If the handshake started by <code class="function">SSL_connect</code> fails, the <code class="function">ssl_print_error_and_exit</code> function from <a class="xref" href="#ex-Defensive_Coding-TLS-OpenSSL-Errors">Example 13.2, “Obtaining OpenSSL error codes”</a> is called.
 			</div><div class="para">
 				The <code class="function">certificate_validity_override</code> function provides an opportunity to override the validity of the certificate in case the OpenSSL check fails. If such functionality is not required, the call can be removed, otherwise, the application developer has to implement it.
 			</div><div class="para">
 				The host name passed to the functions <code class="function">SSL_set_tlsext_host_name</code> and <code class="function">X509_check_host</code> must be the name that was passed to <code class="function">getaddrinfo</code> or a similar name resolution function. No host name canonicalization must be performed. The <code class="function">X509_check_host</code> function used in the final step for host name matching is currently only implemented in OpenSSL 1.1, which is not released yet. In case host name matching fails, the function <code class="function">certificate_host_name_override</code> is called. This function should check user-specific certificate store, to allow a connection even if the host name does not match the certificate. This function has to be provided by the application developer. Note that the override must be keyed by both the certificate <span class="emphasis"><em>and</em></span> the host name.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenSSL-Connect"><h6>Example 12.5. Creating a client connection using OpenSSL</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenSSL-Connect"><h6>Example 13.5. Creating a client connection using OpenSSL</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Create the connection object.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>SSL *ssl = SSL_new(ctx);
 <span class="perl_Keyword">if</span> (ssl == NULL) {
@@ -1406,8 +1738,8 @@ SSL_set_fd(ssl, sockfd);
 X509_free(peercert);
 
 </pre></div></div><br class="example-break" /><div class="para">
-				The connection object can be used for sending and receiving data, as in <a class="xref" href="#ex-Defensive_Coding-TLS-OpenSSL-Connection-Use">Example 12.6, “Using an OpenSSL connection to send and receive data”</a>. It is also possible to create a <code class="literal">BIO</code> object and use the <code class="literal">SSL</code> object as the underlying transport, using <code class="function">BIO_set_ssl</code>.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Connection-Use"><h6>Example 12.6. Using an OpenSSL connection to send and receive data</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				The connection object can be used for sending and receiving data, as in <a class="xref" href="#ex-Defensive_Coding-TLS-OpenSSL-Connection-Use">Example 13.6, “Using an OpenSSL connection to send and receive data”</a>. It is also possible to create a <code class="literal">BIO</code> object and use the <code class="literal">SSL</code> object as the underlying transport, using <code class="function">BIO_set_ssl</code>.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Connection-Use"><h6>Example 13.6. Using an OpenSSL connection to send and receive data</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_DataType">const</span> <span class="perl_DataType">char</span> *<span class="perl_DataType">const</span> req = <span class="perl_String">"GET / HTTP/1.0</span><span class="perl_Char">\r\n\r\n</span><span class="perl_String">"</span>;
 <span class="perl_Keyword">if</span> (SSL_write(ssl, req, strlen(req)) &lt; 0) {
   ssl_print_error_and_exit(ssl, <span class="perl_String">"SSL_write"</span>, ret);
@@ -1418,8 +1750,8 @@ ret = SSL_read(ssl, buf, <span class="perl_Keyword">sizeof</span>(buf));
   ssl_print_error_and_exit(ssl, <span class="perl_String">"SSL_read"</span>, ret);
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				When it is time to close the connection, the <code class="function">SSL_shutdown</code> function needs to be called twice for an orderly, synchronous connection termination (<a class="xref" href="#ex-Defensive_Coding-TLS-OpenSSL-Connection-Close">Example 12.7, “Closing an OpenSSL connection in an orderly fashion”</a>). This exchanges <code class="literal">close_notify</code> alerts with the server. The additional logic is required to deal with an unexpected <code class="literal">close_notify</code> from the server. Note that is necessary to explicitly close the underlying socket after the connection object has been freed.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Connection-Close"><h6>Example 12.7. Closing an OpenSSL connection in an orderly fashion</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				When it is time to close the connection, the <code class="function">SSL_shutdown</code> function needs to be called twice for an orderly, synchronous connection termination (<a class="xref" href="#ex-Defensive_Coding-TLS-OpenSSL-Connection-Close">Example 13.7, “Closing an OpenSSL connection in an orderly fashion”</a>). This exchanges <code class="literal">close_notify</code> alerts with the server. The additional logic is required to deal with an unexpected <code class="literal">close_notify</code> from the server. Note that is necessary to explicitly close the underlying socket after the connection object has been freed.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Connection-Close"><h6>Example 13.7. Closing an OpenSSL connection in an orderly fashion</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Send the close_notify alert.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>ret = SSL_shutdown(ssl);
 <span class="perl_Keyword">switch</span> (ret) {
@@ -1445,20 +1777,20 @@ ret = SSL_read(ssl, buf, <span class="perl_Keyword">sizeof</span>(buf));
 SSL_free(ssl);
 close(sockfd);
 </pre></div></div><br class="example-break" /><div class="para">
-				<a class="xref" href="#ex-Defensive_Coding-TLS-OpenSSL-Context-Close">Example 12.8, “Closing an OpenSSL connection in an orderly fashion”</a> shows how to deallocate the context object when it is no longer needed because no further TLS connections will be established.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Context-Close"><h6>Example 12.8. Closing an OpenSSL connection in an orderly fashion</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				<a class="xref" href="#ex-Defensive_Coding-TLS-OpenSSL-Context-Close">Example 13.8, “Closing an OpenSSL connection in an orderly fashion”</a> shows how to deallocate the context object when it is no longer needed because no further TLS connections will be established.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Context-Close"><h6>Example 13.8. Closing an OpenSSL connection in an orderly fashion</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 SSL_CTX_free(ctx);
-</pre></div></div><br class="example-break" /></div><div class="section" id="sect-Defensive_Coding-TLS-Client-GNUTLS"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">12.2.2. Implementation TLS Clients With GNUTLS</h3></div></div></div><div class="para">
+</pre></div></div><br class="example-break" /></div><div class="section" id="sect-Defensive_Coding-TLS-Client-GNUTLS"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">13.2.2. Implementation TLS Clients With GNUTLS</h3></div></div></div><div class="para">
 				This section describes how to implement a TLS client with full certificate validation (but without certificate revocation checking). Note that the error handling in is only exploratory and needs to be replaced before production use.
 			</div><div class="para">
 				The GNUTLS library needs explicit initialization:
 			</div><div class="informalexample" id="ex-Defensive_Coding-TLS-GNUTLS-Init"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 gnutls_global_init();
 </pre></div><div class="para">
-				Failing to do so can result in obscure failures in Base64 decoding. See <a class="xref" href="#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">Section 12.1.2, “GNUTLS Pitfalls”</a> for additional aspects of initialization.
+				Failing to do so can result in obscure failures in Base64 decoding. See <a class="xref" href="#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">Section 13.1.2, “GNUTLS Pitfalls”</a> for additional aspects of initialization.
 			</div><div class="para">
-				Before setting up TLS connections, a credentials objects has to be allocated and initialized with the set of trusted root CAs (<a class="xref" href="#ex-Defensive_Coding-TLS-Client-GNUTLS-Credentials">Example 12.9, “Initializing a GNUTLS credentials structure”</a>).
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-GNUTLS-Credentials"><h6>Example 12.9. Initializing a GNUTLS credentials structure</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				Before setting up TLS connections, a credentials objects has to be allocated and initialized with the set of trusted root CAs (<a class="xref" href="#ex-Defensive_Coding-TLS-Client-GNUTLS-Credentials">Example 13.9, “Initializing a GNUTLS credentials structure”</a>).
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-GNUTLS-Credentials"><h6>Example 13.9. Initializing a GNUTLS credentials structure</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Load the trusted CA certificates.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>gnutls_certificate_credentials_t cred = NULL;
 <span class="perl_DataType">int</span> ret = gnutls_certificate_allocate_credentials (&amp;cred);
@@ -1489,8 +1821,8 @@ gnutls_certificate_free_credentials(cred);
 </pre></div><div class="para">
 				During its lifetime, the credentials object can be used to initialize TLS session objects from multiple threads, provided that it is not changed.
 			</div><div class="para">
-				Once the TCP connection has been established, the Nagle algorithm should be disabled (see <a class="xref" href="#ex-Defensive_Coding-TLS-Nagle">Example 12.1, “Deactivating the TCP Nagle algorithm”</a>). After that, the socket can be associated with a new GNUTLS session object. The previously allocated credentials object provides the set of root CAs. The <code class="literal">NORMAL</code> set of cipher suites and protocols provides a reasonable default. Then the TLS handshake must be initiated. This is shown in <a class="xref" href="#ex-Defensive_Coding-TLS-Client-GNUTLS-Connect">Example 12.10, “Establishing a TLS client connection using GNUTLS”</a>.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-GNUTLS-Connect"><h6>Example 12.10. Establishing a TLS client connection using GNUTLS</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				Once the TCP connection has been established, the Nagle algorithm should be disabled (see <a class="xref" href="#ex-Defensive_Coding-TLS-Nagle">Example 13.1, “Deactivating the TCP Nagle algorithm”</a>). After that, the socket can be associated with a new GNUTLS session object. The previously allocated credentials object provides the set of root CAs. The <code class="literal">NORMAL</code> set of cipher suites and protocols provides a reasonable default. Then the TLS handshake must be initiated. This is shown in <a class="xref" href="#ex-Defensive_Coding-TLS-Client-GNUTLS-Connect">Example 13.10, “Establishing a TLS client connection using GNUTLS”</a>.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-GNUTLS-Connect"><h6>Example 13.10. Establishing a TLS client connection using GNUTLS</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Create the session object.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>gnutls_session_t session;
 ret = gnutls_init(&amp;session, GNUTLS_CLIENT);
@@ -1536,8 +1868,8 @@ ret = gnutls_server_name_set(session, GNUTLS_NAME_DNS,
   exit(<span class="perl_Float">1</span>);
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				After the handshake has been completed, the server certificate needs to be verified (<a class="xref" href="#ex-Defensive_Coding-TLS-Client-GNUTLS-Verify">Example 12.11, “Verifying a server certificate using GNUTLS”</a>). In the example, the user-defined <code class="function">certificate_validity_override</code> function is called if the verification fails, so that a separate, user-specific trust store can be checked. This function call can be omitted if the functionality is not needed.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-GNUTLS-Verify"><h6>Example 12.11. Verifying a server certificate using GNUTLS</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				After the handshake has been completed, the server certificate needs to be verified (<a class="xref" href="#ex-Defensive_Coding-TLS-Client-GNUTLS-Verify">Example 13.11, “Verifying a server certificate using GNUTLS”</a>). In the example, the user-defined <code class="function">certificate_validity_override</code> function is called if the verification fails, so that a separate, user-specific trust store can be checked. This function call can be omitted if the functionality is not needed.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-GNUTLS-Verify"><h6>Example 13.11. Verifying a server certificate using GNUTLS</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Obtain the server certificate chain.  The server certificate</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// itself is stored in the first element of the array.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_DataType">unsigned</span> certslen = 0;
@@ -1575,8 +1907,8 @@ ret = gnutls_certificate_verify_peers2(session, &amp;status);
   }
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				In the next step (<a class="xref" href="#ex-Defensive_Coding-TLS-Client-GNUTLS-Match">Example 12.12, “Matching the server host name and certificate in a GNUTLS client”</a>, the certificate must be matched against the host name (note the unusual return value from <code class="function">gnutls_x509_crt_check_hostname</code>). Again, an override function <code class="function">certificate_host_name_override</code> is called. Note that the override must be keyed to the certificate <span class="emphasis"><em>and</em></span> the host name. The function call can be omitted if the override is not needed.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-GNUTLS-Match"><h6>Example 12.12. Matching the server host name and certificate in a GNUTLS client</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				In the next step (<a class="xref" href="#ex-Defensive_Coding-TLS-Client-GNUTLS-Match">Example 13.12, “Matching the server host name and certificate in a GNUTLS client”</a>, the certificate must be matched against the host name (note the unusual return value from <code class="function">gnutls_x509_crt_check_hostname</code>). Again, an override function <code class="function">certificate_host_name_override</code> is called. Note that the override must be keyed to the certificate <span class="emphasis"><em>and</em></span> the host name. The function call can be omitted if the override is not needed.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-GNUTLS-Match"><h6>Example 13.12. Matching the server host name and certificate in a GNUTLS client</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Match the peer certificate against the host name.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// We can only obtain a set of DER-encoded certificates from the</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// session object, so we have to re-parse the peer certificate into</span><span class="perl_Comment"></span>
@@ -1604,8 +1936,8 @@ gnutls_x509_crt_deinit(cert);
 </pre></div></div><br class="example-break" /><div class="para">
 				In newer GNUTLS versions, certificate checking and host name validation can be combined using the <code class="function">gnutls_certificate_verify_peers3</code> function.
 			</div><div class="para">
-				An established TLS session can be used for sending and receiving data, as in <a class="xref" href="#ex-Defensive_Coding-TLS-GNUTLS-Use">Example 12.13, “Using a GNUTLS session”</a>.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-GNUTLS-Use"><h6>Example 12.13. Using a GNUTLS session</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				An established TLS session can be used for sending and receiving data, as in <a class="xref" href="#ex-Defensive_Coding-TLS-GNUTLS-Use">Example 13.13, “Using a GNUTLS session”</a>.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-GNUTLS-Use"><h6>Example 13.13. Using a GNUTLS session</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_DataType">char</span> buf[4096];
 snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_String">"GET / HTTP/1.0</span><span class="perl_Char">\r\n</span><span class="perl_String">Host: %s</span><span class="perl_Char">\r\n\r\n</span><span class="perl_String">"</span>, host);
 ret = gnutls_record_send(session, buf, strlen(buf));
@@ -1619,8 +1951,8 @@ ret = gnutls_record_recv(session, buf, <span class="perl_Keyword">sizeof</span>(
   exit(<span class="perl_Float">1</span>);
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				In order to shut down a connection in an orderly manner, you should call the <code class="function">gnutls_bye</code> function. Finally, the session object can be deallocated using <code class="function">gnutls_deinit</code> (see <a class="xref" href="#ex-Defensive_Coding-TLS-GNUTLS-Disconnect">Example 12.14, “Using a GNUTLS session”</a>).
-			</div><div class="example" id="ex-Defensive_Coding-TLS-GNUTLS-Disconnect"><h6>Example 12.14. Using a GNUTLS session</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				In order to shut down a connection in an orderly manner, you should call the <code class="function">gnutls_bye</code> function. Finally, the session object can be deallocated using <code class="function">gnutls_deinit</code> (see <a class="xref" href="#ex-Defensive_Coding-TLS-GNUTLS-Disconnect">Example 13.14, “Using a GNUTLS session”</a>).
+			</div><div class="example" id="ex-Defensive_Coding-TLS-GNUTLS-Disconnect"><h6>Example 13.14. Using a GNUTLS session</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Initiate an orderly connection shutdown.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>ret = gnutls_bye(session, GNUTLS_SHUT_RDWR);
 <span class="perl_Keyword">if</span> (ret &lt; 0) {
@@ -1629,7 +1961,7 @@ ret = gnutls_record_recv(session, buf, <span class="perl_Keyword">sizeof</span>(
 }
 <span class="perl_Comment">// Free the session object.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>gnutls_deinit(session);
-</pre></div></div><br class="example-break" /></div><div class="section" id="sect-Defensive_Coding-TLS-Client-OpenJDK"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">12.2.3. Implementing TLS Clients With OpenJDK</h3></div></div></div><div class="para">
+</pre></div></div><br class="example-break" /></div><div class="section" id="sect-Defensive_Coding-TLS-Client-OpenJDK"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">13.2.3. Implementing TLS Clients With OpenJDK</h3></div></div></div><div class="para">
 				The examples below use the following cryptographic-related classes:
 			</div><div class="informalexample"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Keyword">import</span> java.security.NoSuchAlgorithmException;
@@ -1647,8 +1979,8 @@ ret = gnutls_record_recv(session, buf, <span class="perl_Keyword">sizeof</span>(
 </pre></div><div class="para">
 				If compatibility with OpenJDK 6 is required, it is necessary to use the internal class <code class="literal">sun.security.util.HostnameChecker</code>. (The public OpenJDK API does not provide any support for dissecting the subject distinguished name of an X.509 certificate, so a custom-written DER parser is needed—or we have to use an internal class, which we do below.) In OpenJDK 7, the <code class="function">setEndpointIdentificationAlgorithm</code> method was added to the <code class="literal">javax.net.ssl.SSLParameters</code> class, providing an official way to implement host name checking.
 			</div><div class="para">
-				TLS connections are established using an <code class="literal">SSLContext</code> instance. With a properly configured OpenJDK installation, the <code class="literal">SunJSSE</code> provider uses the system-wide set of trusted root certificate authorities, so no further configuration is necessary. For backwards compatibility with OpenJDK 6, the <code class="literal">TLSv1</code> provider has to be supported as a fall-back option. This is shown in <a class="xref" href="#ex-Defensive_Coding-TLS-Client-OpenJDK-Context">Example 12.15, “Setting up an <code class="literal">SSLContext</code> for OpenJDK TLS clients”</a>.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenJDK-Context"><h6>Example 12.15. Setting up an <code class="literal">SSLContext</code> for OpenJDK TLS clients</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				TLS connections are established using an <code class="literal">SSLContext</code> instance. With a properly configured OpenJDK installation, the <code class="literal">SunJSSE</code> provider uses the system-wide set of trusted root certificate authorities, so no further configuration is necessary. For backwards compatibility with OpenJDK 6, the <code class="literal">TLSv1</code> provider has to be supported as a fall-back option. This is shown in <a class="xref" href="#ex-Defensive_Coding-TLS-Client-OpenJDK-Context">Example 13.15, “Setting up an <code class="literal">SSLContext</code> for OpenJDK TLS clients”</a>.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenJDK-Context"><h6>Example 13.15. Setting up an <code class="literal">SSLContext</code> for OpenJDK TLS clients</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Create the context.  Specify the SunJSSE provider to avoid</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// picking up third-party providers.  Try the TLS 1.2 provider</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// first, then fall back to TLS 1.0.</span><span class="perl_Comment"></span>
@@ -1670,8 +2002,8 @@ ret = gnutls_record_recv(session, buf, <span class="perl_Keyword">sizeof</span>(
 }
 ctx.<span class="perl_Function">init</span>(<span class="perl_Keyword">null</span>, <span class="perl_Keyword">null</span>, <span class="perl_Keyword">null</span>);
 </pre></div></div><br class="example-break" /><div class="para">
-				In addition to the context, a TLS parameter object will be needed which adjusts the cipher suites and protocols (<a class="xref" href="#ex-Defensive_Coding-TLS-OpenJDK-Parameters">Example 12.16, “Setting up <code class="literal">SSLParameters</code> for TLS use with OpenJDK”</a>). Like the context, these parameters can be reused for multiple TLS connections.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenJDK-Parameters"><h6>Example 12.16. Setting up <code class="literal">SSLParameters</code> for TLS use with OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				In addition to the context, a TLS parameter object will be needed which adjusts the cipher suites and protocols (<a class="xref" href="#ex-Defensive_Coding-TLS-OpenJDK-Parameters">Example 13.16, “Setting up <code class="literal">SSLParameters</code> for TLS use with OpenJDK”</a>). Like the context, these parameters can be reused for multiple TLS connections.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenJDK-Parameters"><h6>Example 13.16. Setting up <code class="literal">SSLParameters</code> for TLS use with OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Prepare TLS parameters.  These have to applied to every TLS</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// socket before the handshake is triggered.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>SSLParameters params = ctx.<span class="perl_Function">getDefaultSSLParameters</span>();
@@ -1700,8 +2032,8 @@ params.<span class="perl_Function">setEndpointIdentificationAlgorithm</span>(<sp
 </pre></div><div class="para">
 				All application protocols can use the <code class="literal">"HTTPS"</code> algorithm. (The algorithms have minor differences with regard to wildcard handling, which should not matter in practice.)
 			</div><div class="para">
-				<a class="xref" href="#ex-Defensive_Coding-TLS-Client-OpenJDK-Connect">Example 12.17, “Establishing a TLS connection with OpenJDK”</a> shows how to establish the connection. Before the handshake is initialized, the protocol and cipher configuration has to be performed, by applying the parameter object <code class="literal">params</code>. (After this point, changes to <code class="literal">params</code> will not affect this TLS socket.) As mentioned initially, host name checking requires using an internal API on OpenJDK 6.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenJDK-Connect"><h6>Example 12.17. Establishing a TLS connection with OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				<a class="xref" href="#ex-Defensive_Coding-TLS-Client-OpenJDK-Connect">Example 13.17, “Establishing a TLS connection with OpenJDK”</a> shows how to establish the connection. Before the handshake is initialized, the protocol and cipher configuration has to be performed, by applying the parameter object <code class="literal">params</code>. (After this point, changes to <code class="literal">params</code> will not affect this TLS socket.) As mentioned initially, host name checking requires using an internal API on OpenJDK 6.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenJDK-Connect"><h6>Example 13.17. Establishing a TLS connection with OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Create the socket and connect it at the TCP layer.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>SSLSocket socket = (SSLSocket) ctx.<span class="perl_Function">getSocketFactory</span>()
     .<span class="perl_Function">createSocket</span>(host, port);
@@ -1725,18 +2057,18 @@ params.<span class="perl_Function">setEndpointIdentificationAlgorithm</span>(<sp
 </pre></div></div><br class="example-break" /><div class="para">
 				Starting with OpenJDK 7, the last lines can be omitted, provided that host name verification has been enabled by calling the <code class="function">setEndpointIdentificationAlgorithm</code> method on the <code class="literal">params</code> object (before it was applied to the socket).
 			</div><div class="para">
-				The TLS socket can be used as a regular socket, as shown in <a class="xref" href="#ex-Defensive_Coding-TLS-Client-OpenJDK-Use">Example 12.18, “Using a TLS client socket in OpenJDK”</a>.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenJDK-Use"><h6>Example 12.18. Using a TLS client socket in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				The TLS socket can be used as a regular socket, as shown in <a class="xref" href="#ex-Defensive_Coding-TLS-Client-OpenJDK-Use">Example 13.18, “Using a TLS client socket in OpenJDK”</a>.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenJDK-Use"><h6>Example 13.18. Using a TLS client socket in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 socket.<span class="perl_Function">getOutputStream</span>().<span class="perl_Function">write</span>(<span class="perl_String">"GET / HTTP/1.0</span><span class="perl_Char">\r\n\r\n</span><span class="perl_String">"</span>
     .<span class="perl_Function">getBytes</span>(Charset.<span class="perl_Function">forName</span>(<span class="perl_String">"UTF-8"</span>)));
 <span class="perl_DataType">byte</span>[] buffer = <span class="perl_Keyword">new</span> <span class="perl_DataType">byte</span>[<span class="perl_Float">4096</span>];
 <span class="perl_DataType">int</span> count = socket.<span class="perl_Function">getInputStream</span>().<span class="perl_Function">read</span>(buffer);
 System.<span class="perl_Function">out</span>.<span class="perl_Function">write</span>(buffer, <span class="perl_Float">0</span>, count);
-</pre></div></div><br class="example-break" /><div class="section" id="idm224085457984"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm224085457984">12.2.3.1. Overriding server certificate validation with OpenJDK 6</h4></div></div></div><div class="para">
+</pre></div></div><br class="example-break" /><div class="section" id="idm229865740704"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm229865740704">13.2.3.1. Overriding server certificate validation with OpenJDK 6</h4></div></div></div><div class="para">
 					Overriding certificate validation requires a custom trust manager. With OpenJDK 6, the trust manager lacks information about the TLS session, and to which server the connection is made. Certificate overrides have to be tied to specific servers (host names). Consequently, different <code class="literal">TrustManager</code> and <code class="literal">SSLContext</code> objects have to be used for different servers.
 				</div><div class="para">
-					In the trust manager shown in <a class="xref" href="#ex-Defensive_Coding-TLS-Client-MyTrustManager">Example 12.19, “A customer trust manager for OpenJDK TLS clients”</a>, the server certificate is identified by its SHA-256 hash.
-				</div><div class="example" id="ex-Defensive_Coding-TLS-Client-MyTrustManager"><h6>Example 12.19. A customer trust manager for OpenJDK TLS clients</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+					In the trust manager shown in <a class="xref" href="#ex-Defensive_Coding-TLS-Client-MyTrustManager">Example 13.19, “A customer trust manager for OpenJDK TLS clients”</a>, the server certificate is identified by its SHA-256 hash.
+				</div><div class="example" id="ex-Defensive_Coding-TLS-Client-MyTrustManager"><h6>Example 13.19. A customer trust manager for OpenJDK TLS clients</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Keyword">public</span> <span class="perl_Keyword">class</span> MyTrustManager <span class="perl_Keyword">implements</span> X509TrustManager {
     <span class="perl_Keyword">private</span> <span class="perl_DataType">final</span> <span class="perl_DataType">byte</span>[] certHash;
 
@@ -1770,8 +2102,8 @@ System.<span class="perl_Function">out</span>.<span class="perl_Function">write<
     }
 }
 </pre></div></div><br class="example-break" /><div class="para">
-					This trust manager has to be passed to the <code class="literal">init</code> method of the <code class="literal">SSLContext</code> object, as show in <a class="xref" href="#ex-Defensive_Coding-TLS-Client-Context_For_Cert">Example 12.20, “Using a custom TLS trust manager with OpenJDK”</a>.
-				</div><div class="example" id="ex-Defensive_Coding-TLS-Client-Context_For_Cert"><h6>Example 12.20. Using a custom TLS trust manager with OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+					This trust manager has to be passed to the <code class="literal">init</code> method of the <code class="literal">SSLContext</code> object, as show in <a class="xref" href="#ex-Defensive_Coding-TLS-Client-Context_For_Cert">Example 13.20, “Using a custom TLS trust manager with OpenJDK”</a>.
+				</div><div class="example" id="ex-Defensive_Coding-TLS-Client-Context_For_Cert"><h6>Example 13.20. Using a custom TLS trust manager with OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 SSLContext ctx;
 <span class="perl_Keyword">try</span> {
     ctx = SSLContext.<span class="perl_Function">getInstance</span>(<span class="perl_String">"TLSv1.2"</span>, <span class="perl_String">"SunJSSE"</span>);
@@ -1792,13 +2124,13 @@ ctx.<span class="perl_Function">init</span>(<span class="perl_Keyword">null</spa
 					When certificate overrides are in place, host name verification should not be performed because there is no security requirement that the host name in the certificate matches the host name used to establish the connection (and it often will not). However, without host name verification, it is not possible to perform transparent fallback to certification validation using the system certificate store.
 				</div><div class="para">
 					The approach described above works with OpenJDK 6 and later versions. Starting with OpenJDK 7, it is possible to use a custom subclass of the <code class="literal">javax.net.ssl.X509ExtendedTrustManager</code> class. The OpenJDK TLS implementation will call the new methods, passing along TLS session information. This can be used to implement certificate overrides as a fallback (if certificate or host name verification fails), and a trust manager object can be used for multiple servers because the server address is available to the trust manager.
-				</div></div></div><div class="section" id="sect-Defensive_Coding-TLS-Client-NSS"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">12.2.4. Implementing TLS Clients With NSS</h3></div></div></div><div class="para">
+				</div></div></div><div class="section" id="sect-Defensive_Coding-TLS-Client-NSS"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">13.2.4. Implementing TLS Clients With NSS</h3></div></div></div><div class="para">
 				The following code shows how to implement a simple TLS client using NSS. These instructions apply to NSS version 3.14 and later. Versions before 3.14 need different initialization code.
 			</div><div class="para">
 				Keep in mind that the error handling needs to be improved before the code can be used in production.
 			</div><div class="para">
-				Using NSS needs several header files, as shown in <a class="xref" href="#ex-Defensive_Coding-TLS-NSS-Includes">Example 12.21, “Include files for NSS”</a>.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-NSS-Includes"><h6>Example 12.21. Include files for NSS</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				Using NSS needs several header files, as shown in <a class="xref" href="#ex-Defensive_Coding-TLS-NSS-Includes">Example 13.21, “Include files for NSS”</a>.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-NSS-Includes"><h6>Example 13.21. Include files for NSS</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// NSPR include files</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Others">#include &lt;prerror.h&gt;</span><span class="perl_Others"></span>
 <span class="perl_Others"></span><span class="perl_Others">#include &lt;prinit.h&gt;</span><span class="perl_Others"></span>
@@ -1814,10 +2146,10 @@ ctx.<span class="perl_Function">init</span>(<span class="perl_Keyword">null</spa
 <span class="perl_Comment"></span><span class="perl_Comment">// NSPR handle.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>NSPR_API(PRFileDesc*) PR_ImportTCPSocket(<span class="perl_DataType">int</span>);
 </pre></div></div><br class="example-break" /><div class="para">
-				Initializing the NSS library is shown in <a class="xref" href="#ex-Defensive_Coding-TLS-NSS-Init">Example 12.22, “Initializing the NSS library”</a>. This initialization procedure overrides global state. We only call <code class="function">NSS_SetDomesticPolicy</code> if there are no strong ciphers available, assuming that it has already been called otherwise. This avoids overriding the process-wide cipher suite policy unnecessarily.
+				Initializing the NSS library is shown in <a class="xref" href="#ex-Defensive_Coding-TLS-NSS-Init">Example 13.22, “Initializing the NSS library”</a>. This initialization procedure overrides global state. We only call <code class="function">NSS_SetDomesticPolicy</code> if there are no strong ciphers available, assuming that it has already been called otherwise. This avoids overriding the process-wide cipher suite policy unnecessarily.
 			</div><div class="para">
 				The simplest way to configured the trusted root certificates involves loading the <code class="filename">libnssckbi.so</code> NSS module with a call to the <code class="function">SECMOD_LoadUserModule</code> function. The root certificates are compiled into this module. (The PEM module for NSS, <code class="filename">libnsspem.so</code>, offers a way to load trusted CA certificates from a file.)
-			</div><div class="example" id="ex-Defensive_Coding-TLS-NSS-Init"><h6>Example 12.22. Initializing the NSS library</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+			</div><div class="example" id="ex-Defensive_Coding-TLS-NSS-Init"><h6>Example 13.22. Initializing the NSS library</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 PR_Init(PR_USER_THREAD, PR_PRIORITY_NORMAL, 0);
 NSSInitContext *<span class="perl_DataType">const</span> ctx =
   NSS_InitContext(<span class="perl_String">"sql:/etc/pki/nssdb"</span>, <span class="perl_String">""</span>, <span class="perl_String">""</span>, <span class="perl_String">""</span>, NULL,
@@ -1881,12 +2213,12 @@ SECMODModule *module = SECMOD_LoadUserModule(module_name, NULL, PR_FALSE);
 SECMOD_DestroyModule(module);
 NSS_ShutdownContext(ctx);
 </pre></div><div class="para">
-				After NSS has been initialized, the TLS connection can be created (<a class="xref" href="#ex-Defensive_Coding-TLS-Client-NSS-Connect">Example 12.23, “Creating a TLS connection with NSS”</a>). The internal <code class="function">PR_ImportTCPSocket</code> function is used to turn the POSIX file descriptor <code class="literal">sockfd</code> into an NSPR file descriptor. (This function is de-facto part of the NSS public ABI, so it will not go away.) Creating the TLS-capable file descriptor requires a <span class="emphasis"><em>model</em></span> descriptor, which is configured with the desired set of protocols. The model descriptor is not needed anymore after TLS support has been activated for the existing connection descriptor.
+				After NSS has been initialized, the TLS connection can be created (<a class="xref" href="#ex-Defensive_Coding-TLS-Client-NSS-Connect">Example 13.23, “Creating a TLS connection with NSS”</a>). The internal <code class="function">PR_ImportTCPSocket</code> function is used to turn the POSIX file descriptor <code class="literal">sockfd</code> into an NSPR file descriptor. (This function is de-facto part of the NSS public ABI, so it will not go away.) Creating the TLS-capable file descriptor requires a <span class="emphasis"><em>model</em></span> descriptor, which is configured with the desired set of protocols. The model descriptor is not needed anymore after TLS support has been activated for the existing connection descriptor.
 			</div><div class="para">
 				The call to <code class="function">SSL_BadCertHook</code> can be omitted if no mechanism to override certificate verification is needed. The <code class="literal">bad_certificate</code> function must check both the host name specified for the connection and the certificate before granting the override.
 			</div><div class="para">
 				Triggering the actual handshake requires three function calls, <code class="function">SSL_ResetHandshake</code>, <code class="function">SSL_SetURL</code>, and <code class="function">SSL_ForceHandshake</code>. (If <code class="function">SSL_ResetHandshake</code> is omitted, <code class="function">SSL_ForceHandshake</code> will succeed, but the data will not be encrypted.) During the handshake, the certificate is verified and matched against the host name.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-NSS-Connect"><h6>Example 12.23. Creating a TLS connection with NSS</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-NSS-Connect"><h6>Example 13.23. Creating a TLS connection with NSS</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Wrap the POSIX file descriptor.  This is an internal NSPR</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// function, but it is very unlikely to change.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>PRFileDesc* nspr = PR_ImportTCPSocket(sockfd);
@@ -1962,8 +2294,8 @@ sockfd = <span class="perl_DecVal">-1</span>; <span class="perl_Comment">// Has
   exit(<span class="perl_Float">1</span>);
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				After the connection has been established, <a class="xref" href="#ex-Defensive_Coding-TLS-NSS-Use">Example 12.24, “Using NSS for sending and receiving data”</a> shows how to use the NSPR descriptor to communicate with the server.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-NSS-Use"><h6>Example 12.24. Using NSS for sending and receiving data</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				After the connection has been established, <a class="xref" href="#ex-Defensive_Coding-TLS-NSS-Use">Example 13.24, “Using NSS for sending and receiving data”</a> shows how to use the NSPR descriptor to communicate with the server.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-NSS-Use"><h6>Example 13.24. Using NSS for sending and receiving data</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_DataType">char</span> buf[4096];
 snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_String">"GET / HTTP/1.0</span><span class="perl_Char">\r\n</span><span class="perl_String">Host: %s</span><span class="perl_Char">\r\n\r\n</span><span class="perl_String">"</span>, host);
 PRInt32 ret = PR_Write(nspr, buf, strlen(buf));
@@ -1981,8 +2313,8 @@ ret = PR_Read(nspr, buf, <span class="perl_Keyword">sizeof</span>(buf));
   exit(<span class="perl_Float">1</span>);
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				<a class="xref" href="#ex-Defensive_Coding-TLS-Client-NSS-Close">Example 12.25, “Closing NSS client connections”</a> shows how to close the connection.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-NSS-Close"><h6>Example 12.25. Closing NSS client connections</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				<a class="xref" href="#ex-Defensive_Coding-TLS-Client-NSS-Close">Example 13.25, “Closing NSS client connections”</a> shows how to close the connection.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-NSS-Close"><h6>Example 13.25. Closing NSS client connections</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Send close_notify alert.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Keyword">if</span> (PR_Shutdown(nspr, PR_SHUTDOWN_BOTH) != PR_SUCCESS) {
   <span class="perl_DataType">const</span> PRErrorCode err = PR_GetError();
@@ -1992,13 +2324,13 @@ ret = PR_Read(nspr, buf, <span class="perl_Keyword">sizeof</span>(buf));
 }
 <span class="perl_Comment">// Closes the underlying POSIX file descriptor, too.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>PR_Close(nspr);
-</pre></div></div><br class="example-break" /></div><div class="section" id="sect-Defensive_Coding-TLS-Client-Python"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">12.2.5. Implementing TLS Clients With Python</h3></div></div></div><div class="para">
-				The Python distribution provides a TLS implementation in the <code class="literal">ssl</code> module (actually a wrapper around OpenSSL). The exported interface is somewhat restricted, so that the client code shown below does not fully implement the recommendations in <a class="xref" href="#sect-Defensive_Coding-TLS-OpenSSL">Section 12.1.1, “OpenSSL Pitfalls”</a>.
+</pre></div></div><br class="example-break" /></div><div class="section" id="sect-Defensive_Coding-TLS-Client-Python"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">13.2.5. Implementing TLS Clients With Python</h3></div></div></div><div class="para">
+				The Python distribution provides a TLS implementation in the <code class="literal">ssl</code> module (actually a wrapper around OpenSSL). The exported interface is somewhat restricted, so that the client code shown below does not fully implement the recommendations in <a class="xref" href="#sect-Defensive_Coding-TLS-OpenSSL">Section 13.1.1, “OpenSSL Pitfalls”</a>.
 			</div><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
 					Currently, most Python function which accept <code class="literal">https://</code> URLs or otherwise implement HTTPS support do not perform certificate validation at all. (For example, this is true for the <code class="literal">httplib</code> and <code class="literal">xmlrpclib</code> modules.) If you use HTTPS, you should not use the built-in HTTP clients. The <code class="literal">Curl</code> class in the <code class="literal">curl</code> module, as provided by the <code class="literal">python-pycurl</code> package implements proper certificate validation.
 				</div></div></div><div class="para">
-				The <code class="literal">ssl</code> module currently does not perform host name checking on the server certificate. <a class="xref" href="#ex-Defensive_Coding-TLS-Client-Python-check_host_name">Example 12.26, “Implementing TLS host name checking Python (without wildcard support)”</a> shows how to implement certificate matching, using the parsed certificate returned by <code class="function">getpeercert</code>.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-Python-check_host_name"><h6>Example 12.26. Implementing TLS host name checking Python (without wildcard support)</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				The <code class="literal">ssl</code> module currently does not perform host name checking on the server certificate. <a class="xref" href="#ex-Defensive_Coding-TLS-Client-Python-check_host_name">Example 13.26, “Implementing TLS host name checking Python (without wildcard support)”</a> shows how to implement certificate matching, using the parsed certificate returned by <code class="function">getpeercert</code>.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-Python-check_host_name"><h6>Example 13.26. Implementing TLS host name checking Python (without wildcard support)</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Keyword">def</span> check_host_name<span class="perl_Char">(peercert</span>, name<span class="perl_Char">):</span>
     <span class="perl_Comment">"""Simple certificate/host name checker.  Returns True if the</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">    certificate matches, False otherwise.  Does not support</span><span class="perl_Comment"></span>
@@ -2023,7 +2355,7 @@ ret = PR_Read(nspr, buf, <span class="perl_Keyword">sizeof</span>(buf));
             <span class="perl_Keyword">return</span> cn <span class="perl_Char">==</span> name
     <span class="perl_Keyword">return</span> <span class="perl_Others">False</span>
 </pre></div></div><br class="example-break" /><div class="para">
-				To turn a regular, connected TCP socket into a TLS-enabled socket, use the <code class="function">ssl.wrap_socket</code> function. The function call in <a class="xref" href="#ex-Defensive_Coding-TLS-Client-Python-Connect">Example 12.27, “Establishing a TLS client connection with Python”</a> provides additional arguments to override questionable defaults in OpenSSL and in the Python module.
+				To turn a regular, connected TCP socket into a TLS-enabled socket, use the <code class="function">ssl.wrap_socket</code> function. The function call in <a class="xref" href="#ex-Defensive_Coding-TLS-Client-Python-Connect">Example 13.27, “Establishing a TLS client connection with Python”</a> provides additional arguments to override questionable defaults in OpenSSL and in the Python module.
 			</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 						<code class="literal">ciphers="HIGH:-aNULL:-eNULL:-PSK:RC4-SHA:RC4-MD5"</code> selects relatively strong cipher suites with certificate-based authentication. (The call to <code class="function">check_host_name</code> function provides additional protection against anonymous cipher suites.)
 					</div></li><li class="listitem"><div class="para">
@@ -2034,7 +2366,7 @@ ret = PR_Read(nspr, buf, <span class="perl_Keyword">sizeof</span>(buf));
 						<code class="literal">ca_certs='/etc/ssl/certs/ca-bundle.crt'</code> initializes the certificate store with a set of trusted root CAs. Unfortunately, it is necessary to hard-code this path into applications because the default path in OpenSSL is not available through the Python <code class="literal">ssl</code> module.
 					</div></li></ul></div><div class="para">
 				The <code class="literal">ssl</code> module (and OpenSSL) perform certificate validation, but the certificate must be compared manually against the host name, by calling the <code class="function">check_host_name</code> defined above.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-Python-Connect"><h6>Example 12.27. Establishing a TLS client connection with Python</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-Python-Connect"><h6>Example 13.27. Establishing a TLS client connection with Python</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 sock <span class="perl_Char">=</span> ssl.wrap_socket<span class="perl_Char">(sock</span>,
                        ciphers<span class="perl_Char">=</span><span class="perl_String">"HIGH:-aNULL:-eNULL:-PSK:RC4-SHA:RC4-MD5"</span>,
                        ssl_version<span class="perl_Char">=ssl</span>.PROTOCOL_TLSv1,
@@ -2052,8 +2384,11 @@ sock.write<span class="perl_Char">(</span><span class="perl_String">"GET / HTTP/
 				Closing the TLS socket is straightforward as well:
 			</div><div class="informalexample"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 sock.close<span class="perl_Char">()</span>
-</pre></div></div></div></div></div><div xml:lang="en-US" class="appendix" id="appe-UEFI_Secure_Boot_Guide-Revision_History" lang="en-US"><div class="titlepage"><div><div><h1 class="title">Revision History</h1></div></div></div><div class="para">
-		<div class="revhistory"><table summary="Revision History"><tr><th align="left" valign="top" colspan="3"><strong>Revision History</strong></th></tr><tr><td align="left">Revision 1.0-1</td><td align="left">Thu May 09 2013</td><td align="left"><span class="author"><span class="firstname">Eric</span> <span class="surname">Christensen</span></span></td></tr><tr><td align="left" colspan="3">
+</pre></div></div></div></div></div><div xml:lang="en-US" class="appendix" id="appe-Defensive_Coding-Revision_History" lang="en-US"><div class="titlepage"><div><div><h1 class="title">Revision History</h1></div></div></div><div class="para">
+		<div class="revhistory"><table summary="Revision History"><tr><th align="left" valign="top" colspan="3"><strong>Revision History</strong></th></tr><tr><td align="left">Revision 1.1-1</td><td align="left">Tue Aug 27 2013</td><td align="left"><span class="author"><span class="firstname">Eric</span> <span class="surname">Christensen</span></span></td></tr><tr><td align="left" colspan="3">
+					<table border="0" summary="Simple list" class="simplelist"><tr><td>Add a chapter which covers some Java topics.</td></tr><tr><td>Deserialization: Warn about Java's java.beans.XMLDecoder.</td></tr><tr><td>C: Correct the advice on array allocation (<a href="https://bugzilla.redhat.com/show_bug.cgi?id=995595">bug 995595</a>).</td></tr><tr><td>C: Add material on global variables.</td></tr></table>
+
+				</td></tr><tr><td align="left">Revision 1.0-1</td><td align="left">Thu May 09 2013</td><td align="left"><span class="author"><span class="firstname">Eric</span> <span class="surname">Christensen</span></span></td></tr><tr><td align="left" colspan="3">
 					<table border="0" summary="Simple list" class="simplelist"><tr><td>Added more C and C++ examples.</td></tr><tr><td>TLS Client NSS: Rely on NSS 3.14 cipher suite defaults.</td></tr></table>
 
 				</td></tr><tr><td align="left">Revision 0-1</td><td align="left">Thu Mar 7 2013</td><td align="left"><span class="author"><span class="firstname">Eric</span> <span class="surname">Christensen</span></span></td></tr><tr><td align="left" colspan="3">
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/appe-Defensive_Coding-Revision_History.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/appe-Defensive_Coding-Revision_History.html
new file mode 100644
index 0000000..c025a60
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/appe-Defensive_Coding-Revision_History.html
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix A. Revision History</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+              addID('Fedora_Security_Team');
+              
+              addID('Fedora_Security_Team..books');
+	      addID('Fedora_Security_Team..Defensive_Coding');
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="index.html" title="Defensive Coding" /><link rel="prev" href="sect-Defensive_Coding-TLS-Client-Python.html" title="13.2.5. Implementing TLS Clients With Python" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-TLS-Client-Python.html"><strong>Prev</strong></a></li><li class="next"></li></ul><div xml:lang="en-US" class="appendix" id="appe-Defensive_Cod
 ing-Revision_History" lang="en-US"><div class="titlepage"><div><div><h1 class="title">Revision History</h1></div></div></div><div class="para">
+		<div class="revhistory"><table summary="Revision History"><tr><th align="left" valign="top" colspan="3"><strong>Revision History</strong></th></tr><tr><td align="left">Revision 1.1-1</td><td align="left">Tue Aug 27 2013</td><td align="left"><span class="author"><span class="firstname">Eric</span> <span class="surname">Christensen</span></span></td></tr><tr><td align="left" colspan="3">
+					<table border="0" summary="Simple list" class="simplelist"><tr><td>Add a chapter which covers some Java topics.</td></tr><tr><td>Deserialization: Warn about Java's java.beans.XMLDecoder.</td></tr><tr><td>C: Correct the advice on array allocation (<a href="https://bugzilla.redhat.com/show_bug.cgi?id=995595">bug 995595</a>).</td></tr><tr><td>C: Add material on global variables.</td></tr></table>
+
+				</td></tr><tr><td align="left">Revision 1.0-1</td><td align="left">Thu May 09 2013</td><td align="left"><span class="author"><span class="firstname">Eric</span> <span class="surname">Christensen</span></span></td></tr><tr><td align="left" colspan="3">
+					<table border="0" summary="Simple list" class="simplelist"><tr><td>Added more C and C++ examples.</td></tr><tr><td>TLS Client NSS: Rely on NSS 3.14 cipher suite defaults.</td></tr></table>
+
+				</td></tr><tr><td align="left">Revision 0-1</td><td align="left">Thu Mar 7 2013</td><td align="left"><span class="author"><span class="firstname">Eric</span> <span class="surname">Christensen</span></span></td></tr><tr><td align="left" colspan="3">
+					<table border="0" summary="Simple list" class="simplelist"><tr><td>Initial publication.</td></tr></table>
+
+				</td></tr></table></div>
+
+	</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-TLS-Client-Python.html"><strong>Prev</strong>13.2.5. Implementing TLS Clients With Python</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s02s03s05.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s02s03s05.html
index 53c84b6..a75c888 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s02s03s05.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s02s03s05.html
@@ -4,7 +4,7 @@
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-C-String-Functions-Length.html" title="1.2.3. String Functions With Explicit Length Arguments" /><link rel="prev" href="sect-Defensive_Coding-C-Libc-strncat.html" title="1.2.3.4. strncat" /><link rel="next" href="ch01s02s03s06.html" title="1.2.3.6. ISO C11 Annex K *_s functions" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding
 -C-Libc-strncat.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch01s02s03s06.html"><strong>Next</strong></a></li></ul><div class="section" id="idm224127084816"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm224127084816">1.2.3.5. <code class="function">strlcpy</code> and <code class="function">strlcat</code></h4></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-C-String-Functions-Length.html" title="1.2.3. String Functions With Explicit Length Arguments" /><link rel="prev" href="sect-Defensive_Coding-C-Libc-strncat.html" title="1.2.3.4. strncat" /><link rel="next" href="ch01s02s03s06.html" title="1.2.3.6. ISO C11 Annex K *_s functions" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding
 -C-Libc-strncat.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch01s02s03s06.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229866005248"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm229866005248">1.2.3.5. <code class="function">strlcpy</code> and <code class="function">strlcat</code></h4></div></div></div><div class="para">
 				Some systems support <code class="function">strlcpy</code> and <code class="function">strlcat</code> functions which behave this way, but these functions are not part of GNU libc. <code class="function">strlcpy</code> is often replaced with <code class="function">snprintf</code> with a <code class="literal">"%s"</code> format string. See <a class="xref" href="sect-Defensive_Coding-C-Libc-strncpy.html">Section 1.2.3.3, “<code class="function">strncpy</code>”</a> for a caveat related to the <code class="function">snprintf</code> return value.
 			</div><div class="para">
 				To emulate <code class="function">strlcat</code>, use the approach described in <a class="xref" href="sect-Defensive_Coding-C-Libc-strncat.html">Section 1.2.3.4, “<code class="function">strncat</code>”</a>.
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s02s03s06.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s02s03s06.html
index 0577691..59d508f 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s02s03s06.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s02s03s06.html
@@ -4,6 +4,6 @@
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-C-String-Functions-Length.html" title="1.2.3. String Functions With Explicit Length Arguments" /><link rel="prev" href="ch01s02s03s05.html" title="1.2.3.5. strlcpy and strlcat" /><link rel="next" href="ch01s02s03s07.html" title="1.2.3.7. Other strn* and stpn* functions" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch01s02s03s05.html"><strong>Pr
 ev</strong></a></li><li class="next"><a accesskey="n" href="ch01s02s03s07.html"><strong>Next</strong></a></li></ul><div class="section" id="idm224126989024"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm224126989024">1.2.3.6. ISO C11 Annex K *<code class="function">_s</code> functions</h4></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-C-String-Functions-Length.html" title="1.2.3. String Functions With Explicit Length Arguments" /><link rel="prev" href="ch01s02s03s05.html" title="1.2.3.5. strlcpy and strlcat" /><link rel="next" href="ch01s02s03s07.html" title="1.2.3.7. Other strn* and stpn* functions" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch01s02s03s05.html"><strong>Pr
 ev</strong></a></li><li class="next"><a accesskey="n" href="ch01s02s03s07.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229823888768"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm229823888768">1.2.3.6. ISO C11 Annex K *<code class="function">_s</code> functions</h4></div></div></div><div class="para">
 				ISO C11 adds another set of length-checking functions, but GNU libc currently does not implement them.
 			</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch01s02s03s05.html"><strong>Prev</strong>1.2.3.5. strlcpy and strlcat</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch01s02s03s07.html"><strong>Next</strong>1.2.3.7. Other strn* and stpn* functions</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s02s03s07.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s02s03s07.html
index 6d3b238..01f52ee 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s02s03s07.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s02s03s07.html
@@ -4,6 +4,6 @@
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-C-String-Functions-Length.html" title="1.2.3. String Functions With Explicit Length Arguments" /><link rel="prev" href="ch01s02s03s06.html" title="1.2.3.6. ISO C11 Annex K *_s functions" /><link rel="next" href="sect-Defensive_Coding-C-Allocators.html" title="1.3. Memory allocators" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch01s02s03s06.htm
 l"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-C-Allocators.html"><strong>Next</strong></a></li></ul><div class="section" id="idm224091988736"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm224091988736">1.2.3.7. Other <code class="function">strn</code>* and <code class="function">stpn</code>* functions</h4></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-C-String-Functions-Length.html" title="1.2.3. String Functions With Explicit Length Arguments" /><link rel="prev" href="ch01s02s03s06.html" title="1.2.3.6. ISO C11 Annex K *_s functions" /><link rel="next" href="sect-Defensive_Coding-C-Allocators.html" title="1.3. Memory allocators" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch01s02s03s06.htm
 l"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-C-Allocators.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229815808192"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm229815808192">1.2.3.7. Other <code class="function">strn</code>* and <code class="function">stpn</code>* functions</h4></div></div></div><div class="para">
 				GNU libc contains additional functions with different variants of length checking. Consult the documentation before using them to find out what the length actually means.
 			</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch01s02s03s06.html"><strong>Prev</strong>1.2.3.6. ISO C11 Annex K *_s functions</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-C-Allocators.html"><strong>Next</strong>1.3. Memory allocators</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s03s04.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s03s04.html
index eece2a9..5b5823d 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s03s04.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s03s04.html
@@ -4,7 +4,7 @@
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-C-Allocators.html" title="1.3. Memory allocators" /><link rel="prev" href="sect-Defensive_Coding-C-Allocators-Arrays.html" title="1.3.3. Array allocation" /><link rel="next" href="ch01s03s05.html" title="1.3.5. Conservative garbage collection" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-C-Allocators-Arrays.html"><strong>P
 rev</strong></a></li><li class="next"><a accesskey="n" href="ch01s03s05.html"><strong>Next</strong></a></li></ul><div class="section" id="idm224103749632"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224103749632">1.3.4. Custom memory allocators</h3></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-C-Allocators.html" title="1.3. Memory allocators" /><link rel="prev" href="sect-Defensive_Coding-C-Allocators-Arrays.html" title="1.3.3. Array allocation" /><link rel="next" href="ch01s03s05.html" title="1.3.5. Conservative garbage collection" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-C-Allocators-Arrays.html"><strong>P
 rev</strong></a></li><li class="next"><a accesskey="n" href="ch01s03s05.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229841920192"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229841920192">1.3.4. Custom memory allocators</h3></div></div></div><div class="para">
 			Custom memory allocates come in two forms: replacements for <code class="function">malloc</code>, and completely different interfaces for memory management. Both approaches can reduce the effectiveness of <span class="application"><strong>valgrind</strong></span> and similar tools, and the heap corruption detection provided by GNU libc, so they should be avoided.
 		</div><div class="para">
 			Memory allocators are difficult to write and contain many performance and security pitfalls.
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s03s05.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s03s05.html
index 87924d0..8fbd185 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s03s05.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch01s03s05.html
@@ -4,7 +4,7 @@
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-C-Allocators.html" title="1.3. Memory allocators" /><link rel="prev" href="ch01s03s04.html" title="1.3.4. Custom memory allocators" /><link rel="next" href="sect-Defensive_Coding-C-Other.html" title="1.4. Other C-related topics" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch01s03s04.html"><strong>Prev</strong></a></li><li class="next"><a acces
 skey="n" href="sect-Defensive_Coding-C-Other.html"><strong>Next</strong></a></li></ul><div class="section" id="idm224081143296"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224081143296">1.3.5. Conservative garbage collection</h3></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-C-Allocators.html" title="1.3. Memory allocators" /><link rel="prev" href="ch01s03s04.html" title="1.3.4. Custom memory allocators" /><link rel="next" href="sect-Defensive_Coding-C-Other.html" title="1.4. Other C-related topics" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch01s03s04.html"><strong>Prev</strong></a></li><li class="next"><a acces
 skey="n" href="sect-Defensive_Coding-C-Other.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229808608896"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229808608896">1.3.5. Conservative garbage collection</h3></div></div></div><div class="para">
 			Garbage collection can be an alternative to explicit memory management using <code class="function">malloc</code> and <code class="function">free</code>. The Boehm-Dehmers-Weiser allocator can be used from C programs, with minimal type annotations. Performance is competitive with <code class="function">malloc</code> on 64-bit architectures, especially for multi-threaded programs. The stop-the-world pauses may be problematic for some real-time applications, though.
 		</div><div class="para">
 			However, using a conservative garbage collector may reduce opertunities for code reduce because once one library in a program uses garbage collection, the whole process memory needs to be subject to it, so that no pointers are missed. The Boehm-Dehmers-Weiser collector also reserves certain signals for internal use, so it is not fully transparent to the rest of the program.
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch04s02.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch04s02.html
index 5f7102f..e10489a 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch04s02.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch04s02.html
@@ -1,11 +1,19 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>4.2. Object orientation</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>4.2. Run-time compilation and code generation</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Library_Design.html" title="Chapter 4. Library Design" /><link rel="prev" href="chap-Defensive_Coding-Tasks-Library_Design.html" title="Chapter 4. Library Design" /><link rel="next" href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html" title="4.3. Callbacks" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-T
 asks-Library_Design.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html"><strong>Next</strong></a></li></ul><div class="section" id="idm224081476112"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224081476112">4.2. Object orientation</h2></div></div></div><div class="para">
-			Classes should be either designed as base classes, or it should be impossible to use them as base classes (like <code class="literal">final</code> classes in Java). Classes which are not designed for inheritance and are used as base classes nevertheless create potential maintenance hazards because it is difficult to predict how client code will react when calls to virtual methods are added, reordered or removed.
-		</div><div class="para">
-			Virtual member functions can be used as callbacks. See <a class="xref" href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html">Section 4.3, “Callbacks”</a> for some of the challenges involved.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Tasks-Library_Design.html"><strong>Prev</strong>Chapter 4. Library Design</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html"><strong>Next</strong>4.3. Callbacks</a></li></ul></body></html>
\ No newline at end of file
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Python.html" title="Chapter 4. The Python Programming Language" /><link rel="prev" href="chap-Defensive_Coding-Python.html" title="Chapter 4. The Python Programming Language" /><link rel="next" href="ch04s03.html" title="4.3. Sandboxing" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Python.html"><strong>Prev</strong></a><
 /li><li class="next"><a accesskey="n" href="ch04s03.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229861709376"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229861709376">4.2. Run-time compilation and code generation</h2></div></div></div><div class="para">
+			The following Python functions and statements related to code execution should be avoided:
+		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+					<code class="function">compile</code>
+				</div></li><li class="listitem"><div class="para">
+					<code class="function">eval</code>
+				</div></li><li class="listitem"><div class="para">
+					<code class="literal">exec</code>
+				</div></li><li class="listitem"><div class="para">
+					<code class="function">execfile</code>
+				</div></li></ul></div><div class="para">
+			If you need to parse integers or floating point values, use the <code class="function">int</code> and <code class="function">float</code> functions instead of <code class="function">eval</code>. Sandboxing untrusted Python code does not work reliably.
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Python.html"><strong>Prev</strong>Chapter 4. The Python Programming Language</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch04s03.html"><strong>Next</strong>4.3. Sandboxing</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch04s03.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch04s03.html
new file mode 100644
index 0000000..29c415d
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch04s03.html
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>4.3. Sandboxing</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+              addID('Fedora_Security_Team');
+              
+              addID('Fedora_Security_Team..books');
+	      addID('Fedora_Security_Team..Defensive_Coding');
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Python.html" title="Chapter 4. The Python Programming Language" /><link rel="prev" href="ch04s02.html" title="4.2. Run-time compilation and code generation" /><link rel="next" href="pt02.html" title="Part II. Specific Programming Tasks" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch04s02.html"><strong>Prev</strong></a></li><li class="next"><
 a accesskey="n" href="pt02.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229808638976"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229808638976">4.3. Sandboxing</h2></div></div></div><div class="para">
+			The <code class="literal">rexec</code> Python module cannot safely sandbox untrusted code and should not be used. The standard CPython implementation is not suitable for sandboxing.
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch04s02.html"><strong>Prev</strong>4.2. Run-time compilation and code generation</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="pt02.html"><strong>Next</strong>Part II. Specific Programming Tasks</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch05s02.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch05s02.html
new file mode 100644
index 0000000..5187ffb
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch05s02.html
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.2. Object orientation</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+              addID('Fedora_Security_Team');
+              
+              addID('Fedora_Security_Team..books');
+	      addID('Fedora_Security_Team..Defensive_Coding');
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Library_Design.html" title="Chapter 5. Library Design" /><link rel="prev" href="chap-Defensive_Coding-Tasks-Library_Design.html" title="Chapter 5. Library Design" /><link rel="next" href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html" title="5.3. Callbacks" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-T
 asks-Library_Design.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229814871520"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229814871520">5.2. Object orientation</h2></div></div></div><div class="para">
+			Classes should be either designed as base classes, or it should be impossible to use them as base classes (like <code class="literal">final</code> classes in Java). Classes which are not designed for inheritance and are used as base classes nevertheless create potential maintenance hazards because it is difficult to predict how client code will react when calls to virtual methods are added, reordered or removed.
+		</div><div class="para">
+			Virtual member functions can be used as callbacks. See <a class="xref" href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html">Section 5.3, “Callbacks”</a> for some of the challenges involved.
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Tasks-Library_Design.html"><strong>Prev</strong>Chapter 5. Library Design</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html"><strong>Next</strong>5.3. Callbacks</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch05s04.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch05s04.html
new file mode 100644
index 0000000..6e4bc48
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch05s04.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.4. Process attributes</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+              addID('Fedora_Security_Team');
+              
+              addID('Fedora_Security_Team..books');
+	      addID('Fedora_Security_Team..Defensive_Coding');
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Library_Design.html" title="Chapter 5. Library Design" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html" title="5.3. Callbacks" /><link rel="next" href="sect-Defensive_Coding-Tasks-Descriptors.html" title="Chapter 6. File Descriptor Management" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive
 _Coding-Tasks-Library_Design-Callbacks.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Descriptors.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229814856288"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229814856288">5.4. Process attributes</h2></div></div></div><div class="para">
+			Several attributes are global and affect all code in the process, not just the library that manipulates them.
+		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+					environment variables (see <a class="xref" href="ch09s03.html#sect-Defensive_Coding-Tasks-secure_getenv">Section 9.3.1, “Accessing environment variables”</a>)
+				</div></li><li class="listitem"><div class="para">
+					umask
+				</div></li><li class="listitem"><div class="para">
+					user IDs, group IDs and capabilities
+				</div></li><li class="listitem"><div class="para">
+					current working directory
+				</div></li><li class="listitem"><div class="para">
+					signal handlers, signal masks and signal delivery
+				</div></li><li class="listitem"><div class="para">
+					file locks (especially <code class="function">fcntl</code> locks behave in surprising ways, not just in a multi-threaded environment)
+				</div></li></ul></div><div class="para">
+			Library code should avoid manipulating these global process attributes. It should not rely on environment variables, umask, the current working directory and signal masks because these attributes can be inherted from an untrusted source.
+		</div><div class="para">
+			In addition, there are obvious process-wide aspects such as the virtual memory layout, the set of open files and dynamic shared objects, but with the exception of shared objects, these can be manipulated in a relatively isolated way.
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html"><strong>Prev</strong>5.3. Callbacks</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Descriptors.html"><strong>Next</strong>Chapter 6. File Descriptor Management</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch08s02.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch08s02.html
index d4f58f6..aa36be0 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch08s02.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch08s02.html
@@ -1,19 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>8.2. Handling child process termination</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>8.2. Named temporary files</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Processes.html" title="Chapter 8. Processes" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Processes.html" title="Chapter 8. Processes" /><link rel="next" href="ch08s03.html" title="8.3. SUID/SGID processes" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Processes.html"><strong>Prev</strong></a></li><li 
 class="next"><a accesskey="n" href="ch08s03.html"><strong>Next</strong></a></li></ul><div class="section" id="idm224127079200"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224127079200">8.2. Handling child process termination</h2></div></div></div><div class="para">
-			When child processes terminate, the parent process is signalled. A stub of the terminated processes (a <span class="emphasis"><em>zombie</em></span>, shown as <code class="literal">&lt;defunct&gt;</code> by <span class="application"><strong>ps</strong></span>) is kept around until the status information is collected (<span class="emphasis"><em>reaped</em></span>) by the parent process. Over the years, several interfaces for this have been invented:
-		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
-					The parent process calls <code class="function">wait</code>, <code class="function">waitpid</code>, <code class="function">waitid</code>, <code class="function">wait3</code> or <code class="function">wait4</code>, without specifying a process ID. This will deliver any matching process ID. This approach is typically used from within event loops.
-				</div></li><li class="listitem"><div class="para">
-					The parent process calls <code class="function">waitpid</code>, <code class="function">waitid</code>, or <code class="function">wait4</code>, with a specific process ID. Only data for the specific process ID is returned. This is typically used in code which spawns a single subprocess in a synchronous manner.
-				</div></li><li class="listitem"><div class="para">
-					The parent process installs a handler for the <code class="literal">SIGCHLD</code> signal, using <code class="function">sigaction</code>, and specifies to the <code class="literal">SA_NOCLDWAIT</code> flag. This approach could be used by event loops as well.
-				</div></li></ul></div><div class="para">
-			None of these approaches can be used to wait for child process terminated in a completely thread-safe manner. The parent process might execute an event loop in another thread, which could pick up the termination signal. This means that libraries typically cannot make free use of child processes (for example, to run problematic code with reduced privileges in a separate address space).
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Temporary_Files.html" title="Chapter 8. Temporary files" /><link rel="prev" href="chap-Defensive_Coding-Tasks-Temporary_Files.html" title="Chapter 8. Temporary files" /><link rel="next" href="ch08s03.html" title="8.3. Temporary files without names" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Tasks-Temporary_Files.
 html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch08s03.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229827096016"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229827096016">8.2. Named temporary files</h2></div></div></div><div class="para">
+			The <code class="function">mkostemp</code> function creates a named temporary file. You should specify the <code class="literal">O_CLOEXEC</code> flag to avoid file descriptor leaks to subprocesses. (Applications which do not use multiple threads can also use <code class="function">mkstemp</code>, but libraries should use <code class="function">mkostemp</code>.) For determining the directory part of the file name pattern, see <a class="xref" href="chap-Defensive_Coding-Tasks-Temporary_Files.html#chap-Defensive_Coding-Tasks-Temporary_Files-Location">Section 8.1, “Obtaining the location of temporary directory”</a>.
 		</div><div class="para">
-			At the moment, the parent process should explicitly wait for termination of the child process using <code class="function">waitpid</code> or <code class="function">waitpid</code>, and hope that the status is not collected by an event loop first.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Processes.html"><strong>Prev</strong>Chapter 8. Processes</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch08s03.html"><strong>Next</strong>8.3. SUID/SGID processes</a></li></ul></body></html>
\ No newline at end of file
+			The file is not removed automatically. It is not safe to rename or delete the file before processing, or transform the name in any way (for example, by adding a file extension). If you need multiple temporary files, call <code class="function">mkostemp</code> multiple times. Do not create additional file names derived from the name provided by a previous <code class="function">mkostemp</code> call. However, it is safe to close the descriptor returned by <code class="function">mkostemp</code> and reopen the file using the generated name.
+		</div><div class="para">
+			The Python class <code class="literal">tempfile.NamedTemporaryFile</code> provides similar functionality, except that the file is deleted automatically by default. Note that you may have to use the <code class="literal">file</code> attribute to obtain the actual file object because some programming interfaces cannot deal with file-like objects. The C function <code class="function">mkostemp</code> is also available as <code class="function">tempfile.mkstemp</code>.
+		</div><div class="para">
+			In Java, you can use the <code class="function">java.io.File.createTempFile(String, String, File)</code> function, using the temporary file location determined according to <a class="xref" href="chap-Defensive_Coding-Tasks-Temporary_Files.html#chap-Defensive_Coding-Tasks-Temporary_Files-Location">Section 8.1, “Obtaining the location of temporary directory”</a>. Do not use <code class="function">java.io.File.deleteOnExit()</code> to delete temporary files, and do not register a shutdown hook for each temporary file you create. In both cases, the deletion hint cannot be removed from the system if you delete the temporary file prior to termination of the VM, causing a memory leak.
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Tasks-Temporary_Files.html"><strong>Prev</strong>Chapter 8. Temporary files</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch08s03.html"><strong>Next</strong>8.3. Temporary files without names</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch08s03.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch08s03.html
index 556022b..12fea2b 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch08s03.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch08s03.html
@@ -1,39 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>8.3. SUID/SGID processes</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>8.3. Temporary files without names</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Processes.html" title="Chapter 8. Processes" /><link rel="prev" href="ch08s02.html" title="8.2. Handling child process termination" /><link rel="next" href="sect-Defensive_Coding-Tasks-Processes-Daemons.html" title="8.4. Daemons" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch08s02.html"><strong>Prev</strong></a></li><li class="next"><a 
 accesskey="n" href="sect-Defensive_Coding-Tasks-Processes-Daemons.html"><strong>Next</strong></a></li></ul><div class="section" id="idm224088389680"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224088389680">8.3. <code class="literal">SUID</code>/<code class="literal">SGID</code> processes</h2></div></div></div><div class="para">
-			Programs can be marked in the file system to indicate to the kernel that a trust transition should happen if the program is run. The <code class="literal">SUID</code> file permission bit indicates that an executable should run with the effective user ID equal to the owner of the executable file. Similarly, with the <code class="literal">SGID</code> bit, the effective group ID is set to the group of the executable file.
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Temporary_Files.html" title="Chapter 8. Temporary files" /><link rel="prev" href="ch08s02.html" title="8.2. Named temporary files" /><link rel="next" href="chap-Defensive_Coding-Tasks-Temporary_Directory.html" title="8.4. Temporary directories" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch08s02.html"><strong>Prev</strong></a></li><li c
 lass="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Temporary_Directory.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229839951552"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229839951552">8.3. Temporary files without names</h2></div></div></div><div class="para">
+			The <code class="function">tmpfile</code> function creates a temporary file and immediately deletes it, while keeping the file open. As a result, the file lacks a name and its space is deallocated as soon as the file descriptor is closed (including the implicit close when the process terminates). This avoids cluttering the temporary directory with orphaned files.
 		</div><div class="para">
-			Linux supports <span class="emphasis"><em>fscaps</em></span>, which can grant additional capabilities to a process in a finer-grained manner. Additional mechanisms can be provided by loadable security modules.
+			Alternatively, if the maximum size of the temporary file is known beforehand, the <code class="function">fmemopen</code> function can be used to create a <code class="literal">FILE *</code> object which is backed by memory.
 		</div><div class="para">
-			When such a trust transition has happened, the process runs in a potentially hostile environment. Additional care is necessary not to rely on any untrusted information. These concerns also apply to libraries which can be linked into such processes.
-		</div><div class="section" id="sect-Defensive_Coding-Tasks-secure_getenv"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">8.3.1. Accessing environment variables</h3></div></div></div><div class="para">
-				The following steps are required so that a program does not accidentally pick up untrusted data from environment variables.
-			</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
-						Compile your C/C++ sources with <code class="literal">-D_GNU_SOURCE</code>. The Autoconf macro <code class="literal">AC_GNU_SOURCE</code> ensures this.
-					</div></li><li class="listitem"><div class="para">
-						Check for the presence of the <code class="function">secure_getenv</code> and <code class="function">__secure_getenv</code> function. The Autoconf directive <code class="literal">AC_CHECK_FUNCS([__secure_getenv secure_getenv])</code> performs these checks.
-					</div></li><li class="listitem"><div class="para">
-						Arrange for a proper definition of the <code class="function">secure_getenv</code> function. See <a class="xref" href="ch08s03.html#ex-Defensive_Coding-Tasks-secure_getenv">Example 8.1, “Obtaining a definition for <code class="function">secure_getenv</code>”</a>.
-					</div></li><li class="listitem"><div class="para">
-						Use <code class="function">secure_getenv</code> instead of <code class="function">getenv</code> to obtain the value of critical environment variables. <code class="function">secure_getenv</code> will pretend the variable has not bee set if the process environment is not trusted.
-					</div></li></ul></div><div class="para">
-				Critical environment variables are debugging flags, configuration file locations, plug-in and log file locations, and anything else that might be used to bypass security restrictions or cause a privileged process to behave in an unexpected way.
-			</div><div class="para">
-				Either the <code class="function">secure_getenv</code> function or the <code class="function">__secure_getenv</code> is available from GNU libc.
-			</div><div class="example" id="ex-Defensive_Coding-Tasks-secure_getenv"><h6>Example 8.1. Obtaining a definition for <code class="function">secure_getenv</code></h6><div class="example-contents"><pre class="programlisting">
-
-<span class="perl_Others">#include &lt;stdlib.h&gt;</span><span class="perl_Others"></span>
-<span class="perl_Others"></span>
-<span class="perl_Others">#ifndef HAVE_SECURE_GETENV</span><span class="perl_Others"></span>
-<span class="perl_Others"></span><span class="perl_Others">#  ifdef HAVE__SECURE_GETENV</span><span class="perl_Others"></span>
-<span class="perl_Others"></span><span class="perl_Others">#    define secure_getenv __secure_getenv</span><span class="perl_Others"></span>
-<span class="perl_Others"></span><span class="perl_Others">#  else</span><span class="perl_Others"></span>
-<span class="perl_Others"></span><span class="perl_Others">#    error neither secure_getenv nor __secure_getenv are available</span><span class="perl_Others"></span>
-<span class="perl_Others"></span><span class="perl_Others">#  endif</span><span class="perl_Others"></span>
-<span class="perl_Others"></span><span class="perl_Others">#endif</span><span class="perl_Others"></span>
-<span class="perl_Others"></span>
-</pre></div></div><br class="example-break" /></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch08s02.html"><strong>Prev</strong>8.2. Handling child process termination</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Processes-Daemons.html"><strong>Next</strong>8.4. Daemons</a></li></ul></body></html>
\ No newline at end of file
+			In Python, unnamed temporary files are provided by the <code class="literal">tempfile.TemporaryFile</code> class, and the <code class="literal">tempfile.SpooledTemporaryFile</code> class provides a way to avoid creation of small temporary files.
+		</div><div class="para">
+			Java does not support unnamed temporary files.
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch08s02.html"><strong>Prev</strong>8.2. Named temporary files</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Temporary_Directory.html"><strong>Next</strong>8.4. Temporary directories</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch08s05.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch08s05.html
index b5f3f9c..d9d89c9 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch08s05.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch08s05.html
@@ -1,13 +1,21 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>8.5. Semantics of command line arguments</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>8.5. Compensating for unsafe file creation</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Processes.html" title="Chapter 8. Processes" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Processes-Daemons.html" title="8.4. Daemons" /><link rel="next" href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html" title="8.6. fork as a primitive for parallelism" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Codi
 ng-Tasks-Processes-Daemons.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html"><strong>Next</strong></a></li></ul><div class="section" id="idm224133373104"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224133373104">8.5. Semantics of command line arguments</h2></div></div></div><div class="para">
-			After process creation and option processing, it is up to the child process to interpret the arguments. Arguments can be file names, host names, or URLs, and many other things. URLs can refer to the local network, some server on the Internet, or to the local file system. Some applications even accept arbitrary code in arguments (for example, <span class="application"><strong>python</strong></span> with the <code class="option">-c</code> option).
-		</div><div class="para">
-			Similar concerns apply to environment variables, the contents of the current directory and its subdirectories. 
-		</div><div class="para">
-			Consequently, careful analysis is required if it is safe to pass untrusted data to another program.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Processes-Daemons.html"><strong>Prev</strong>8.4. Daemons</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html"><strong>Next</strong>8.6. fork as a primitive for parallelism</a></li></ul></body></html>
\ No newline at end of file
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Temporary_Files.html" title="Chapter 8. Temporary files" /><link rel="prev" href="chap-Defensive_Coding-Tasks-Temporary_Directory.html" title="8.4. Temporary directories" /><link rel="next" href="sect-Defensive_Coding-Tasks-Processes.html" title="Chapter 9. Processes" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Ta
 sks-Temporary_Directory.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Processes.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229826312320"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229826312320">8.5. Compensating for unsafe file creation</h2></div></div></div><div class="para">
+			There are two ways to make a function or program which excepts a file name safe for use with temporary files. See <a class="xref" href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Creation">Section 9.1, “Safe process creation”</a>, for details on subprocess creation.
+		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+					Create a temporary directory and place the file there. If possible, run the program in a subprocess which uses the temporary directory as its current directory, with a restricted environment. Use generated names for all files in that temporary directory. (See <a class="xref" href="chap-Defensive_Coding-Tasks-Temporary_Directory.html">Section 8.4, “Temporary directories”</a>.)
+				</div></li><li class="listitem"><div class="para">
+					Create the temporary file and pass the generated file name to the function or program. This only works if the function or program can cope with a zero-length existing file. It is safe only under additional assumptions:
+				</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+							The function or program must not create additional files whose name is derived from the specified file name or are otherwise predictable.
+						</div></li><li class="listitem"><div class="para">
+							The function or program must not delete the file before processing it.
+						</div></li><li class="listitem"><div class="para">
+							It must not access any existing files in the same directory.
+						</div></li></ul></div><div class="para">
+					It is often difficult to check whether these additional assumptions are matched, therefore this approach is not recommended.
+				</div></li></ul></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Tasks-Temporary_Directory.html"><strong>Prev</strong>8.4. Temporary directories</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Processes.html"><strong>Next</strong>Chapter 9. Processes</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch09s02.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch09s02.html
index 109f84d..02b08f0 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch09s02.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch09s02.html
@@ -1,9 +1,19 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.2. Protocol design</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.2. Handling child process termination</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Serialization.html" title="Chapter 9. Serialization and Deserialization" /><link rel="prev" href="chap-Defensive_Coding-Tasks-Serialization.html" title="Chapter 9. Serialization and Deserialization" /><link rel="next" href="ch09s03.html" title="9.3. Library support for deserialization" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-D
 efensive_Coding-Tasks-Serialization.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch09s03.html"><strong>Next</strong></a></li></ul><div class="section" id="idm224093176288"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224093176288">9.2. Protocol design</h2></div></div></div><div class="para">
-			Binary formats with explicit length fields are more difficult to parse robustly than those where the length of dynamically-sized elements is derived from sentinel values. A protocol which does not use length fields and can be written in printable ASCII characters simplifies testing and debugging. However, binary protocols with length fields may be more efficient to parse.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Tasks-Serialization.html"><strong>Prev</strong>Chapter 9. Serialization and Deserialization</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch09s03.html"><strong>Next</strong>9.3. Library support for deserialization</a></li></ul></body></html>
\ No newline at end of file
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Processes.html" title="Chapter 9. Processes" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Processes.html" title="Chapter 9. Processes" /><link rel="next" href="ch09s03.html" title="9.3. SUID/SGID processes" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Processes.html"><strong>Prev</strong></a></li><li 
 class="next"><a accesskey="n" href="ch09s03.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229866155888"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229866155888">9.2. Handling child process termination</h2></div></div></div><div class="para">
+			When child processes terminate, the parent process is signalled. A stub of the terminated processes (a <span class="emphasis"><em>zombie</em></span>, shown as <code class="literal">&lt;defunct&gt;</code> by <span class="application"><strong>ps</strong></span>) is kept around until the status information is collected (<span class="emphasis"><em>reaped</em></span>) by the parent process. Over the years, several interfaces for this have been invented:
+		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+					The parent process calls <code class="function">wait</code>, <code class="function">waitpid</code>, <code class="function">waitid</code>, <code class="function">wait3</code> or <code class="function">wait4</code>, without specifying a process ID. This will deliver any matching process ID. This approach is typically used from within event loops.
+				</div></li><li class="listitem"><div class="para">
+					The parent process calls <code class="function">waitpid</code>, <code class="function">waitid</code>, or <code class="function">wait4</code>, with a specific process ID. Only data for the specific process ID is returned. This is typically used in code which spawns a single subprocess in a synchronous manner.
+				</div></li><li class="listitem"><div class="para">
+					The parent process installs a handler for the <code class="literal">SIGCHLD</code> signal, using <code class="function">sigaction</code>, and specifies to the <code class="literal">SA_NOCLDWAIT</code> flag. This approach could be used by event loops as well.
+				</div></li></ul></div><div class="para">
+			None of these approaches can be used to wait for child process terminated in a completely thread-safe manner. The parent process might execute an event loop in another thread, which could pick up the termination signal. This means that libraries typically cannot make free use of child processes (for example, to run problematic code with reduced privileges in a separate address space).
+		</div><div class="para">
+			At the moment, the parent process should explicitly wait for termination of the child process using <code class="function">waitpid</code> or <code class="function">waitpid</code>, and hope that the status is not collected by an event loop first.
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Processes.html"><strong>Prev</strong>Chapter 9. Processes</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch09s03.html"><strong>Next</strong>9.3. SUID/SGID processes</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch09s03.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch09s03.html
index c909e81..1727d1f 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch09s03.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch09s03.html
@@ -1,25 +1,39 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.3. Library support for deserialization</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.3. SUID/SGID processes</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Serialization.html" title="Chapter 9. Serialization and Deserialization" /><link rel="prev" href="ch09s02.html" title="9.2. Protocol design" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="9.4. XML serialization" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch09s02.html"><strong>Prev</strong></a></li><
 li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML.html"><strong>Next</strong></a></li></ul><div class="section" id="idm224127806064"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224127806064">9.3. Library support for deserialization</h2></div></div></div><div class="para">
-			For some languages, generic libraries are available which allow to serialize and deserialize user-defined objects. The deserialization part comes in one of two flavors, depending on the library. The first kind uses type information in the data stream to control which objects are instantiated. The second kind uses type definitions supplied by the programmer. The first one allows arbitrary object instantiation, the second one generally does not.
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Processes.html" title="Chapter 9. Processes" /><link rel="prev" href="ch09s02.html" title="9.2. Handling child process termination" /><link rel="next" href="sect-Defensive_Coding-Tasks-Processes-Daemons.html" title="9.4. Daemons" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch09s02.html"><strong>Prev</strong></a></li><li class="next"><a 
 accesskey="n" href="sect-Defensive_Coding-Tasks-Processes-Daemons.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229830816032"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229830816032">9.3. <code class="literal">SUID</code>/<code class="literal">SGID</code> processes</h2></div></div></div><div class="para">
+			Programs can be marked in the file system to indicate to the kernel that a trust transition should happen if the program is run. The <code class="literal">SUID</code> file permission bit indicates that an executable should run with the effective user ID equal to the owner of the executable file. Similarly, with the <code class="literal">SGID</code> bit, the effective group ID is set to the group of the executable file.
 		</div><div class="para">
-			The following serialization frameworks are in the first category, are known to be unsafe, and must not be used for untrusted data:
-		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
-					Python's <span class="package">pickle</span> and <span class="package">cPickle</span> modules
-				</div></li><li class="listitem"><div class="para">
-					Perl's <span class="package">Storable</span> package
-				</div></li><li class="listitem"><div class="para">
-					Java serialization (<span class="type">java.io.ObjectInputStream</span>)
-				</div></li><li class="listitem"><div class="para">
-					PHP serialization (<code class="function">unserialize</code>)
-				</div></li><li class="listitem"><div class="para">
-					Most implementations of YAML
-				</div></li></ul></div><div class="para">
-			When using a type-directed deserialization format where the types of the deserialized objects are specified by the programmer, make sure that the objects which can be instantiated cannot perform any destructive actions in their destructors, even when the data members have been manipulated.
+			Linux supports <span class="emphasis"><em>fscaps</em></span>, which can grant additional capabilities to a process in a finer-grained manner. Additional mechanisms can be provided by loadable security modules.
 		</div><div class="para">
-			JSON decoders do not suffer from this problem. But you must not use the <code class="function">eval</code> function to parse JSON objects in Javascript; even with the regular expression filter from RFC 4627, there are still information leaks remaining.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch09s02.html"><strong>Prev</strong>9.2. Protocol design</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML.html"><strong>Next</strong>9.4. XML serialization</a></li></ul></body></html>
\ No newline at end of file
+			When such a trust transition has happened, the process runs in a potentially hostile environment. Additional care is necessary not to rely on any untrusted information. These concerns also apply to libraries which can be linked into such processes.
+		</div><div class="section" id="sect-Defensive_Coding-Tasks-secure_getenv"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.3.1. Accessing environment variables</h3></div></div></div><div class="para">
+				The following steps are required so that a program does not accidentally pick up untrusted data from environment variables.
+			</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+						Compile your C/C++ sources with <code class="literal">-D_GNU_SOURCE</code>. The Autoconf macro <code class="literal">AC_GNU_SOURCE</code> ensures this.
+					</div></li><li class="listitem"><div class="para">
+						Check for the presence of the <code class="function">secure_getenv</code> and <code class="function">__secure_getenv</code> function. The Autoconf directive <code class="literal">AC_CHECK_FUNCS([__secure_getenv secure_getenv])</code> performs these checks.
+					</div></li><li class="listitem"><div class="para">
+						Arrange for a proper definition of the <code class="function">secure_getenv</code> function. See <a class="xref" href="ch09s03.html#ex-Defensive_Coding-Tasks-secure_getenv">Example 9.1, “Obtaining a definition for <code class="function">secure_getenv</code>”</a>.
+					</div></li><li class="listitem"><div class="para">
+						Use <code class="function">secure_getenv</code> instead of <code class="function">getenv</code> to obtain the value of critical environment variables. <code class="function">secure_getenv</code> will pretend the variable has not bee set if the process environment is not trusted.
+					</div></li></ul></div><div class="para">
+				Critical environment variables are debugging flags, configuration file locations, plug-in and log file locations, and anything else that might be used to bypass security restrictions or cause a privileged process to behave in an unexpected way.
+			</div><div class="para">
+				Either the <code class="function">secure_getenv</code> function or the <code class="function">__secure_getenv</code> is available from GNU libc.
+			</div><div class="example" id="ex-Defensive_Coding-Tasks-secure_getenv"><h6>Example 9.1. Obtaining a definition for <code class="function">secure_getenv</code></h6><div class="example-contents"><pre class="programlisting">
+
+<span class="perl_Others">#include &lt;stdlib.h&gt;</span><span class="perl_Others"></span>
+<span class="perl_Others"></span>
+<span class="perl_Others">#ifndef HAVE_SECURE_GETENV</span><span class="perl_Others"></span>
+<span class="perl_Others"></span><span class="perl_Others">#  ifdef HAVE__SECURE_GETENV</span><span class="perl_Others"></span>
+<span class="perl_Others"></span><span class="perl_Others">#    define secure_getenv __secure_getenv</span><span class="perl_Others"></span>
+<span class="perl_Others"></span><span class="perl_Others">#  else</span><span class="perl_Others"></span>
+<span class="perl_Others"></span><span class="perl_Others">#    error neither secure_getenv nor __secure_getenv are available</span><span class="perl_Others"></span>
+<span class="perl_Others"></span><span class="perl_Others">#  endif</span><span class="perl_Others"></span>
+<span class="perl_Others"></span><span class="perl_Others">#endif</span><span class="perl_Others"></span>
+<span class="perl_Others"></span>
+</pre></div></div><br class="example-break" /></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch09s02.html"><strong>Prev</strong>9.2. Handling child process termination</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Processes-Daemons.html"><strong>Next</strong>9.4. Daemons</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch09s05.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch09s05.html
index 3f511f2..cd7862d 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch09s05.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch09s05.html
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.5. Protocol Encoders</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.5. Semantics of command line arguments</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Serialization.html" title="Chapter 9. Serialization and Deserialization" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html" title="9.4.7.2. XML Schema validation in OpenJDK" /><link rel="next" href="chap-Defensive_Coding-Tasks-Cryptography.html" title="Chapter 10. Cryptography" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="pre
 vious"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Cryptography.html"><strong>Next</strong></a></li></ul><div class="section" id="idm224134119088"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224134119088">9.5. Protocol Encoders</h2></div></div></div><div class="para">
-			For protocol encoders, you should write bytes to a buffer which grows as needed, using an exponential sizing policy. Explicit lengths can be patched in later, once they are known. Allocating the required number of bytes upfront typically requires separate code to compute the final size, which must be kept in sync with the actual encoding step, or vulnerabilities may result. In multi-threaded code, parts of the object being deserialized might change, so that the computed size is out of date.
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Processes.html" title="Chapter 9. Processes" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Processes-Daemons.html" title="9.4. Daemons" /><link rel="next" href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html" title="9.6. fork as a primitive for parallelism" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Codi
 ng-Tasks-Processes-Daemons.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229819962560"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229819962560">9.5. Semantics of command line arguments</h2></div></div></div><div class="para">
+			After process creation and option processing, it is up to the child process to interpret the arguments. Arguments can be file names, host names, or URLs, and many other things. URLs can refer to the local network, some server on the Internet, or to the local file system. Some applications even accept arbitrary code in arguments (for example, <span class="application"><strong>python</strong></span> with the <code class="option">-c</code> option).
 		</div><div class="para">
-			You should avoid copying data directly from a received packet during encoding, disregarding the format. Propagating malformed data could enable attacks on other recipients of that data.
+			Similar concerns apply to environment variables, the contents of the current directory and its subdirectories. 
 		</div><div class="para">
-			When using C or C++ and copying whole data structures directly into the output, make sure that you do not leak information in padding bytes between fields or at the end of the <code class="literal">struct</code>.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html"><strong>Prev</strong>9.4.7.2. XML Schema validation in OpenJDK</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Cryptography.html"><strong>Next</strong>Chapter 10. Cryptography</a></li></ul></body></html>
\ No newline at end of file
+			Consequently, careful analysis is required if it is safe to pass untrusted data to another program.
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Processes-Daemons.html"><strong>Prev</strong>9.4. Daemons</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html"><strong>Next</strong>9.6. fork as a primitive for parallelism</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch10s02.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch10s02.html
index f6665da..6a2f5bc 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch10s02.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch10s02.html
@@ -1,29 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>10.2. Randomness</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>10.2. Protocol design</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Cryptography.html" title="Chapter 10. Cryptography" /><link rel="prev" href="chap-Defensive_Coding-Tasks-Cryptography.html" title="Chapter 10. Cryptography" /><link rel="next" href="pt03.html" title="Part III. Implementing Security Features" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Tasks-Cryptography.html"><st
 rong>Prev</strong></a></li><li class="next"><a accesskey="n" href="pt03.html"><strong>Next</strong></a></li></ul><div class="section" id="idm224093700512"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224093700512">10.2. Randomness</h2></div></div></div><div class="para">
-			The following facilities can be used to generate unpredictable and non-repeating values. When these functions are used without special safeguards, each individual rnadom value should be at least 12 bytes long.
-		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
-					<code class="function">PK11_GenerateRandom</code> in the NSS library (usable for high data rates)
-				</div></li><li class="listitem"><div class="para">
-					<code class="function">RAND_bytes</code> in the OpenSSL library (usable for high data rates)
-				</div></li><li class="listitem"><div class="para">
-					<code class="function">gnutls_rnd</code> in GNUTLS, with <code class="literal">GNUTLS_RND_RANDOM</code> as the first argument (usable for high data rates)
-				</div></li><li class="listitem"><div class="para">
-					<span class="type">java.security.SecureRandom</span> in Java (usable for high data rates)
-				</div></li><li class="listitem"><div class="para">
-					<code class="function">os.urandom</code> in Python
-				</div></li><li class="listitem"><div class="para">
-					Reading from the <code class="filename">/dev/urandom</code> character device
-				</div></li></ul></div><div class="para">
-			All these functions should be non-blocking, and they should not wait until physical randomness becomes available. (Some cryptography providers for Java can cause <span class="type">java.security.SecureRandom</span> to block, however.) Those functions which do not obtain all bits directly from <code class="filename">/dev/urandom</code> are suitable for high data rates because they do not deplete the system-wide entropy pool.
-		</div><div class="important"><div class="admonition_header"><h2>Difficult to use API</h2></div><div class="admonition"><div class="para">
-				Both <code class="function">RAND_bytes</code> and <code class="function">PK11_GenerateRandom</code> have three-state return values (with conflicting meanings). Careful error checking is required. Please review the documentation when using these functions.
-			</div></div></div><div class="para">
-			Other sources of randomness should be considered predictable.
-		</div><div class="para">
-			Generating randomness for cryptographic keys in long-term use may need different steps and is best left to cryptographic libraries.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Tasks-Cryptography.html"><strong>Prev</strong>Chapter 10. Cryptography</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="pt03.html"><strong>Next</strong>Part III. Implementing Security Features</a></li></ul></body></html>
\ No newline at end of file
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Serialization.html" title="Chapter 10. Serialization and Deserialization" /><link rel="prev" href="chap-Defensive_Coding-Tasks-Serialization.html" title="Chapter 10. Serialization and Deserialization" /><link rel="next" href="ch10s03.html" title="10.3. Library support for deserialization" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="cha
 p-Defensive_Coding-Tasks-Serialization.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch10s03.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229811528928"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229811528928">10.2. Protocol design</h2></div></div></div><div class="para">
+			Binary formats with explicit length fields are more difficult to parse robustly than those where the length of dynamically-sized elements is derived from sentinel values. A protocol which does not use length fields and can be written in printable ASCII characters simplifies testing and debugging. However, binary protocols with length fields may be more efficient to parse.
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Tasks-Serialization.html"><strong>Prev</strong>Chapter 10. Serialization and Deserialization</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch10s03.html"><strong>Next</strong>10.3. Library support for deserialization</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch10s03.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch10s03.html
new file mode 100644
index 0000000..051029c
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch10s03.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>10.3. Library support for deserialization</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+              addID('Fedora_Security_Team');
+              
+              addID('Fedora_Security_Team..books');
+	      addID('Fedora_Security_Team..Defensive_Coding');
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Serialization.html" title="Chapter 10. Serialization and Deserialization" /><link rel="prev" href="ch10s02.html" title="10.2. Protocol design" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="10.4. XML serialization" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch10s02.html"><strong>Prev</strong></a></l
 i><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229837352032"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229837352032">10.3. Library support for deserialization</h2></div></div></div><div class="para">
+			For some languages, generic libraries are available which allow to serialize and deserialize user-defined objects. The deserialization part comes in one of two flavors, depending on the library. The first kind uses type information in the data stream to control which objects are instantiated. The second kind uses type definitions supplied by the programmer. The first one allows arbitrary object instantiation, the second one generally does not.
+		</div><div class="para">
+			The following serialization frameworks are in the first category, are known to be unsafe, and must not be used for untrusted data:
+		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+					Python's <span class="package">pickle</span> and <span class="package">cPickle</span> modules, and wrappers such as <span class="package">shelve</span>
+				</div></li><li class="listitem"><div class="para">
+					Perl's <span class="package">Storable</span> package
+				</div></li><li class="listitem"><div class="para">
+					Java serialization (<span class="type">java.io.ObjectInputStream</span>), even if encoded in other formats (as with <span class="type">java.beans.XMLDecoder</span>)
+				</div></li><li class="listitem"><div class="para">
+					PHP serialization (<code class="function">unserialize</code>)
+				</div></li><li class="listitem"><div class="para">
+					Most implementations of YAML
+				</div></li></ul></div><div class="para">
+			When using a type-directed deserialization format where the types of the deserialized objects are specified by the programmer, make sure that the objects which can be instantiated cannot perform any destructive actions in their destructors, even when the data members have been manipulated.
+		</div><div class="para">
+			In general, JSON decoders do not suffer from this problem. But you must not use the <code class="function">eval</code> function to parse JSON objects in Javascript; even with the regular expression filter from RFC 4627, there are still information leaks remaining. JSON-based formats can still turn out risky if they serve as an encoding form for any if the serialization frameworks listed above.
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch10s02.html"><strong>Prev</strong>10.2. Protocol design</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML.html"><strong>Next</strong>10.4. XML serialization</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch10s05.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch10s05.html
new file mode 100644
index 0000000..ab12194
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch10s05.html
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>10.5. Protocol Encoders</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+              addID('Fedora_Security_Team');
+              
+              addID('Fedora_Security_Team..books');
+	      addID('Fedora_Security_Team..Defensive_Coding');
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Serialization.html" title="Chapter 10. Serialization and Deserialization" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html" title="10.4.7.3. Other XML parsers in OpenJDK" /><link rel="next" href="chap-Defensive_Coding-Tasks-Cryptography.html" title="Chapter 11. Cryptography" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="pre
 vious"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Cryptography.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229828875232"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229828875232">10.5. Protocol Encoders</h2></div></div></div><div class="para">
+			For protocol encoders, you should write bytes to a buffer which grows as needed, using an exponential sizing policy. Explicit lengths can be patched in later, once they are known. Allocating the required number of bytes upfront typically requires separate code to compute the final size, which must be kept in sync with the actual encoding step, or vulnerabilities may result. In multi-threaded code, parts of the object being deserialized might change, so that the computed size is out of date.
+		</div><div class="para">
+			You should avoid copying data directly from a received packet during encoding, disregarding the format. Propagating malformed data could enable attacks on other recipients of that data.
+		</div><div class="para">
+			When using C or C++ and copying whole data structures directly into the output, make sure that you do not leak information in padding bytes between fields or at the end of the <code class="literal">struct</code>.
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html"><strong>Prev</strong>10.4.7.3. Other XML parsers in OpenJDK</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Cryptography.html"><strong>Next</strong>Chapter 11. Cryptography</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch11s02.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch11s02.html
new file mode 100644
index 0000000..d007f78
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/ch11s02.html
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>11.2. Randomness</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+              addID('Fedora_Security_Team');
+              
+              addID('Fedora_Security_Team..books');
+	      addID('Fedora_Security_Team..Defensive_Coding');
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Cryptography.html" title="Chapter 11. Cryptography" /><link rel="prev" href="chap-Defensive_Coding-Tasks-Cryptography.html" title="Chapter 11. Cryptography" /><link rel="next" href="pt03.html" title="Part III. Implementing Security Features" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Tasks-Cryptography.html"><st
 rong>Prev</strong></a></li><li class="next"><a accesskey="n" href="pt03.html"><strong>Next</strong></a></li></ul><div class="section" id="idm229812347184"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229812347184">11.2. Randomness</h2></div></div></div><div class="para">
+			The following facilities can be used to generate unpredictable and non-repeating values. When these functions are used without special safeguards, each individual random value should be at least 12 bytes long.
+		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+					<code class="function">PK11_GenerateRandom</code> in the NSS library (usable for high data rates)
+				</div></li><li class="listitem"><div class="para">
+					<code class="function">RAND_bytes</code> in the OpenSSL library (usable for high data rates)
+				</div></li><li class="listitem"><div class="para">
+					<code class="function">gnutls_rnd</code> in GNUTLS, with <code class="literal">GNUTLS_RND_RANDOM</code> as the first argument (usable for high data rates)
+				</div></li><li class="listitem"><div class="para">
+					<span class="type">java.security.SecureRandom</span> in Java (usable for high data rates)
+				</div></li><li class="listitem"><div class="para">
+					<code class="function">os.urandom</code> in Python
+				</div></li><li class="listitem"><div class="para">
+					Reading from the <code class="filename">/dev/urandom</code> character device
+				</div></li></ul></div><div class="para">
+			All these functions should be non-blocking, and they should not wait until physical randomness becomes available. (Some cryptography providers for Java can cause <span class="type">java.security.SecureRandom</span> to block, however.) Those functions which do not obtain all bits directly from <code class="filename">/dev/urandom</code> are suitable for high data rates because they do not deplete the system-wide entropy pool.
+		</div><div class="important"><div class="admonition_header"><h2>Difficult to use API</h2></div><div class="admonition"><div class="para">
+				Both <code class="function">RAND_bytes</code> and <code class="function">PK11_GenerateRandom</code> have three-state return values (with conflicting meanings). Careful error checking is required. Please review the documentation when using these functions.
+			</div></div></div><div class="para">
+			Other sources of randomness should be considered predictable.
+		</div><div class="para">
+			Generating randomness for cryptographic keys in long-term use may need different steps and is best left to cryptographic libraries.
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Tasks-Cryptography.html"><strong>Prev</strong>Chapter 11. Cryptography</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="pt03.html"><strong>Next</strong>Part III. Implementing Security Features</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Authentication.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Authentication.html
index acb3b35..4407ade 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Authentication.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Authentication.html
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 11. Authentication and Authorization</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 12. Authentication and Authorization</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt03.html" title="Part III. Implementing Security Features" /><link rel="prev" href="pt03.html" title="Part III. Implementing Security Features" /><link rel="next" href="sect-Defensive_Coding-Authentication-Host_based.html" title="11.2. Host-based authentication" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="pt03.html"><strong>Prev</strong></a></li><li class="next"
 ><a accesskey="n" href="sect-Defensive_Coding-Authentication-Host_based.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Authentication" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 11. Authentication and Authorization</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-Authentication.html#sect-Defensive_Coding-Authentication-Server">11.1. Authenticating servers</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-Host_based.html">11.2. Host-based authentication</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-UNIX_Domain.html">11.3. UNIX domain socket authentication</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-Netlink.html">11.4. <code class="literal">AF_NETLINK</code> authentication of origin</a></span></dt></dl></div>
 <div class="section" id="sect-Defensive_Coding-Authentication-Server"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">11.1. Authenticating servers</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt03.html" title="Part III. Implementing Security Features" /><link rel="prev" href="pt03.html" title="Part III. Implementing Security Features" /><link rel="next" href="sect-Defensive_Coding-Authentication-Host_based.html" title="12.2. Host-based authentication" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="pt03.html"><strong>Prev</strong></a></li><li class="next"
 ><a accesskey="n" href="sect-Defensive_Coding-Authentication-Host_based.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Authentication" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 12. Authentication and Authorization</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-Authentication.html#sect-Defensive_Coding-Authentication-Server">12.1. Authenticating servers</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-Host_based.html">12.2. Host-based authentication</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-UNIX_Domain.html">12.3. UNIX domain socket authentication</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-Netlink.html">12.4. <code class="literal">AF_NETLINK</code> authentication of origin</a></span></dt></dl></div>
 <div class="section" id="sect-Defensive_Coding-Authentication-Server"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">12.1. Authenticating servers</h2></div></div></div><div class="para">
 			When connecting to a server, a client has to make sure that it is actually talking to the server it expects. There are two different aspects, securing the network path, and making sure that the expected user runs the process on the target host. There are several ways to ensure that:
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					The server uses a TLS certificate which is valid according to the web browser public key infrastructure, and the client verifies the certificate and the host name.
@@ -15,7 +15,7 @@
 				</div></li><li class="listitem"><div class="para">
 					Port numbers less than 1024 (<span class="emphasis"><em>trusted ports</em></span>) can only be used by <code class="literal">root</code>, so if a UDP or TCP server is running on the local host and it uses a trusted port, its identity is assured. (Not all operating systems enforce the trusted ports concept, and the network might not be trusted, so it is only useful on the local system.)
 				</div></li></ul></div><div class="para">
-			TLS (<a class="xref" href="chap-Defensive_Coding-TLS.html">Chapter 12, <em>Transport Layer Security</em></a>) is the recommended way for securing connections over untrusted networks.
+			TLS (<a class="xref" href="chap-Defensive_Coding-TLS.html">Chapter 13, <em>Transport Layer Security</em></a>) is the recommended way for securing connections over untrusted networks.
 		</div><div class="para">
 			If the server port number is 1024 is higher, a local user can impersonate the process by binding to this socket, perhaps after crashing the real server by exploiting a denial-of-service vulnerability.
-		</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="pt03.html"><strong>Prev</strong>Part III. Implementing Security Features</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Authentication-Host_based.html"><strong>Next</strong>11.2. Host-based authentication</a></li></ul></body></html>
\ No newline at end of file
+		</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="pt03.html"><strong>Prev</strong>Part III. Implementing Security Features</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Authentication-Host_based.html"><strong>Next</strong>12.2. Host-based authentication</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-C.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-C.html
index 152225c..7e9b31f 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-C.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-C.html
@@ -4,7 +4,7 @@
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt01.html" title="Part I. Programming Languages" /><link rel="prev" href="pt01.html" title="Part I. Programming Languages" /><link rel="next" href="sect-Defensive_Coding-C-Libc.html" title="1.2. The C standard library" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="pt01.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding
 -C-Libc.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-C" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 1. The C Programming Language</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Language">1.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Undefined">1.1.1. Undefined behavior</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Pointers">1.1.2. Recommendations for pointers and array handling</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Arithmetic">1.1.3. Recommendations for integer arithmetic</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Libc.html">1.2. The C standard l
 ibrary</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Libc.html#sect-Defensive_Coding-C-Absolutely-Banned">1.2.1. Absolutely banned interfaces</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-Avoid.html">1.2.2. Functions to avoid</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-String-Functions-Length.html">1.2.3. String Functions With Explicit Length Arguments</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators.html">1.3. Memory allocators</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators.html#idm224096163968">1.3.1. <code class="function">malloc</code> and related functions</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators-alloca.html">1.3.2. <code class="function">alloca</code> and other forms of stack-based allocation</a></span></dt><dt><span class="section"><a href="s
 ect-Defensive_Coding-C-Allocators-Arrays.html">1.3.3. Array allocation</a></span></dt><dt><span class="section"><a href="ch01s03s04.html">1.3.4. Custom memory allocators</a></span></dt><dt><span class="section"><a href="ch01s03s05.html">1.3.5. Conservative garbage collection</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Other.html">1.4. Other C-related topics</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Other.html#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1. Wrapper functions</a></span></dt></dl></dd></dl></div><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-C-Language" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">1.1. The core language</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt01.html" title="Part I. Programming Languages" /><link rel="prev" href="pt01.html" title="Part I. Programming Languages" /><link rel="next" href="sect-Defensive_Coding-C-Libc.html" title="1.2. The C standard library" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="pt01.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding
 -C-Libc.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-C" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 1. The C Programming Language</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Language">1.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Undefined">1.1.1. Undefined behavior</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Pointers">1.1.2. Recommendations for pointers and array handling</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Arithmetic">1.1.3. Recommendations for integer arithmetic</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Globals">1.1.
 4. Global variables</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Libc.html">1.2. The C standard library</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Libc.html#sect-Defensive_Coding-C-Absolutely-Banned">1.2.1. Absolutely banned interfaces</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-Avoid.html">1.2.2. Functions to avoid</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-String-Functions-Length.html">1.2.3. String Functions With Explicit Length Arguments</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators.html">1.3. Memory allocators</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators.html#idm229864379840">1.3.1. <code class="function">malloc</code> and related functions</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators-alloca.html">1
 .3.2. <code class="function">alloca</code> and other forms of stack-based allocation</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators-Arrays.html">1.3.3. Array allocation</a></span></dt><dt><span class="section"><a href="ch01s03s04.html">1.3.4. Custom memory allocators</a></span></dt><dt><span class="section"><a href="ch01s03s05.html">1.3.5. Conservative garbage collection</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Other.html">1.4. Other C-related topics</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Other.html#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1. Wrapper functions</a></span></dt></dl></dd></dl></div><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-C-Language" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">1.1. The core language</h2></div></div></div><div class="para">
 		C provides no memory safety. Most recommendations in this section deal with this aspect of the language.
 	</div><div class="section" id="sect-Defensive_Coding-C-Undefined"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">1.1.1. Undefined behavior</h3></div></div></div><div class="para">
 			Some C constructs are defined to be undefined by the C standard. This does not only mean that the standard does not describe what happens when the construct is executed. It also allows optimizing compilers such as GCC to assume that this particular construct is never reached. In some cases, this has caused GCC to optimize security checks away. (This is not a flaw in GCC or the C language. But C certainly has some areas which are more difficult to use than others.)
@@ -107,4 +107,19 @@ mul(<span class="perl_DataType">unsigned</span> a, <span class="perl_DataType">u
 			When a value is converted to a signed integer, GCC always chooses the result based on 2's complement arithmetic. This GCC extension (which is also implemented by other compilers) helps a lot when implementing overflow checks.
 		</div><div class="para">
 			Legacy code should be compiled with the <code class="option">-fwrapv</code> GCC option. As a result, GCC will provide 2's complement semantics for integer arithmetic, including defined behavior on integer overflow.
+		</div></div><div class="section" id="sect-Defensive_Coding-C-Globals"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">1.1.4. Global variables</h3></div></div></div><div class="para">
+			Global variables should be avoided because they usually lead to thread safety hazards. In any case, they should be declared <code class="literal">static</code>, so that access is restricted to a single translation unit.
+		</div><div class="para">
+			Global constants are not a problem, but declaring them can be tricky. <a class="xref" href="chap-Defensive_Coding-C.html#ex-Defensive_Coding-C-Globals-String_Array">Example 1.4, “Declaring a constant array of constant strings”</a> shows how to declare a constant array of constant strings. The second <code class="literal">const</code> is needed to make the array constant, and not just the strings. It must be placed after the <code class="literal">*</code>, and not before it.
+		</div><div class="example" id="ex-Defensive_Coding-C-Globals-String_Array"><h6>Example 1.4. Declaring a constant array of constant strings</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">static</span> <span class="perl_DataType">const</span> <span class="perl_DataType">char</span> *<span class="perl_DataType">const</span> string_list[] = {
+  <span class="perl_String">"first"</span>,
+  <span class="perl_String">"second"</span>,
+  <span class="perl_String">"third"</span>,
+  NULL
+};
+</pre></div></div><br class="example-break" /><div class="para">
+			Sometimes, static variables local to functions are used as a replacement for proper memory management. Unlike non-static local variables, it is possible to return a pointer to static local variables to the caller. But such variables are well-hidden, but effectively global (just as static variables at file scope). It is difficult to add thread safety afterwards if such interfaces are used. Merely dropping the <code class="literal">static</code> keyword in such cases leads to undefined behavior.
+		</div><div class="para">
+			Another source for static local variables is a desire to reduce stack space usage on embedded platforms, where the stack may span only a few hundred bytes. If this is the only reason why the <code class="literal">static</code> keyword is used, it can just be dropped, unless the object is very large (larger than 128 kilobytes on 32 bit platforms). In the latter case, it is recommended to allocate the object using <code class="literal">malloc</code>, to obtain proper array checking, for the same reasons outlined in <a class="xref" href="sect-Defensive_Coding-C-Allocators-alloca.html">Section 1.3.2, “<code class="function">alloca</code> and other forms of stack-based allocation”</a>.
 		</div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="pt01.html"><strong>Prev</strong>Part I. Programming Languages</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-C-Libc.html"><strong>Next</strong>1.2. The C standard library</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-CXX.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-CXX.html
index a59f9a8..d39b54f 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-CXX.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-CXX.html
@@ -4,21 +4,21 @@
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt01.html" title="Part I. Programming Languages" /><link rel="prev" href="sect-Defensive_Coding-C-Other.html" title="1.4. Other C-related topics" /><link rel="next" href="sect-Defensive_Coding-CXX-Std.html" title="2.2. The C++ standard library" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-C-Other.html"><strong>Prev</strong></a></li><li class="
 next"><a accesskey="n" href="sect-Defensive_Coding-CXX-Std.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-CXX" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 2. The C++ Programming Language</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#sect-Defensive_Coding-CXX-Language">2.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm224111115504">2.1.1. Array allocation with <code class="literal">operator new[]</code></a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm224086084624">2.1.2. Overloading</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm224108683024">2.1.3. ABI compatibility and preparing for security updates</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html
 #sect-Defensive_Coding-CXX-Language-CXX11">2.1.4. C++0X and C++11 support</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-CXX-Std.html">2.2. The C++ standard library</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-CXX-Std.html#idm224089303984">2.2.1. Containers and <code class="literal">operator[]</code></a></span></dt></dl></dd></dl></div><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-CXX-Language" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">2.1. The core language</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt01.html" title="Part I. Programming Languages" /><link rel="prev" href="sect-Defensive_Coding-C-Other.html" title="1.4. Other C-related topics" /><link rel="next" href="sect-Defensive_Coding-CXX-Std.html" title="2.2. The C++ standard library" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-C-Other.html"><strong>Prev</strong></a></li><li class="
 next"><a accesskey="n" href="sect-Defensive_Coding-CXX-Std.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-CXX" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 2. The C++ Programming Language</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#sect-Defensive_Coding-CXX-Language">2.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm229842089184">2.1.1. Array allocation with <code class="literal">operator new[]</code></a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm229810562288">2.1.2. Overloading</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm229811889024">2.1.3. ABI compatibility and preparing for security updates</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html
 #sect-Defensive_Coding-CXX-Language-CXX11">2.1.4. C++0X and C++11 support</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-CXX-Std.html">2.2. The C++ standard library</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-CXX-Std.html#idm229823849296">2.2.1. Containers and <code class="literal">operator[]</code></a></span></dt></dl></dd></dl></div><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-CXX-Language" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">2.1. The core language</h2></div></div></div><div class="para">
 		C++ includes a large subset of the C language. As far as the C subset is used, the recommendations in <a class="xref" href="chap-Defensive_Coding-C.html">Chapter 1, <em>The C Programming Language</em></a> apply.
-	</div><div class="section" id="idm224111115504"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224111115504">2.1.1. Array allocation with <code class="literal">operator new[]</code></h3></div></div></div><div class="para">
+	</div><div class="section" id="idm229842089184"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229842089184">2.1.1. Array allocation with <code class="literal">operator new[]</code></h3></div></div></div><div class="para">
 			For very large values of <code class="literal">n</code>, an expression like <code class="literal">new T[n]</code> can return a pointer to a heap region which is too small. In other words, not all array elements are actually backed with heap memory reserved to the array. Current GCC versions generate code that performs a computation of the form <code class="literal">sizeof(T) * size_t(n) + cookie_size</code>, where <code class="literal">cookie_size</code> is currently at most 8. This computation can overflow, and GCC-generated code does not detect this.
 		</div><div class="para">
 			The <code class="literal">std::vector</code> template can be used instead an explicit array allocation. (The GCC implementation detects overflow internally.)
 		</div><div class="para">
 			If there is no alternative to <code class="literal">operator new[]</code>, code which allocates arrays with a variable length must check for overflow manually. For the <code class="literal">new T[n]</code> example, the size check could be <code class="literal">n || (n &gt; 0 &amp;&amp; n &gt; (size_t(-1) - 8) / sizeof(T))</code>. (See <a class="xref" href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Arithmetic">Section 1.1.3, “Recommendations for integer arithmetic”</a>.) If there are additional dimensions (which must be constants according to the C++ standard), these should be included as factors in the divisor.
 		</div><div class="para">
-			These countermeasures prevent out-of-bounds writes and potential code execution. Very large memory allocations can still lead to a denial of service. <a class="xref" href="chap-Defensive_Coding-Tasks-Serialization.html#sect-Defensive_Coding-Tasks-Serialization-Decoders">Section 9.1, “Recommendations for manually written decoders”</a> contains suggestions for mitigating this problem when processing untrusted data.
+			These countermeasures prevent out-of-bounds writes and potential code execution. Very large memory allocations can still lead to a denial of service. <a class="xref" href="chap-Defensive_Coding-Tasks-Serialization.html#sect-Defensive_Coding-Tasks-Serialization-Decoders">Section 10.1, “Recommendations for manually written decoders”</a> contains suggestions for mitigating this problem when processing untrusted data.
 		</div><div class="para">
 			See <a class="xref" href="sect-Defensive_Coding-C-Allocators-Arrays.html">Section 1.3.3, “Array allocation”</a> for array allocation advice for C-style memory allocation.
-		</div></div><div class="section" id="idm224086084624"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224086084624">2.1.2. Overloading</h3></div></div></div><div class="para">
+		</div></div><div class="section" id="idm229810562288"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229810562288">2.1.2. Overloading</h3></div></div></div><div class="para">
 			Do not overload functions with versions that have different security characteristics. For instance, do not implement a function <code class="function">strcat</code> which works on <span class="type">std::string</span> arguments. Similarly, do not name methods after such functions.
-		</div></div><div class="section" id="idm224108683024"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224108683024">2.1.3. ABI compatibility and preparing for security updates</h3></div></div></div><div class="para">
+		</div></div><div class="section" id="idm229811889024"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229811889024">2.1.3. ABI compatibility and preparing for security updates</h3></div></div></div><div class="para">
 			A stable binary interface (ABI) is vastly preferred for security updates. Without a stable ABI, all reverse dependencies need recompiling, which can be a lot of work and could even be impossible in some cases. Ideally, a security update only updates a single dynamic shared object, and is picked up automatically after restarting affected processes.
 		</div><div class="para">
 			Outside of extremely performance-critical code, you should ensure that a wide range of changes is possible without breaking ABI. Some very basic guidelines are:
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Java.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Java.html
new file mode 100644
index 0000000..f4e7158
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Java.html
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 3. The Java Programming Language</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+              addID('Fedora_Security_Team');
+              
+              addID('Fedora_Security_Team..books');
+	      addID('Fedora_Security_Team..Defensive_Coding');
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt01.html" title="Part I. Programming Languages" /><link rel="prev" href="sect-Defensive_Coding-CXX-Std.html" title="2.2. The C++ standard library" /><link rel="next" href="sect-Defensive_Coding-Java-LowLevel.html" title="3.2. Low-level features of the virtual machine" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-CXX-Std.html"><strong>Prev</st
 rong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Java-LowLevel.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Java" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 3. The Java Programming Language</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language">3.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-ReadArray">3.1.1. Inceasing robustness when reading arrays</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Resources">3.1.2. Resource management</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Finalizers">3.1.3. Finalizers</a></span>
 </dt><dt><span class="section"><a href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Exceptions">3.1.4. Recovering from exceptions and errors</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Java-LowLevel.html">3.2. Low-level features of the virtual machine</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Java-LowLevel.html#sect-Defensive_Coding-Java-Reflection">3.2.1. <code class="literal">Reflection and private parts</code></a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Java-JNI.html">3.2.2. Java Native Interface (JNI)</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Java-MiscUnsafe.html">3.2.3. <code class="literal">sun.misc.Unsafe</code></a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Java-SecurityManager.html">3.3. Interacting with the security manager</a></span></dt><dd><dl><dt><span class="section"><a 
 href="sect-Defensive_Coding-Java-SecurityManager.html#sect-Defensive_Coding-Java-SecurityManager-Compatible">3.3.1. Security manager compatibility</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Java-SecurityManager-Activate.html">3.3.2. Activating the security manager</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html">3.3.3. Reducing trust in code</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html">3.3.4. Re-gaining privileges</a></span></dt></dl></dd></dl></div><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-Java-Language" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">3.1. The core language</h2></div></div></div><div class="para">
+		Implementations of the Java programming language provide strong memory safety, even in the presence of data races in concurrent code. This prevents a large range of security vulnerabilities from occurring, unless certain low-level features are used; see <a class="xref" href="sect-Defensive_Coding-Java-LowLevel.html">Section 3.2, “Low-level features of the virtual machine”</a>.
+	</div><div class="section" id="sect-Defensive_Coding-Java-Language-ReadArray"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.1.1. Inceasing robustness when reading arrays</h3></div></div></div><div class="para">
+			External data formats often include arrays, and the data is stored as an integer indicating the number of array elements, followed by this number of elements in the file or protocol data unit. This length specified can be much larger than what is actually available in the data source.
+		</div><div class="para">
+			To avoid allocating extremely large amounts of data, you can allocate a small array initially and grow it as you read more data, implementing an exponential growth policy. See the <code class="function">readBytes(InputStream, int)</code> function in <a class="xref" href="chap-Defensive_Coding-Java.html#ex-Defensive_Coding-Java-Language-ReadArray">Example 3.1, “Incrementally reading a byte array”</a>.
+		</div><div class="example" id="ex-Defensive_Coding-Java-Language-ReadArray"><h6>Example 3.1. Incrementally reading a byte array</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">static</span> <span class="perl_DataType">byte</span>[] <span class="perl_Function">readBytes</span>(InputStream in, <span class="perl_DataType">int</span> length) <span class="perl_Keyword">throws</span> IOException {
+	<span class="perl_DataType">final</span> <span class="perl_DataType">int</span> startSize = <span class="perl_Float">65536</span>;
+    <span class="perl_DataType">byte</span>[] b = <span class="perl_Keyword">new</span> <span class="perl_DataType">byte</span>[Math.<span class="perl_Function">min</span>(length, startSize)];
+    <span class="perl_DataType">int</span> filled = <span class="perl_Float">0</span>;
+    <span class="perl_Keyword">while</span> (<span class="perl_Keyword">true</span>) {
+        <span class="perl_DataType">int</span> remaining = b.<span class="perl_Function">length</span> - filled;
+	    <span class="perl_Function">readFully</span>(in, b, filled, remaining);
+        <span class="perl_Keyword">if</span> (b.<span class="perl_Function">length</span> == length) {
+            <span class="perl_Keyword">break</span>;
+        }
+        filled = b.<span class="perl_Function">length</span>;
+        <span class="perl_Keyword">if</span> (length - b.<span class="perl_Function">length</span> &lt;= b.<span class="perl_Function">length</span>) {
+            <span class="perl_Comment">// Allocate final length.  Condition avoids overflow.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>            b = Arrays.<span class="perl_Function">copyOf</span>(b, length);
+        } <span class="perl_Keyword">else</span> {
+            b = Arrays.<span class="perl_Function">copyOf</span>(b, b.<span class="perl_Function">length</span> * <span class="perl_Float">2</span>);
+        }
+    }
+    <span class="perl_Keyword">return</span> b;
+}
+
+<span class="perl_DataType">static</span> <span class="perl_DataType">void</span> <span class="perl_Function">readFully</span>(InputStream in,<span class="perl_DataType">byte</span>[] b, <span class="perl_DataType">int</span> off, <span class="perl_DataType">int</span> len)
+	    <span class="perl_Keyword">throws</span> IOException {
+	<span class="perl_DataType">int</span> startlen = len;
+    <span class="perl_Keyword">while</span> (len &gt; <span class="perl_Float">0</span>) {
+        <span class="perl_DataType">int</span> count = in.<span class="perl_Function">read</span>(b, off, len);
+        <span class="perl_Keyword">if</span> (count &lt; <span class="perl_Float">0</span>) {
+            <span class="perl_Keyword">throw</span> <span class="perl_Keyword">new</span> EOFException();
+        }
+        off += count;
+        len -= count;
+    }
+}
+</pre></div></div><br class="example-break" /><div class="para">
+			When reading data into arrays, hash maps or hash sets, use the default constructor and do not specify a size hint. You can simply add the elements to the collection as you read them.
+		</div></div><div class="section" id="sect-Defensive_Coding-Java-Language-Resources"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.1.2. Resource management</h3></div></div></div><div class="para">
+			Unlike C++, Java does not offer destructors which can deallocate resources in a predictable fashion. All resource management has to be manual, at the usage site. (Finalizers are generally not usable for resource management, especially in high-performance code; see <a class="xref" href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Finalizers">Section 3.1.3, “Finalizers”</a>.)
+		</div><div class="para">
+			The first option is the <code class="literal">try</code>-<code class="literal">finally</code> construct, as shown in <a class="xref" href="chap-Defensive_Coding-Java.html#ex-Defensive_Coding-Java-Language-Finally">Example 3.2, “Resource management with a <code class="literal">try</code>-<code class="literal">finally</code> block”</a>. The code in the <code class="literal">finally</code> block should be as short as possible and should not throw any exceptions.
+		</div><div class="example" id="ex-Defensive_Coding-Java-Language-Finally"><h6>Example 3.2. Resource management with a <code class="literal">try</code>-<code class="literal">finally</code> block</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+InputStream in = <span class="perl_Keyword">new</span> BufferedInputStream(<span class="perl_Keyword">new</span> FileInputStream(path));
+<span class="perl_Keyword">try</span> {
+    <span class="perl_Function">readFile</span>(in);
+} <span class="perl_Keyword">finally</span> {
+    in.<span class="perl_Function">close</span>();
+}
+</pre></div></div><br class="example-break" /><div class="para">
+			Note that the resource allocation happens <span class="emphasis"><em>outside</em></span> the <code class="literal">try</code> block, and that there is no <code class="literal">null</code> check in the <code class="literal">finally</code> block. (Both are common artifacts stemming from IDE code templates.)
+		</div><div class="para">
+			If the resource object is created freshly and implements the <code class="literal">java.lang.AutoCloseable</code> interface, the code in <a class="xref" href="chap-Defensive_Coding-Java.html#ex-Defensive_Coding-Java-Language-TryWithResource">Example 3.3, “Resource management using the <code class="literal">try</code>-with-resource construct”</a> can be used instead. The Java compiler will automatically insert the <code class="function">close()</code> method call in a synthetic <code class="literal">finally</code> block.
+		</div><div class="example" id="ex-Defensive_Coding-Java-Language-TryWithResource"><h6>Example 3.3. Resource management using the <code class="literal">try</code>-with-resource construct</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Keyword">try</span> (InputStream in = <span class="perl_Keyword">new</span> BufferedInputStream(<span class="perl_Keyword">new</span> FileInputStream(path))) {
+    <span class="perl_Function">readFile</span>(in);
+}
+</pre></div></div><br class="example-break" /><div class="para">
+			To be compatible with the <code class="literal">try</code>-with-resource construct, new classes should name the resource deallocation method <code class="function">close()</code>, and implement the <code class="literal">AutoCloseable</code> interface (the latter breaking backwards compatibility with Java 6). However, using the <code class="literal">try</code>-with-resource construct with objects that are not freshly allocated is at best awkward, and an explicit <code class="literal">finally</code> block is usually the better approach.
+		</div><div class="para">
+			In general, it is best to design the programming interface in such a way that resource deallocation methods like <code class="function">close()</code> cannot throw any (checked or unchecked) exceptions, but this should not be a reason to ignore any actual error conditions.
+		</div></div><div class="section" id="sect-Defensive_Coding-Java-Language-Finalizers"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.1.3. Finalizers</h3></div></div></div><div class="para">
+			Finalizers can be used a last-resort approach to free resources which would otherwise leak. Finalization is unpredictable, costly, and there can be a considerable delay between the last reference to an object going away and the execution of the finalizer. Generally, manual resource management is required; see <a class="xref" href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Resources">Section 3.1.2, “Resource management”</a>.
+		</div><div class="para">
+			Finalizers should be very short and should only deallocate native or other external resources held directly by the object being finalized. In general, they must use synchronization: Finalization necessarily happens on a separate thread because it is inherently concurrent. There can be multiple finalization threads, and despite each object being finalized at most once, the finalizer must not assume that it has exclusive access to the object being finalized (in the <code class="literal">this</code> pointer).
+		</div><div class="para">
+			Finalizers should not deallocate resources held by other objects, especially if those objects have finalizers on their own. In particular, it is a very bad idea to define a finalizer just to invoke the resource deallocation method of another object, or overwrite some pointer fields.
+		</div><div class="para">
+			Finalizers are not guaranteed to run at all. For instance, the virtual machine (or the machine underneath) might crash, preventing their execution.
+		</div><div class="para">
+			Objects with finalizers are garbage-collected much later than objects without them, so using finalizers to zero out key material (to reduce its undecrypted lifetime in memory) may have the opposite effect, keeping objects around for much longer and prevent them from being overwritten in the normal course of program execution.
+		</div><div class="para">
+			For the same reason, code which allocates objects with finalizers at a high rate will eventually fail (likely with a <code class="literal">java.lang.OutOfMemoryError</code> exception) because the virtual machine has finite resources for keeping track of objects pending finalization. To deal with that, it may be necessary to recycle objects with finalizers.
+		</div><div class="para">
+			The remarks in this section apply to finalizers which are implemented by overriding the <code class="function">finalize()</code> method, and to custom finalization using reference queues.
+		</div></div><div class="section" id="sect-Defensive_Coding-Java-Language-Exceptions"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.1.4. Recovering from exceptions and errors</h3></div></div></div><div class="para">
+			Java exceptions come in three kinds, all ultimately deriving from <code class="literal">java.lang.Throwable</code>:
+		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+					<span class="emphasis"><em>Run-time exceptions</em></span> do not have to be declared explicitly and can be explicitly thrown from any code, by calling code which throws them, or by triggering an error condition at run time, like division by zero, or an attempt at an out-of-bounds array access. These exceptions derive from from the <code class="literal">java.lang.RuntimeException</code> class (perhaps indirectly).
+				</div></li><li class="listitem"><div class="para">
+					<span class="emphasis"><em>Checked exceptions</em></span> have to be declared explicitly by functions that throw or propagate them. They are similar to run-time exceptions in other regards, except that there is no language construct to throw them (except the <code class="literal">throw</code> statement itself). Checked exceptions are only present at the Java language level and are only enforced at compile time. At run time, the virtual machine does not know about them and permits throwing exceptions from any code. Checked exceptions must derive (perhaps indirectly) from the <code class="literal">java.lang.Exception</code> class, but not from <code class="literal">java.lang.RuntimeException</code>.
+				</div></li><li class="listitem"><div class="para">
+					<span class="emphasis"><em>Errors</em></span> are exceptions which typically reflect serious error conditions. They can be thrown at any point in the program, and do not have to be declared (unlike checked exceptions). In general, it is not possible to recover from such errors; more on that below, in <a class="xref" href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Exceptions-Errors">Section 3.1.4.1, “The difficulty of catching errors”</a>. Error classes derive (perhaps indirectly) from <code class="literal">java.lang.Error</code>, or from <code class="literal">java.lang.Throwable</code>, but not from <code class="literal">java.lang.Exception</code>.
+				</div></li></ul></div><div class="para">
+			The general expection is that run-time errors are avoided by careful programming (e.g., not dividing by zero). Checked exception are expected to be caught as they happen (e.g., when an input file is unexpectedly missing). Errors are impossible to predict and can happen at any point and reflect that something went wrong beyond all expectations.
+		</div><div class="section" id="sect-Defensive_Coding-Java-Language-Exceptions-Errors"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">3.1.4.1. The difficulty of catching errors</h4></div></div></div><div class="para">
+				Errors (that is, exceptions which do not (indirectly) derive from <code class="literal">java.lang.Exception</code>), have the peculiar property that catching them is problematic. There are several reasons for this:
+			</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+						The error reflects a failed consistenty check, for example, <code class="literal">java.lang.AssertionError</code>.
+					</div></li><li class="listitem"><div class="para">
+						The error can happen at any point, resulting in inconsistencies due to half-updated objects. Examples are <code class="literal">java.lang.ThreadDeath</code>, <code class="literal">java.lang.OutOfMemoryError</code> and <code class="literal">java.lang.StackOverflowError</code>.
+					</div></li><li class="listitem"><div class="para">
+						The error indicates that virtual machine failed to provide some semantic guarantees by the Java programming language. <code class="literal">java.lang.ExceptionInInitializerError</code> is an example—it can leave behind a half-initialized class.
+					</div></li></ul></div><div class="para">
+				In general, if an error is thrown, the virtual machine should be restarted as soon as possible because it is in an inconsistent state. Continuing running as before can have unexpected consequences. However, there are legitimate reasons for catching errors because not doing so leads to even greater problems.
+			</div><div class="para">
+				Code should be written in a way that avoids triggering errors. See <a class="xref" href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-ReadArray">Section 3.1.1, “Inceasing robustness when reading arrays”</a> for an example.
+			</div><div class="para">
+				It is usually necessary to log errors. Otherwise, no trace of the problem might be left anywhere, making it very difficult to diagnose realted failures. Consequently, if you catch <code class="literal">java.lang.Exception</code> to log and suppress all unexpected exceptions (for example, in a request dispatching loop), you should consider switching to <code class="literal">java.lang.Throwable</code> instead, to also cover errors.
+			</div><div class="para">
+				The other reason mainly applies to such request dispatching loops: If you do not catch errors, the loop stops looping, resulting in a denial of service.
+			</div><div class="para">
+				However, if possible, catching errors should be coupled with a way to signal the requirement of a virtual machine restart.
+			</div></div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-CXX-Std.html"><strong>Prev</strong>2.2. The C++ standard library</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Java-LowLevel.html"><strong>Next</strong>3.2. Low-level features of the virtual machine</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Python.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Python.html
index 9ea4ec1..c0018c1 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Python.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Python.html
@@ -1,21 +1,21 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 3. The Python Programming Language</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 4. The Python Programming Language</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt01.html" title="Part I. Programming Languages" /><link rel="prev" href="sect-Defensive_Coding-CXX-Std.html" title="2.2. The C++ standard library" /><link rel="next" href="ch03s02.html" title="3.2. Run-time compilation and code generation" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-CXX-Std.html"><strong>Prev</strong></a></li><li class="next
 "><a accesskey="n" href="ch03s02.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Python" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 3. The Python Programming Language</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-Python.html#idm224105581424">3.1. Dangerous standard library features</a></span></dt><dt><span class="section"><a href="ch03s02.html">3.2. Run-time compilation and code generation</a></span></dt><dt><span class="section"><a href="ch03s03.html">3.3. Sandboxing</a></span></dt></dl></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt01.html" title="Part I. Programming Languages" /><link rel="prev" href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html" title="3.3.4. Re-gaining privileges" /><link rel="next" href="ch04s02.html" title="4.2. Run-time compilation and code generation" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html
 "><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch04s02.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Python" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 4. The Python Programming Language</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-Python.html#idm229825233200">4.1. Dangerous standard library features</a></span></dt><dt><span class="section"><a href="ch04s02.html">4.2. Run-time compilation and code generation</a></span></dt><dt><span class="section"><a href="ch04s03.html">4.3. Sandboxing</a></span></dt></dl></div><div class="para">
 		Python provides memory safety by default, so low-level security vulnerabilities are rare and typically needs fixing the Python interpreter or standard library itself.
 	</div><div class="para">
 		Other sections with Python-specific advice include:
 	</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
-				<a class="xref" href="chap-Defensive_Coding-Tasks-Temporary_Files.html">Chapter 7, <em>Temporary files</em></a>
+				<a class="xref" href="chap-Defensive_Coding-Tasks-Temporary_Files.html">Chapter 8, <em>Temporary files</em></a>
 			</div></li><li class="listitem"><div class="para">
-				<a class="xref" href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Creation">Section 8.1, “Safe process creation”</a>
+				<a class="xref" href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Creation">Section 9.1, “Safe process creation”</a>
 			</div></li><li class="listitem"><div class="para">
-				<a class="xref" href="chap-Defensive_Coding-Tasks-Serialization.html">Chapter 9, <em>Serialization and Deserialization</em></a>, in particular <a class="xref" href="ch09s03.html#sect-Defensive_Coding-Tasks-Serialization-Library">Section 9.3, “Library support for deserialization”</a>
+				<a class="xref" href="chap-Defensive_Coding-Tasks-Serialization.html">Chapter 10, <em>Serialization and Deserialization</em></a>, in particular <a class="xref" href="ch10s03.html#sect-Defensive_Coding-Tasks-Serialization-Library">Section 10.3, “Library support for deserialization”</a>
 			</div></li><li class="listitem"><div class="para">
-				<a class="xref" href="ch10s02.html#sect-Defensive_Coding-Tasks-Cryptography-Randomness">Section 10.2, “Randomness”</a>
-			</div></li></ul></div><div class="section" id="idm224105581424"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224105581424">3.1. Dangerous standard library features</h2></div></div></div><div class="para">
+				<a class="xref" href="ch11s02.html#sect-Defensive_Coding-Tasks-Cryptography-Randomness">Section 11.2, “Randomness”</a>
+			</div></li></ul></div><div class="section" id="idm229825233200"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229825233200">4.1. Dangerous standard library features</h2></div></div></div><div class="para">
 			Some areas of the standard library, notably the <code class="literal">ctypes</code> module, do not provide memory safety guarantees comparable to the rest of Python. If such functionality is used, the advice in <a class="xref" href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Language">Section 1.1, “The core language”</a> should be followed.
-		</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-CXX-Std.html"><strong>Prev</strong>2.2. The C++ standard library</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch03s02.html"><strong>Next</strong>3.2. Run-time compilation and code generation</a></li></ul></body></html>
\ No newline at end of file
+		</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html"><strong>Prev</strong>3.3.4. Re-gaining privileges</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch04s02.html"><strong>Next</strong>4.2. Run-time compilation and code generation</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-TLS.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-TLS.html
index bdf6dc2..aaf60f8 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-TLS.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-TLS.html
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 12. Transport Layer Security</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 13. Transport Layer Security</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt03.html" title="Part III. Implementing Security Features" /><link rel="prev" href="sect-Defensive_Coding-Authentication-Netlink.html" title="11.4. AF_NETLINK authentication of origin" /><link rel="next" href="sect-Defensive_Coding-TLS-Client.html" title="12.2. TLS Clients" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Authentication-Netlink.h
 tml"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-TLS" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 12. Transport Layer Security</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls">12.1. Common Pitfalls</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-OpenSSL">12.1.1. OpenSSL Pitfalls</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">12.1.2. GNUTLS Pitfalls</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">12.1.3. OpenJDK Pitfalls</a></span></dt><dt><span class="section"><
 a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-NSS">12.1.4. NSS Pitfalls</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client.html">12.2. TLS Clients</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client.html#idm224135109392">12.2.1. Implementation TLS Clients With OpenSSL</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-GNUTLS.html">12.2.2. Implementation TLS Clients With GNUTLS</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-OpenJDK.html">12.2.3. Implementing TLS Clients With OpenJDK</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-NSS.html">12.2.4. Implementing TLS Clients With NSS</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-Python.html">12.2.5. Implementing TLS Clients With Python</a></span></dt></dl></dd></dl></div><div class="p
 ara">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt03.html" title="Part III. Implementing Security Features" /><link rel="prev" href="sect-Defensive_Coding-Authentication-Netlink.html" title="12.4. AF_NETLINK authentication of origin" /><link rel="next" href="sect-Defensive_Coding-TLS-Client.html" title="13.2. TLS Clients" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Authentication-Netlink.h
 tml"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-TLS" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 13. Transport Layer Security</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls">13.1. Common Pitfalls</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-OpenSSL">13.1.1. OpenSSL Pitfalls</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">13.1.2. GNUTLS Pitfalls</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">13.1.3. OpenJDK Pitfalls</a></span></dt><dt><span class="section"><
 a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-NSS">13.1.4. NSS Pitfalls</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client.html">13.2. TLS Clients</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client.html#idm229816036016">13.2.1. Implementation TLS Clients With OpenSSL</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-GNUTLS.html">13.2.2. Implementation TLS Clients With GNUTLS</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-OpenJDK.html">13.2.3. Implementing TLS Clients With OpenJDK</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-NSS.html">13.2.4. Implementing TLS Clients With NSS</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-Python.html">13.2.5. Implementing TLS Clients With Python</a></span></dt></dl></dd></dl></div><div class="p
 ara">
 		Transport Layer Security (TLS, formerly Secure Sockets Layer/SSL) is the recommended way to to protect integrity and confidentiality while data is transferred over an untrusted network connection, and to identify the endpoint.
-	</div><div class="section" id="sect-Defensive_Coding-TLS-Pitfalls"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">12.1. Common Pitfalls</h2></div></div></div><div class="para">
+	</div><div class="section" id="sect-Defensive_Coding-TLS-Pitfalls"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">13.1. Common Pitfalls</h2></div></div></div><div class="para">
 			TLS implementations are difficult to use, and most of them lack a clean API design. The following sections contain implementation-specific advice, and some generic pitfalls are mentioned below.
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					Most TLS implementations have questionable default TLS cipher suites. Most of them enable anonymous Diffie-Hellman key exchange (but we generally want servers to authenticate themselves). Many do not disable ciphers which are subject to brute-force attacks because of restricted key lengths. Some even disable all variants of AES in the default configuration.
@@ -16,7 +16,7 @@
 					The name which is used in certificate validation must match the name provided by the user or configuration file. No host name canonicalization or IP address lookup must be performed.
 				</div></li><li class="listitem"><div class="para">
 					The TLS handshake has very poor performance if the TCP Nagle algorithm is active. You should switch on the <code class="literal">TCP_NODELAY</code> socket option (at least for the duration of the handshake), or use the Linux-specific <code class="literal">TCP_CORK</code> option.
-				</div><div class="example" id="ex-Defensive_Coding-TLS-Nagle"><h6>Example 12.1. Deactivating the TCP Nagle algorithm</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				</div><div class="example" id="ex-Defensive_Coding-TLS-Nagle"><h6>Example 13.1. Deactivating the TCP Nagle algorithm</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_DataType">const</span> <span class="perl_DataType">int</span> val = <span class="perl_Float">1</span>;
 <span class="perl_DataType">int</span> ret = setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, &amp;val, <span class="perl_Keyword">sizeof</span>(val));
 <span class="perl_Keyword">if</span> (ret &lt; 0) {
@@ -30,8 +30,8 @@
 				</div></li><li class="listitem"><div class="para">
 					When implementing a server using event-driven programming, it is important to handle the TLS handshake properly because it includes multiple network round-trips which can block when an ordinary TCP <code class="function">accept</code> would not. Otherwise, a client which fails to complete the TLS handshake for some reason will prevent the server from handling input from other clients.
 				</div></li><li class="listitem"><div class="para">
-					Unlike regular file descriptors, TLS connections cannot be passed between processes. Some TLS implementations add additional restrictions, and TLS connections generally cannot be used across <code class="function">fork</code> function calls (see <a class="xref" href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html">Section 8.6, “<code class="function">fork</code> as a primitive for parallelism”</a>).
-				</div></li></ul></div><div class="section" id="sect-Defensive_Coding-TLS-OpenSSL"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">12.1.1. OpenSSL Pitfalls</h3></div></div></div><div class="para">
+					Unlike regular file descriptors, TLS connections cannot be passed between processes. Some TLS implementations add additional restrictions, and TLS connections generally cannot be used across <code class="function">fork</code> function calls (see <a class="xref" href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html">Section 9.6, “<code class="function">fork</code> as a primitive for parallelism”</a>).
+				</div></li></ul></div><div class="section" id="sect-Defensive_Coding-TLS-OpenSSL"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">13.1.1. OpenSSL Pitfalls</h3></div></div></div><div class="para">
 				Some OpenSSL function use <span class="emphasis"><em>tri-state return values</em></span>. Correct error checking is extremely important. Several functions return <code class="literal">int</code> values with the following meaning:
 			</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 						The value <code class="literal">1</code> indicates success (for example, a successful signature verification).
@@ -42,8 +42,8 @@
 					</div></li></ul></div><div class="para">
 				Treating such tri-state return values as booleans can lead to security vulnerabilities. Note that some OpenSSL functions return boolean results or yet another set of status indicators. Each function needs to be checked individually.
 			</div><div class="para">
-				Recovering precise error information is difficult. <a class="xref" href="chap-Defensive_Coding-TLS.html#ex-Defensive_Coding-TLS-OpenSSL-Errors">Example 12.2, “Obtaining OpenSSL error codes”</a> shows how to obtain a more precise error code after a function call on an <code class="literal">SSL</code> object has failed. However, there are still cases where no detailed error information is available (e.g., if <code class="function">SSL_shutdown</code> fails due to a connection teardown by the other end).
-			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Errors"><h6>Example 12.2. Obtaining OpenSSL error codes</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				Recovering precise error information is difficult. <a class="xref" href="chap-Defensive_Coding-TLS.html#ex-Defensive_Coding-TLS-OpenSSL-Errors">Example 13.2, “Obtaining OpenSSL error codes”</a> shows how to obtain a more precise error code after a function call on an <code class="literal">SSL</code> object has failed. However, there are still cases where no detailed error information is available (e.g., if <code class="function">SSL_shutdown</code> fails due to a connection teardown by the other end).
+			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Errors"><h6>Example 13.2. Obtaining OpenSSL error codes</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_DataType">static</span> <span class="perl_DataType">void</span> __attribute__((noreturn))
 ssl_print_error_and_exit(SSL *ssl, <span class="perl_DataType">const</span> <span class="perl_DataType">char</span> *op, <span class="perl_DataType">int</span> ret)
 {
@@ -81,7 +81,7 @@ ssl_print_error_and_exit(SSL *ssl, <span class="perl_DataType">const</span> <spa
 				The OpenSSL server and client applications (<code class="command">openssl s_client</code> and <code class="command">openssl s_server</code>) are debugging tools and should <span class="emphasis"><em>never</em></span> be used as generic clients. For instance, the <span class="application"><strong>s_client</strong></span> tool reacts in a surprisign way to lines starting with <code class="literal">R</code> and <code class="literal">Q</code>.
 			</div><div class="para">
 				OpenSSL allows application code to access private key material over documented interfaces. This can significantly increase the part of the code base which has to undergo security certification.
-			</div></div><div class="section" id="sect-Defensive_Coding-TLS-Pitfalls-GNUTLS"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">12.1.2. GNUTLS Pitfalls</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="sect-Defensive_Coding-TLS-Pitfalls-GNUTLS"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">13.1.2. GNUTLS Pitfalls</h3></div></div></div><div class="para">
 				<code class="filename">libgnutls.so.26</code> links to <code class="filename">libpthread.so.0</code>. Loading the threading library too late causes problems, so the main program should be linked with <code class="literal">-lpthread</code> as well. As a result, it can be difficult to use GNUTLS in a plugin which is loaded with the <code class="function">dlopen</code> function. Another side effect is that applications which merely link against GNUTLS (even without actually using it) may incur a substantial overhead because other libraries automatically switch to thread-safe algorithms.
 			</div><div class="para">
 				The <code class="function">gnutls_global_init</code> function must be called before using any functionality provided by the library. This function is not thread-safe, so external locking is required, but it is not clear which lock should be used. Omitting the synchronization does not just lead to a memory leak, as it is suggested in the GNUTLS documentation, but to undefined behavior because there is no barrier that would enforce memory ordering.
@@ -89,16 +89,16 @@ ssl_print_error_and_exit(SSL *ssl, <span class="perl_DataType">const</span> <spa
 				The <code class="function">gnutls_global_deinit</code> function does not actually deallocate all resources allocated by <code class="function">gnutls_global_init</code>. It is currently not thread-safe. Therefore, it is best to avoid calling it altogether.
 			</div><div class="para">
 				The X.509 implementation in GNUTLS is rather lenient. For example, it is possible to create and process X.509 version 1 certificates which carry extensions. These certificates are (correctly) rejected by other implementations.
-			</div></div><div class="section" id="sect-Defensive_Coding-TLS-Pitfalls-OpenJDK"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">12.1.3. OpenJDK Pitfalls</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="sect-Defensive_Coding-TLS-Pitfalls-OpenJDK"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">13.1.3. OpenJDK Pitfalls</h3></div></div></div><div class="para">
 				The Java cryptographic framework is highly modular. As a result, when you request an object implementing some cryptographic functionality, you cannot be completely sure that you end up with the well-tested, reviewed implementation in OpenJDK.
 			</div><div class="para">
 				OpenJDK (in the source code as published by Oracle) and other implementations of the Java platform require that the system administrator has installed so-called <span class="emphasis"><em>unlimited strength jurisdiction policy files</em></span>. Without this step, it is not possible to use the secure algorithms which offer sufficient cryptographic strength. Most downstream redistributors of OpenJDK remove this requirement.
 			</div><div class="para">
 				Some versions of OpenJDK use <code class="filename">/dev/random</code> as the randomness source for nonces and other random data which is needed for TLS operation, but does not actually require physical randomness. As a result, TLS applications can block, waiting for more bits to become available in <code class="filename">/dev/random</code>.
-			</div></div><div class="section" id="sect-Defensive_Coding-TLS-Pitfalls-NSS"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">12.1.4. NSS Pitfalls</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="sect-Defensive_Coding-TLS-Pitfalls-NSS"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">13.1.4. NSS Pitfalls</h3></div></div></div><div class="para">
 				NSS was not designed to be used by other libraries which can be linked into applications without modifying them. There is a lot of global state. There does not seem to be a way to perform required NSS initialization without race conditions.
 			</div><div class="para">
 				If the NSPR descriptor is in an unexpected state, the <code class="function">SSL_ForceHandshake</code> function can succeed, but no TLS handshake takes place, the peer is not authenticated, and subsequent data is exchanged in the clear.
 			</div><div class="para">
 				NSS disables itself if it detects that the process underwent a <code class="function">fork</code> after the library has been initialized. This behavior is required by the PKCS#11 API specification.
-			</div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Authentication-Netlink.html"><strong>Prev</strong>11.4. AF_NETLINK authentication of origin</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client.html"><strong>Next</strong>12.2. TLS Clients</a></li></ul></body></html>
\ No newline at end of file
+			</div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Authentication-Netlink.html"><strong>Prev</strong>12.4. AF_NETLINK authentication of origin</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client.html"><strong>Next</strong>13.2. TLS Clients</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Cryptography.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Cryptography.html
index 9e4943c..360ed4f 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Cryptography.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Cryptography.html
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 10. Cryptography</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 11. Cryptography</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt02.html" title="Part II. Specific Programming Tasks" /><link rel="prev" href="ch09s05.html" title="9.5. Protocol Encoders" /><link rel="next" href="ch10s02.html" title="10.2. Randomness" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch09s05.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch10s02.html"><strong>Next</strong></a></li></ul>
 <div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-Cryptography" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 10. Cryptography</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Cryptography.html#idm224133702016">10.1. Primitives</a></span></dt><dt><span class="section"><a href="ch10s02.html">10.2. Randomness</a></span></dt></dl></div><div class="section" id="idm224133702016"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224133702016">10.1. Primitives</h2></div></div></div><div class="para">
-			Chosing from the following cryptographic primitives is recommended:
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt02.html" title="Part II. Specific Programming Tasks" /><link rel="prev" href="ch10s05.html" title="10.5. Protocol Encoders" /><link rel="next" href="ch11s02.html" title="11.2. Randomness" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch10s05.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch11s02.html"><strong>Next</strong></a></li></ul
 ><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-Cryptography" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 11. Cryptography</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Cryptography.html#idm229841838656">11.1. Primitives</a></span></dt><dt><span class="section"><a href="ch11s02.html">11.2. Randomness</a></span></dt></dl></div><div class="section" id="idm229841838656"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229841838656">11.1. Primitives</h2></div></div></div><div class="para">
+			Choosing from the following cryptographic primitives is recommended:
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					RSA with 2048 bit keys and OAEP
 				</div></li><li class="listitem"><div class="para">
@@ -33,5 +33,5 @@
 				</div></li><li class="listitem"><div class="para">
 					HMAC-MD5
 				</div></li></ul></div><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
-				These primitives are difficult to use in a secure way. Custom implementation of security protocols should be avoided. For protecting confidentiality and integrity of network transmissions, TLS should be used (<a class="xref" href="chap-Defensive_Coding-TLS.html">Chapter 12, <em>Transport Layer Security</em></a>).
-			</div></div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch09s05.html"><strong>Prev</strong>9.5. Protocol Encoders</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch10s02.html"><strong>Next</strong>10.2. Randomness</a></li></ul></body></html>
\ No newline at end of file
+				These primitives are difficult to use in a secure way. Custom implementation of security protocols should be avoided. For protecting confidentiality and integrity of network transmissions, TLS should be used (<a class="xref" href="chap-Defensive_Coding-TLS.html">Chapter 13, <em>Transport Layer Security</em></a>).
+			</div></div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch10s05.html"><strong>Prev</strong>10.5. Protocol Encoders</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch11s02.html"><strong>Next</strong>11.2. Randomness</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-File_System.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-File_System.html
index 17634f5..0c231de 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-File_System.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-File_System.html
@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 6. File system manipulation</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 7. File system manipulation</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt02.html" title="Part II. Specific Programming Tasks" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html" title="5.3. Dealing with the select limit" /><link rel="next" href="sect-Defensive_Coding-Tasks-File_System-Foreign.html" title="6.2. Accessing the file system as a different user" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defe
 nsive_Coding-Tasks-Descriptors-Limit.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-File_System-Foreign.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-File_System" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 6. File system manipulation</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-File_System.html#sect-Defensive_Coding-Tasks-File_System-Unowned">6.1. Working with files and directories owned by other users</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Foreign.html">6.2. Accessing the file system as a different user</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Limits.html">6.3. File system limits</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tas
 ks-File_System-Features.html">6.4. File system features</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html">6.5. Checking free space</a></span></dt></dl></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt02.html" title="Part II. Specific Programming Tasks" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html" title="6.3. Dealing with the select limit" /><link rel="next" href="sect-Defensive_Coding-Tasks-File_System-Foreign.html" title="7.2. Accessing the file system as a different user" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defe
 nsive_Coding-Tasks-Descriptors-Limit.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-File_System-Foreign.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-File_System" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 7. File system manipulation</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-File_System.html#sect-Defensive_Coding-Tasks-File_System-Unowned">7.1. Working with files and directories owned by other users</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Foreign.html">7.2. Accessing the file system as a different user</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Limits.html">7.3. File system limits</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tas
 ks-File_System-Features.html">7.4. File system features</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html">7.5. Checking free space</a></span></dt></dl></div><div class="para">
 		In this chapter, we discuss general file system manipulation, with a focus on access files and directories to which an other, potentially untrusted user has write access.
 	</div><div class="para">
-		Temporary files are covered in their own chapter, <a class="xref" href="chap-Defensive_Coding-Tasks-Temporary_Files.html">Chapter 7, <em>Temporary files</em></a>.
-	</div><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Unowned"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">6.1. Working with files and directories owned by other users</h2></div></div></div><div class="para">
-			Sometimes, it is necessary to operate on files and directories owned by other (potentially untrusted) users. For example, a system administrator could remove the home directory of a user, or a package manager could update a file in a directory which is owned by an application-specific user. This differs from accessing the file system as a specific user; see <a class="xref" href="sect-Defensive_Coding-Tasks-File_System-Foreign.html">Section 6.2, “Accessing the file system as a different user”</a>.
+		Temporary files are covered in their own chapter, <a class="xref" href="chap-Defensive_Coding-Tasks-Temporary_Files.html">Chapter 8, <em>Temporary files</em></a>.
+	</div><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Unowned"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">7.1. Working with files and directories owned by other users</h2></div></div></div><div class="para">
+			Sometimes, it is necessary to operate on files and directories owned by other (potentially untrusted) users. For example, a system administrator could remove the home directory of a user, or a package manager could update a file in a directory which is owned by an application-specific user. This differs from accessing the file system as a specific user; see <a class="xref" href="sect-Defensive_Coding-Tasks-File_System-Foreign.html">Section 7.2, “Accessing the file system as a different user”</a>.
 		</div><div class="para">
 			Accessing files across trust boundaries faces several challenges, particularly if an entire directory tree is being traversed:
 		</div><div class="orderedlist"><ol><li class="listitem"><div class="para">
@@ -36,4 +36,4 @@
 			There is no workaround against the instability of the file list returned by <code class="function">readdir</code>. Concurrent modification of the directory can result in a list of files being returned which never actually existed on disk.
 		</div><div class="para">
 			Hard links and symbolic links can be safely deleted using <code class="function">unlinkat</code> without further checks because deletion only affects the name within the directory tree being processed.
-		</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html"><strong>Prev</strong>5.3. Dealing with the select limit</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-File_System-Foreign.html"><strong>Next</strong>6.2. Accessing the file system as a different user</a></li></ul></body></html>
\ No newline at end of file
+		</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html"><strong>Prev</strong>6.3. Dealing with the select limit</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-File_System-Foreign.html"><strong>Next</strong>7.2. Accessing the file system as a different user</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Library_Design.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Library_Design.html
index 4aa9f66..66478bd 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Library_Design.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Library_Design.html
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 4. Library Design</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 5. Library Design</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt02.html" title="Part II. Specific Programming Tasks" /><link rel="prev" href="pt02.html" title="Part II. Specific Programming Tasks" /><link rel="next" href="ch04s02.html" title="4.2. Object orientation" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="pt02.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch04s02.html"><strong>Next</strong
 ></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-Library_Design" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 4. Library Design</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm224095580800">4.1. State management</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm224108575488">4.1.1. Global state</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm224136442800">4.1.2. Handles</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s02.html">4.2. Object orientation</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html">4.3. Callbacks</a></span></dt><dt><span class="section"><a href="ch04s04.html">4.4. Process attributes</a></span></dt></dl></div><div class
 ="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt02.html" title="Part II. Specific Programming Tasks" /><link rel="prev" href="pt02.html" title="Part II. Specific Programming Tasks" /><link rel="next" href="ch05s02.html" title="5.2. Object orientation" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="pt02.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch05s02.html"><strong>Next</strong
 ></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-Library_Design" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 5. Library Design</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm229865651664">5.1. State management</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm229830894256">5.1.1. Global state</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm229808331472">5.1.2. Handles</a></span></dt></dl></dd><dt><span class="section"><a href="ch05s02.html">5.2. Object orientation</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html">5.3. Callbacks</a></span></dt><dt><span class="section"><a href="ch05s04.html">5.4. Process attributes</a></span></dt></dl></div><div class
 ="para">
 		Throught this section, the term <span class="emphasis"><em>client code</em></span> refers to applications and other libraries using the library.
-	</div><div class="section" id="idm224095580800"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224095580800">4.1. State management</h2></div></div></div><div class="para">
+	</div><div class="section" id="idm229865651664"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229865651664">5.1. State management</h2></div></div></div><div class="para">
 
-		</div><div class="section" id="idm224108575488"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224108575488">4.1.1. Global state</h3></div></div></div><div class="para">
+		</div><div class="section" id="idm229830894256"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229830894256">5.1.1. Global state</h3></div></div></div><div class="para">
 				Global state should be avoided.
 			</div><div class="para">
 				If this is impossible, the global state must be protected with a lock. For C/C++, you can use the <code class="function">pthread_mutex_lock</code> and <code class="function">pthread_mutex_unlock</code> functions without linking against <code class="literal">-lpthread</code> because the system provides stubs for non-threaded processes.
@@ -16,7 +16,7 @@
 				For compatibility with <code class="function">fork</code>, these locks should be acquired and released in helpers registered with <code class="function">pthread_atfork</code>. This function is not available without <code class="literal">-lpthread</code>, so you need to use <code class="function">dlsym</code> or a weak symbol to obtain its address.
 			</div><div class="para">
 				If you need <code class="function">fork</code> protection for other reasons, you should store the process ID and compare it to the value returned by <code class="function">getpid</code> each time you access the global state. (<code class="function">getpid</code> is not implemented as a system call and is fast.) If the value changes, you know that you have to re-create the state object. (This needs to be combined with locking, of course.)
-			</div></div><div class="section" id="idm224136442800"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224136442800">4.1.2. Handles</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="idm229808331472"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229808331472">5.1.2. Handles</h3></div></div></div><div class="para">
 				Library state should be kept behind a curtain. Client code should receive only a handle. In C, the handle can be a pointer to an incomplete <code class="literal">struct</code>. In C++, the handle can be a pointer to an abstract base class, or it can be hidden using the pointer-to-implementation idiom.
 			</div><div class="para">
 				The library should provide functions for creating and destroying handles. (In C++, it is possible to use virtual destructors for the latter.) Consistency between creation and destruction of handles is strongly recommended: If the client code created a handle, it is the responsibility of the client code to destroy it. (This is not always possible or convenient, so sometimes, a transfer of ownership has to happen.)
@@ -24,4 +24,4 @@
 				Using handles ensures that it is possible to change the way the library represents state in a way that is transparent to client code. This is important to facilitate security updates and many other code changes.
 			</div><div class="para">
 				It is not always necessary to protect state behind a handle with a lock. This depends on the level of thread safety the library provides.
-			</div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="pt02.html"><strong>Prev</strong>Part II. Specific Programming Tasks</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch04s02.html"><strong>Next</strong>4.2. Object orientation</a></li></ul></body></html>
\ No newline at end of file
+			</div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="pt02.html"><strong>Prev</strong>Part II. Specific Programming Tasks</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch05s02.html"><strong>Next</strong>5.2. Object orientation</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Serialization.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Serialization.html
index 04224b8..bf9ddd9 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Serialization.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Serialization.html
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 9. Serialization and Deserialization</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 10. Serialization and Deserialization</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt02.html" title="Part II. Specific Programming Tasks" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html" title="8.6. fork as a primitive for parallelism" /><link rel="next" href="ch09s02.html" title="9.2. Protocol design" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html"><strong>P
 rev</strong></a></li><li class="next"><a accesskey="n" href="ch09s02.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-Serialization" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 9. Serialization and Deserialization</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Serialization.html#sect-Defensive_Coding-Tasks-Serialization-Decoders">9.1. Recommendations for manually written decoders</a></span></dt><dt><span class="section"><a href="ch09s02.html">9.2. Protocol design</a></span></dt><dt><span class="section"><a href="ch09s03.html">9.3. Library support for deserialization</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML.html">9.4. XML serialization</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML.html#sect-Defensive_Codi
 ng-Tasks-Serialization-XML-External">9.4.1. External references</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html">9.4.2. Entity expansion</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html">9.4.3. XInclude processing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html">9.4.4. Algorithmic complexity of XML validation</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html">9.4.5. Using Expat for XML parsing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-Qt.html">9.4.6. Using Qt for XML parsing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html">9.4.7. Using OpenJDK for XML parsing and validation</a></span></dt></dl></dd><dt><span class="secti
 on"><a href="ch09s05.html">9.5. Protocol Encoders</a></span></dt></dl></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt02.html" title="Part II. Specific Programming Tasks" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html" title="9.6. fork as a primitive for parallelism" /><link rel="next" href="ch10s02.html" title="10.2. Protocol design" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html"><strong>
 Prev</strong></a></li><li class="next"><a accesskey="n" href="ch10s02.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-Serialization" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 10. Serialization and Deserialization</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Serialization.html#sect-Defensive_Coding-Tasks-Serialization-Decoders">10.1. Recommendations for manually written decoders</a></span></dt><dt><span class="section"><a href="ch10s02.html">10.2. Protocol design</a></span></dt><dt><span class="section"><a href="ch10s03.html">10.3. Library support for deserialization</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML.html">10.4. XML serialization</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML.html#sect-Defensiv
 e_Coding-Tasks-Serialization-XML-External">10.4.1. External references</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html">10.4.2. Entity expansion</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html">10.4.3. XInclude processing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html">10.4.4. Algorithmic complexity of XML validation</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html">10.4.5. Using Expat for XML parsing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-Qt.html">10.4.6. Using Qt for XML parsing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html">10.4.7. Using OpenJDK for XML parsing and validation</a></span></dt></dl></dd><dt><span
  class="section"><a href="ch10s05.html">10.5. Protocol Encoders</a></span></dt></dl></div><div class="para">
 		Protocol decoders and file format parsers are often the most-exposed part of an application because they are exposed with little or no user interaction and before any authentication and security checks are made. They are also difficult to write robustly in languages which are not memory-safe.
-	</div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-Decoders"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">9.1. Recommendations for manually written decoders</h2></div></div></div><div class="para">
+	</div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-Decoders"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">10.1. Recommendations for manually written decoders</h2></div></div></div><div class="para">
 			For C and C++, the advice in <a class="xref" href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Pointers">Section 1.1.2, “Recommendations for pointers and array handling”</a> applies. In addition, avoid non-character pointers directly into input buffers. Pointer misalignment causes crashes on some architectures.
 		</div><div class="para">
 			When reading variable-sized objects, do not allocate large amounts of data solely based on the value of a size field. If possible, grow the data structure as more data is read from the source, and stop when no data is available. This helps to avoid denial-of-service attacks where little amounts of input data results in enormous memory allocations during decoding. Alternatively, you can impose reasonable bounds on memory allocations, but some protocols do not permit this.
-		</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html"><strong>Prev</strong>8.6. fork as a primitive for parallelism</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch09s02.html"><strong>Next</strong>9.2. Protocol design</a></li></ul></body></html>
\ No newline at end of file
+		</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html"><strong>Prev</strong>9.6. fork as a primitive for parallelism</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch10s02.html"><strong>Next</strong>10.2. Protocol design</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Temporary_Directory.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Temporary_Directory.html
index 8d715a3..3d9b737 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Temporary_Directory.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Temporary_Directory.html
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>7.4. Temporary directories</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>8.4. Temporary directories</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Temporary_Files.html" title="Chapter 7. Temporary files" /><link rel="prev" href="ch07s03.html" title="7.3. Temporary files without names" /><link rel="next" href="ch07s05.html" title="7.5. Compensating for unsafe file creation" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch07s03.html"><strong>Prev</strong></a></li><li class="next"><a a
 ccesskey="n" href="ch07s05.html"><strong>Next</strong></a></li></ul><div class="section" id="chap-Defensive_Coding-Tasks-Temporary_Directory"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">7.4. Temporary directories</h2></div></div></div><div class="para">
-			The <code class="function">mkdtemp</code> function can be used to create a temporary directory. (For determining the directory part of the file name pattern, see <a class="xref" href="chap-Defensive_Coding-Tasks-Temporary_Files.html#chap-Defensive_Coding-Tasks-Temporary_Files-Location">Section 7.1, “Obtaining the location of temporary directory”</a>.) The directory is not automatically removed. In Python, this function is available as <code class="function">tempfile.mkdtemp</code>. In Java 7, temporary directories can be created using the <code class="function">java.nio.file.Files.createTempDirectory(Path, String, FileAttribute...)</code> function.
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Temporary_Files.html" title="Chapter 8. Temporary files" /><link rel="prev" href="ch08s03.html" title="8.3. Temporary files without names" /><link rel="next" href="ch08s05.html" title="8.5. Compensating for unsafe file creation" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch08s03.html"><strong>Prev</strong></a></li><li class="next"><a a
 ccesskey="n" href="ch08s05.html"><strong>Next</strong></a></li></ul><div class="section" id="chap-Defensive_Coding-Tasks-Temporary_Directory"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">8.4. Temporary directories</h2></div></div></div><div class="para">
+			The <code class="function">mkdtemp</code> function can be used to create a temporary directory. (For determining the directory part of the file name pattern, see <a class="xref" href="chap-Defensive_Coding-Tasks-Temporary_Files.html#chap-Defensive_Coding-Tasks-Temporary_Files-Location">Section 8.1, “Obtaining the location of temporary directory”</a>.) The directory is not automatically removed. In Python, this function is available as <code class="function">tempfile.mkdtemp</code>. In Java 7, temporary directories can be created using the <code class="function">java.nio.file.Files.createTempDirectory(Path, String, FileAttribute...)</code> function.
 		</div><div class="para">
 			When creating files in the temporary directory, use automatically generated names, e.g., derived from a sequential counter. Files with externally provided names could be picked up in unexpected contexts, and crafted names could actually point outside of the tempoary directory (due to <span class="emphasis"><em>directory traversal</em></span>).
 		</div><div class="para">
 			Removing a directory tree in a completely safe manner is complicated. Unless there are overriding performance concerns, the <span class="application"><strong>rm</strong></span> program should be used, with the <code class="option">-rf</code> and <code class="option">--</code> options.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch07s03.html"><strong>Prev</strong>7.3. Temporary files without names</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch07s05.html"><strong>Next</strong>7.5. Compensating for unsafe file creation</a></li></ul></body></html>
\ No newline at end of file
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch08s03.html"><strong>Prev</strong>8.3. Temporary files without names</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch08s05.html"><strong>Next</strong>8.5. Compensating for unsafe file creation</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Temporary_Files.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Temporary_Files.html
index dd253cb..e1b0cb1 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Temporary_Files.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Temporary_Files.html
@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 7. Temporary files</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 8. Temporary files</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt02.html" title="Part II. Specific Programming Tasks" /><link rel="prev" href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html" title="6.5. Checking free space" /><link rel="next" href="ch07s02.html" title="7.2. Named temporary files" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html"><strong>Prev</strong>
 </a></li><li class="next"><a accesskey="n" href="ch07s02.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-Temporary_Files" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 7. Temporary files</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Temporary_Files.html#chap-Defensive_Coding-Tasks-Temporary_Files-Location">7.1. Obtaining the location of temporary directory</a></span></dt><dt><span class="section"><a href="ch07s02.html">7.2. Named temporary files</a></span></dt><dt><span class="section"><a href="ch07s03.html">7.3. Temporary files without names</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Temporary_Directory.html">7.4. Temporary directories</a></span></dt><dt><span class="section"><a href="ch07s05.html">7.5. Compensating for unsafe file creation</a></span></dt></dl></div><div class="p
 ara">
-		In this chapter, we describe how to create temporary files and directories, how to remove them, and how to work with programs which do not create files in ways that a safe with a shared directory for temporary files. General file system manipulation is treated in a separate chapter, <a class="xref" href="chap-Defensive_Coding-Tasks-File_System.html">Chapter 6, <em>File system manipulation</em></a>.
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt02.html" title="Part II. Specific Programming Tasks" /><link rel="prev" href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html" title="7.5. Checking free space" /><link rel="next" href="ch08s02.html" title="8.2. Named temporary files" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html"><strong>Prev</strong>
 </a></li><li class="next"><a accesskey="n" href="ch08s02.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="chap-Defensive_Coding-Tasks-Temporary_Files" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 8. Temporary files</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Temporary_Files.html#chap-Defensive_Coding-Tasks-Temporary_Files-Location">8.1. Obtaining the location of temporary directory</a></span></dt><dt><span class="section"><a href="ch08s02.html">8.2. Named temporary files</a></span></dt><dt><span class="section"><a href="ch08s03.html">8.3. Temporary files without names</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Temporary_Directory.html">8.4. Temporary directories</a></span></dt><dt><span class="section"><a href="ch08s05.html">8.5. Compensating for unsafe file creation</a></span></dt></dl></div><div class="p
 ara">
+		In this chapter, we describe how to create temporary files and directories, how to remove them, and how to work with programs which do not create files in ways that a safe with a shared directory for temporary files. General file system manipulation is treated in a separate chapter, <a class="xref" href="chap-Defensive_Coding-Tasks-File_System.html">Chapter 7, <em>File system manipulation</em></a>.
 	</div><div class="para">
 		Secure creation of temporary files has four different aspects.
 	</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
-				The location of the directory for temporary files must be obtained in a secure manner (that is, untrusted environment variables must be ignored, see <a class="xref" href="ch08s03.html#sect-Defensive_Coding-Tasks-secure_getenv">Section 8.3.1, “Accessing environment variables”</a>).
+				The location of the directory for temporary files must be obtained in a secure manner (that is, untrusted environment variables must be ignored, see <a class="xref" href="ch09s03.html#sect-Defensive_Coding-Tasks-secure_getenv">Section 9.3.1, “Accessing environment variables”</a>).
 			</div></li><li class="listitem"><div class="para">
 				A new file must be created. Reusing an existing file must be avoided (the <code class="filename">/tmp</code> race condition). This is tricky because traditionally, system-wide temporary directories shared by all users are used.
 			</div></li><li class="listitem"><div class="para">
@@ -20,7 +20,7 @@
 		All functions mentioned below will take care of these aspects.
 	</div><div class="para">
 		Traditionally, temporary files are often used to reduce memory usage of programs. More and more systems use RAM-based file systems such as <code class="literal">tmpfs</code> for storing temporary files, to increase performance and decrease wear on Flash storage. As a result, spooling data to temporary files does not result in any memory savings, and the related complexity can be avoided if the data is kept in process memory.
-	</div><div class="section" id="chap-Defensive_Coding-Tasks-Temporary_Files-Location"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">7.1. Obtaining the location of temporary directory</h2></div></div></div><div class="para">
+	</div><div class="section" id="chap-Defensive_Coding-Tasks-Temporary_Files-Location"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">8.1. Obtaining the location of temporary directory</h2></div></div></div><div class="para">
 			Some functions below need the location of a directory which stores temporary files. For C/C++ programs, use the following steps to obtain that directory:
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					Use <code class="function">secure_getenv</code> to obtain the value of the <code class="literal">TMPDIR</code> environment variable. If it is set, convert the path to a fully-resolved absolute path, using <code class="literal">realpath(path, NULL)</code>. Check if the new path refers to a directory and is writeable. In this case, use it as the temporary directory.
@@ -30,4 +30,4 @@
 			In Python, you can use the <code class="varname">tempfile.tempdir</code> variable.
 		</div><div class="para">
 			Java does not support SUID/SGID programs, so you can use the <code class="function">java.lang.System.getenv(String)</code> method to obtain the value of the <code class="literal">TMPDIR</code> environment variable, and follow the two steps described above. (Java's default directory selection does not honor <code class="literal">TMPDIR</code>.)
-		</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html"><strong>Prev</strong>6.5. Checking free space</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch07s02.html"><strong>Next</strong>7.2. Named temporary files</a></li></ul></body></html>
\ No newline at end of file
+		</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html"><strong>Prev</strong>7.5. Checking free space</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch08s02.html"><strong>Next</strong>8.2. Named temporary files</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/index.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/index.html
index b89321a..9954584 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/index.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/index.html
@@ -4,10 +4,10 @@
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="next" href="pt01.html" title="Part I. Programming Languages" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"></li><li class="next"><a accesskey="n" href="pt01.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="book" id="idm224132805808" lang="en-US"><div class="titlepage"><div><div class="producttitle" font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" t
 ext-align="center"><span class="productname">Fedora Security Team</span> <span class="productnumber"></span></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><h1 id="idm224132805808" class="title">Defensive Coding</h1></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><h2 class="subtitle">A Guide to Improving Software Security</h2></div><p class="edition">Edition 1</p><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><h3 class="corpauthor">
-		<span class="inlinemediaobject"><object data="Common_Content/images/logo.svg" type="image/svg+xml"> </object></span>
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="next" href="pt01.html" title="Part I. Programming Languages" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"></li><li class="next"><a accesskey="n" href="pt01.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="book" id="idm229816839760" lang="en-US"><div class="titlepage"><div><div class="producttitle" font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" t
 ext-align="center"><span class="productname">Fedora Security Team</span> <span class="productnumber"></span></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><h1 id="idm229816839760" class="title">Defensive Coding</h1></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><h2 class="subtitle">A Guide to Improving Software Security</h2></div><p class="edition">Edition 1</p><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><h3 class="corpauthor">
+		<span class="inlinemediaobject"><object data="Common_Content/images/title_logo.svg" type="image/svg+xml"> </object></span>
 
-	</h3></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><div xml:lang="en-US" class="authorgroup" lang="en-US"><div class="author"><h3 class="author"><span class="firstname">Florian</span> <span class="surname">Weimer</span></h3><div class="affiliation"><span class="orgname">Red Hat</span> <span class="orgdiv">Product Security Team</span></div><code class="email"><a class="email" href="mailto:fweimer at redhat.com">fweimer at redhat.com</a></code></div></div></div><hr /><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><div id="idm224089640496" class="legalnotice"><h1 class="legalnotice">Legal Notice</h1><div class="para">
+	</h3></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><div xml:lang="en-US" class="authorgroup" lang="en-US"><div class="author"><h3 class="author"><span class="firstname">Florian</span> <span class="surname">Weimer</span></h3><div class="affiliation"><span class="orgname">Red Hat</span> <span class="orgdiv">Product Security Team</span></div><code class="email"><a class="email" href="mailto:fweimer at redhat.com">fweimer at redhat.com</a></code></div></div></div><hr /><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><div id="idm229812546752" class="legalnotice"><h1 class="legalnotice">Legal Notice</h1><div class="para">
 		Copyright <span class="trademark"></span>© 2012 Red Hat, Inc.
 	</div><div class="para">
 		The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at <a href="http://creativecommons.org/licenses/by-sa/3.0/">http://creativecommons.org/licenses/by-sa/3.0/</a>. The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
@@ -29,4 +29,4 @@
 		All other trademarks are the property of their respective owners.
 	</div></div></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><div class="abstract"><h6>Abstract</h6><div class="para">
 			This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.
-		</div></div></div></div><hr /></div><div class="toc"><dl class="toc"><dt><span class="part"><a href="pt01.html">I. Programming Languages</a></span></dt><dd><dl><dt><span class="chapter"><a href="chap-Defensive_Coding-C.html">1. The C Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Language">1.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Undefined">1.1.1. Undefined behavior</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Pointers">1.1.2. Recommendations for pointers and array handling</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Arithmetic">1.1.3. Recommendations for integer arithmetic</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Libc.html">1.2. The C stand
 ard library</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Libc.html#sect-Defensive_Coding-C-Absolutely-Banned">1.2.1. Absolutely banned interfaces</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-Avoid.html">1.2.2. Functions to avoid</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-String-Functions-Length.html">1.2.3. String Functions With Explicit Length Arguments</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators.html">1.3. Memory allocators</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators.html#idm224096163968">1.3.1. <code class="function">malloc</code> and related functions</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators-alloca.html">1.3.2. <code class="function">alloca</code> and other forms of stack-based allocation</a></span></dt><dt><span class="section"><a hr
 ef="sect-Defensive_Coding-C-Allocators-Arrays.html">1.3.3. Array allocation</a></span></dt><dt><span class="section"><a href="ch01s03s04.html">1.3.4. Custom memory allocators</a></span></dt><dt><span class="section"><a href="ch01s03s05.html">1.3.5. Conservative garbage collection</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Other.html">1.4. Other C-related topics</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Other.html#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1. Wrapper functions</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-CXX.html">2. The C++ Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#sect-Defensive_Coding-CXX-Language">2.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm224111115504">2.1.1. Array allocation with <code 
 class="literal">operator new[]</code></a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm224086084624">2.1.2. Overloading</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm224108683024">2.1.3. ABI compatibility and preparing for security updates</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#sect-Defensive_Coding-CXX-Language-CXX11">2.1.4. C++0X and C++11 support</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-CXX-Std.html">2.2. The C++ standard library</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-CXX-Std.html#idm224089303984">2.2.1. Containers and <code class="literal">operator[]</code></a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Python.html">3. The Python Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Pyth
 on.html#idm224105581424">3.1. Dangerous standard library features</a></span></dt><dt><span class="section"><a href="ch03s02.html">3.2. Run-time compilation and code generation</a></span></dt><dt><span class="section"><a href="ch03s03.html">3.3. Sandboxing</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="pt02.html">II. Specific Programming Tasks</a></span></dt><dd><dl><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-Library_Design.html">4. Library Design</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm224095580800">4.1. State management</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm224108575488">4.1.1. Global state</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm224136442800">4.1.2. Handles</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s02.html">4.2. Ob
 ject orientation</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html">4.3. Callbacks</a></span></dt><dt><span class="section"><a href="ch04s04.html">4.4. Process attributes</a></span></dt></dl></dd><dt><span class="chapter"><a href="sect-Defensive_Coding-Tasks-Descriptors.html">5. File Descriptor Management</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm224082363040">5.1. Closing descriptors</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm224082172576">5.1.1. Error handling during descriptor close</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm224104387472">5.1.2. Closing descriptors and race conditions</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm224096433216">5.1.3. Lingering state after close</a></sp
 an></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html">5.2. Preventing file descriptor leaks to child processes</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html">5.3. Dealing with the <code class="function">select</code> limit</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-File_System.html">6. File system manipulation</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-File_System.html#sect-Defensive_Coding-Tasks-File_System-Unowned">6.1. Working with files and directories owned by other users</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Foreign.html">6.2. Accessing the file system as a different user</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Limits.html">6.3. File system limits</a></span></dt><dt><s
 pan class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Features.html">6.4. File system features</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html">6.5. Checking free space</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-Temporary_Files.html">7. Temporary files</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Temporary_Files.html#chap-Defensive_Coding-Tasks-Temporary_Files-Location">7.1. Obtaining the location of temporary directory</a></span></dt><dt><span class="section"><a href="ch07s02.html">7.2. Named temporary files</a></span></dt><dt><span class="section"><a href="ch07s03.html">7.3. Temporary files without names</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Temporary_Directory.html">7.4. Temporary directories</a></span></dt><dt><span class="section"><a href="ch07s05.html">7.5. Compensating for
  unsafe file creation</a></span></dt></dl></dd><dt><span class="chapter"><a href="sect-Defensive_Coding-Tasks-Processes.html">8. Processes</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Creation">8.1. Safe process creation</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#idm224085976560">8.1.1. Obtaining the program path and the command line template</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-execve">8.1.2. Bypassing the shell</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">8.1.3. Specifying the process environment</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#idm224133722384">8.1.4. Robust argument list proces
 sing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">8.1.5. Passing secrets to subprocesses</a></span></dt></dl></dd><dt><span class="section"><a href="ch08s02.html">8.2. Handling child process termination</a></span></dt><dt><span class="section"><a href="ch08s03.html">8.3. <code class="literal">SUID</code>/<code class="literal">SGID</code> processes</a></span></dt><dd><dl><dt><span class="section"><a href="ch08s03.html#sect-Defensive_Coding-Tasks-secure_getenv">8.3.1. Accessing environment variables</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes-Daemons.html">8.4. Daemons</a></span></dt><dt><span class="section"><a href="ch08s05.html">8.5. Semantics of command line arguments</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html">8.6. <code class="function">fork</cod
 e> as a primitive for parallelism</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-Serialization.html">9. Serialization and Deserialization</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Serialization.html#sect-Defensive_Coding-Tasks-Serialization-Decoders">9.1. Recommendations for manually written decoders</a></span></dt><dt><span class="section"><a href="ch09s02.html">9.2. Protocol design</a></span></dt><dt><span class="section"><a href="ch09s03.html">9.3. Library support for deserialization</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML.html">9.4. XML serialization</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML.html#sect-Defensive_Coding-Tasks-Serialization-XML-External">9.4.1. External references</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML
 -Entities.html">9.4.2. Entity expansion</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html">9.4.3. XInclude processing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html">9.4.4. Algorithmic complexity of XML validation</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html">9.4.5. Using Expat for XML parsing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-Qt.html">9.4.6. Using Qt for XML parsing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html">9.4.7. Using OpenJDK for XML parsing and validation</a></span></dt></dl></dd><dt><span class="section"><a href="ch09s05.html">9.5. Protocol Encoders</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-Cryptography.html">10
 . Cryptography</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Cryptography.html#idm224133702016">10.1. Primitives</a></span></dt><dt><span class="section"><a href="ch10s02.html">10.2. Randomness</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="pt03.html">III. Implementing Security Features</a></span></dt><dd><dl><dt><span class="chapter"><a href="chap-Defensive_Coding-Authentication.html">11. Authentication and Authorization</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Authentication.html#sect-Defensive_Coding-Authentication-Server">11.1. Authenticating servers</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-Host_based.html">11.2. Host-based authentication</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-UNIX_Domain.html">11.3. UNIX domain socket authentication</a></span></dt><dt><span class="section"><a href
 ="sect-Defensive_Coding-Authentication-Netlink.html">11.4. <code class="literal">AF_NETLINK</code> authentication of origin</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-TLS.html">12. Transport Layer Security</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls">12.1. Common Pitfalls</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-OpenSSL">12.1.1. OpenSSL Pitfalls</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">12.1.2. GNUTLS Pitfalls</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">12.1.3. OpenJDK Pitfalls</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-NSS">12.1.4. NSS Pitfalls</a></spa
 n></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client.html">12.2. TLS Clients</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client.html#idm224135109392">12.2.1. Implementation TLS Clients With OpenSSL</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-GNUTLS.html">12.2.2. Implementation TLS Clients With GNUTLS</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-OpenJDK.html">12.2.3. Implementing TLS Clients With OpenJDK</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-NSS.html">12.2.4. Implementing TLS Clients With NSS</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-Python.html">12.2.5. Implementing TLS Clients With Python</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="appendix"><a href="appe-UEFI_Secure_Boot_Guide-Revision_History.html">A. Revision History</a></
 span></dt></dl></div></div><ul class="docnav"><li class="previous"></li><li class="next"><a accesskey="n" href="pt01.html"><strong>Next</strong>Part I. Programming Languages</a></li></ul></body></html>
\ No newline at end of file
+		</div></div></div></div><hr /></div><div class="toc"><dl class="toc"><dt><span class="part"><a href="pt01.html">I. Programming Languages</a></span></dt><dd><dl><dt><span class="chapter"><a href="chap-Defensive_Coding-C.html">1. The C Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Language">1.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Undefined">1.1.1. Undefined behavior</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Pointers">1.1.2. Recommendations for pointers and array handling</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Arithmetic">1.1.3. Recommendations for integer arithmetic</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Globals"
 >1.1.4. Global variables</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Libc.html">1.2. The C standard library</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Libc.html#sect-Defensive_Coding-C-Absolutely-Banned">1.2.1. Absolutely banned interfaces</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-Avoid.html">1.2.2. Functions to avoid</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-String-Functions-Length.html">1.2.3. String Functions With Explicit Length Arguments</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators.html">1.3. Memory allocators</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators.html#idm229864379840">1.3.1. <code class="function">malloc</code> and related functions</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators-alloca.ht
 ml">1.3.2. <code class="function">alloca</code> and other forms of stack-based allocation</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators-Arrays.html">1.3.3. Array allocation</a></span></dt><dt><span class="section"><a href="ch01s03s04.html">1.3.4. Custom memory allocators</a></span></dt><dt><span class="section"><a href="ch01s03s05.html">1.3.5. Conservative garbage collection</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Other.html">1.4. Other C-related topics</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Other.html#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1. Wrapper functions</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-CXX.html">2. The C++ Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#sect-Defensive_Coding-CXX-Language">2.1. The core language</a></
 span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm229842089184">2.1.1. Array allocation with <code class="literal">operator new[]</code></a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm229810562288">2.1.2. Overloading</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm229811889024">2.1.3. ABI compatibility and preparing for security updates</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#sect-Defensive_Coding-CXX-Language-CXX11">2.1.4. C++0X and C++11 support</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-CXX-Std.html">2.2. The C++ standard library</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-CXX-Std.html#idm229823849296">2.2.1. Containers and <code class="literal">operator[]</code></a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Cod
 ing-Java.html">3. The Java Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language">3.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-ReadArray">3.1.1. Inceasing robustness when reading arrays</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Resources">3.1.2. Resource management</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Finalizers">3.1.3. Finalizers</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Exceptions">3.1.4. Recovering from exceptions and errors</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Java-LowLevel.html">3.2. Low-level features o
 f the virtual machine</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Java-LowLevel.html#sect-Defensive_Coding-Java-Reflection">3.2.1. <code class="literal">Reflection and private parts</code></a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Java-JNI.html">3.2.2. Java Native Interface (JNI)</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Java-MiscUnsafe.html">3.2.3. <code class="literal">sun.misc.Unsafe</code></a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Java-SecurityManager.html">3.3. Interacting with the security manager</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Java-SecurityManager.html#sect-Defensive_Coding-Java-SecurityManager-Compatible">3.3.1. Security manager compatibility</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Java-SecurityManager-Activate.html">3.3.2. Activating the security manage
 r</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html">3.3.3. Reducing trust in code</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html">3.3.4. Re-gaining privileges</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Python.html">4. The Python Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Python.html#idm229825233200">4.1. Dangerous standard library features</a></span></dt><dt><span class="section"><a href="ch04s02.html">4.2. Run-time compilation and code generation</a></span></dt><dt><span class="section"><a href="ch04s03.html">4.3. Sandboxing</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="pt02.html">II. Specific Programming Tasks</a></span></dt><dd><dl><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-Library_Design.html">5. Library
  Design</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm229865651664">5.1. State management</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm229830894256">5.1.1. Global state</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm229808331472">5.1.2. Handles</a></span></dt></dl></dd><dt><span class="section"><a href="ch05s02.html">5.2. Object orientation</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html">5.3. Callbacks</a></span></dt><dt><span class="section"><a href="ch05s04.html">5.4. Process attributes</a></span></dt></dl></dd><dt><span class="chapter"><a href="sect-Defensive_Coding-Tasks-Descriptors.html">6. File Descriptor Management</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm22982640646
 4">6.1. Closing descriptors</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm229858842352">6.1.1. Error handling during descriptor close</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm229861890800">6.1.2. Closing descriptors and race conditions</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm229831566976">6.1.3. Lingering state after close</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html">6.2. Preventing file descriptor leaks to child processes</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html">6.3. Dealing with the <code class="function">select</code> limit</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-File_System.html">7. File system manipulation</a></span
 ></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-File_System.html#sect-Defensive_Coding-Tasks-File_System-Unowned">7.1. Working with files and directories owned by other users</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Foreign.html">7.2. Accessing the file system as a different user</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Limits.html">7.3. File system limits</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Features.html">7.4. File system features</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html">7.5. Checking free space</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-Temporary_Files.html">8. Temporary files</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Temporary_Files.html#chap
 -Defensive_Coding-Tasks-Temporary_Files-Location">8.1. Obtaining the location of temporary directory</a></span></dt><dt><span class="section"><a href="ch08s02.html">8.2. Named temporary files</a></span></dt><dt><span class="section"><a href="ch08s03.html">8.3. Temporary files without names</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Temporary_Directory.html">8.4. Temporary directories</a></span></dt><dt><span class="section"><a href="ch08s05.html">8.5. Compensating for unsafe file creation</a></span></dt></dl></dd><dt><span class="chapter"><a href="sect-Defensive_Coding-Tasks-Processes.html">9. Processes</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Creation">9.1. Safe process creation</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#idm229834357072">9.1.1. Obtaining the program path and the command
  line template</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-execve">9.1.2. Bypassing the shell</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">9.1.3. Specifying the process environment</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#idm229858016128">9.1.4. Robust argument list processing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">9.1.5. Passing secrets to subprocesses</a></span></dt></dl></dd><dt><span class="section"><a href="ch09s02.html">9.2. Handling child process termination</a></span></dt><dt><span class="section"><a href="ch09s03.html">9.3. <code class="literal">SUID</code>/<code class="literal">SGID</code> processes</a></span></dt><dd><d
 l><dt><span class="section"><a href="ch09s03.html#sect-Defensive_Coding-Tasks-secure_getenv">9.3.1. Accessing environment variables</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes-Daemons.html">9.4. Daemons</a></span></dt><dt><span class="section"><a href="ch09s05.html">9.5. Semantics of command line arguments</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html">9.6. <code class="function">fork</code> as a primitive for parallelism</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-Serialization.html">10. Serialization and Deserialization</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Serialization.html#sect-Defensive_Coding-Tasks-Serialization-Decoders">10.1. Recommendations for manually written decoders</a></span></dt><dt><span class="section"><a href="ch10s02.html">10.2. Protocol design</a></sp
 an></dt><dt><span class="section"><a href="ch10s03.html">10.3. Library support for deserialization</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML.html">10.4. XML serialization</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML.html#sect-Defensive_Coding-Tasks-Serialization-XML-External">10.4.1. External references</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html">10.4.2. Entity expansion</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html">10.4.3. XInclude processing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html">10.4.4. Algorithmic complexity of XML validation</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html">10.4.5. Using Expat for XM
 L parsing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-Qt.html">10.4.6. Using Qt for XML parsing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html">10.4.7. Using OpenJDK for XML parsing and validation</a></span></dt></dl></dd><dt><span class="section"><a href="ch10s05.html">10.5. Protocol Encoders</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-Cryptography.html">11. Cryptography</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Cryptography.html#idm229841838656">11.1. Primitives</a></span></dt><dt><span class="section"><a href="ch11s02.html">11.2. Randomness</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="pt03.html">III. Implementing Security Features</a></span></dt><dd><dl><dt><span class="chapter"><a href="chap-Defensive_Coding-Authentication.html">12. Authentication a
 nd Authorization</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Authentication.html#sect-Defensive_Coding-Authentication-Server">12.1. Authenticating servers</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-Host_based.html">12.2. Host-based authentication</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-UNIX_Domain.html">12.3. UNIX domain socket authentication</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-Netlink.html">12.4. <code class="literal">AF_NETLINK</code> authentication of origin</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-TLS.html">13. Transport Layer Security</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls">13.1. Common Pitfalls</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Codi
 ng-TLS.html#sect-Defensive_Coding-TLS-OpenSSL">13.1.1. OpenSSL Pitfalls</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">13.1.2. GNUTLS Pitfalls</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">13.1.3. OpenJDK Pitfalls</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-NSS">13.1.4. NSS Pitfalls</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client.html">13.2. TLS Clients</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client.html#idm229816036016">13.2.1. Implementation TLS Clients With OpenSSL</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-GNUTLS.html">13.2.2. Implementation TLS Clients With GNUTLS</a></span></dt><dt><span class="section"><a href="sect-D
 efensive_Coding-TLS-Client-OpenJDK.html">13.2.3. Implementing TLS Clients With OpenJDK</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-NSS.html">13.2.4. Implementing TLS Clients With NSS</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-Python.html">13.2.5. Implementing TLS Clients With Python</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="appendix"><a href="appe-Defensive_Coding-Revision_History.html">A. Revision History</a></span></dt></dl></div></div><ul class="docnav"><li class="previous"></li><li class="next"><a accesskey="n" href="pt01.html"><strong>Next</strong>Part I. Programming Languages</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/pt01.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/pt01.html
index 81ebb5c..c0b886a 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/pt01.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/pt01.html
@@ -4,4 +4,4 @@
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="index.html" title="Defensive Coding" /><link rel="prev" href="index.html" title="Defensive Coding" /><link rel="next" href="chap-Defensive_Coding-C.html" title="Chapter 1. The C Programming Language" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="index.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-C.html"><strong>Next
 </strong></a></li></ul><div class="part" id="idm224132804080"><div class="titlepage"><div><div text-align="center"><h1 class="title">Part I. Programming Languages</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="chap-Defensive_Coding-C.html">1. The C Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Language">1.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Undefined">1.1.1. Undefined behavior</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Pointers">1.1.2. Recommendations for pointers and array handling</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Arithmetic">1.1.3. Recommendations for integer arithmetic</a></span></
 dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Libc.html">1.2. The C standard library</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Libc.html#sect-Defensive_Coding-C-Absolutely-Banned">1.2.1. Absolutely banned interfaces</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-Avoid.html">1.2.2. Functions to avoid</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-String-Functions-Length.html">1.2.3. String Functions With Explicit Length Arguments</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators.html">1.3. Memory allocators</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators.html#idm224096163968">1.3.1. <code class="function">malloc</code> and related functions</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators-alloca.html">1.3.2. <code class="function">all
 oca</code> and other forms of stack-based allocation</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators-Arrays.html">1.3.3. Array allocation</a></span></dt><dt><span class="section"><a href="ch01s03s04.html">1.3.4. Custom memory allocators</a></span></dt><dt><span class="section"><a href="ch01s03s05.html">1.3.5. Conservative garbage collection</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Other.html">1.4. Other C-related topics</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Other.html#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1. Wrapper functions</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-CXX.html">2. The C++ Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#sect-Defensive_Coding-CXX-Language">2.1. The core language</a></span></dt><dd><dl><dt><span class="se
 ction"><a href="chap-Defensive_Coding-CXX.html#idm224111115504">2.1.1. Array allocation with <code class="literal">operator new[]</code></a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm224086084624">2.1.2. Overloading</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm224108683024">2.1.3. ABI compatibility and preparing for security updates</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#sect-Defensive_Coding-CXX-Language-CXX11">2.1.4. C++0X and C++11 support</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-CXX-Std.html">2.2. The C++ standard library</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-CXX-Std.html#idm224089303984">2.2.1. Containers and <code class="literal">operator[]</code></a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Python.html">3. The Python Progra
 mming Language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Python.html#idm224105581424">3.1. Dangerous standard library features</a></span></dt><dt><span class="section"><a href="ch03s02.html">3.2. Run-time compilation and code generation</a></span></dt><dt><span class="section"><a href="ch03s03.html">3.3. Sandboxing</a></span></dt></dl></dd></dl></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="index.html"><strong>Prev</strong>Defensive Coding</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-C.html"><strong>Next</strong>Chapter 1. The C Programming Language</a></li></ul></body></html>
\ No newline at end of file
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="index.html" title="Defensive Coding" /><link rel="prev" href="index.html" title="Defensive Coding" /><link rel="next" href="chap-Defensive_Coding-C.html" title="Chapter 1. The C Programming Language" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="index.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-C.html"><strong>Next
 </strong></a></li></ul><div class="part" id="idm229816840736"><div class="titlepage"><div><div text-align="center"><h1 class="title">Part I. Programming Languages</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="chap-Defensive_Coding-C.html">1. The C Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Language">1.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Undefined">1.1.1. Undefined behavior</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Pointers">1.1.2. Recommendations for pointers and array handling</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Arithmetic">1.1.3. Recommendations for integer arithmetic</a></span></
 dt><dt><span class="section"><a href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Globals">1.1.4. Global variables</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Libc.html">1.2. The C standard library</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Libc.html#sect-Defensive_Coding-C-Absolutely-Banned">1.2.1. Absolutely banned interfaces</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-Avoid.html">1.2.2. Functions to avoid</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-String-Functions-Length.html">1.2.3. String Functions With Explicit Length Arguments</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators.html">1.3. Memory allocators</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators.html#idm229864379840">1.3.1. <code class="function">malloc</code> and related funct
 ions</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators-alloca.html">1.3.2. <code class="function">alloca</code> and other forms of stack-based allocation</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-C-Allocators-Arrays.html">1.3.3. Array allocation</a></span></dt><dt><span class="section"><a href="ch01s03s04.html">1.3.4. Custom memory allocators</a></span></dt><dt><span class="section"><a href="ch01s03s05.html">1.3.5. Conservative garbage collection</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-C-Other.html">1.4. Other C-related topics</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-C-Other.html#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1. Wrapper functions</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-CXX.html">2. The C++ Programming Language</a></span></dt><dd><dl><dt><span class="section"><a hr
 ef="chap-Defensive_Coding-CXX.html#sect-Defensive_Coding-CXX-Language">2.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm229842089184">2.1.1. Array allocation with <code class="literal">operator new[]</code></a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm229810562288">2.1.2. Overloading</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#idm229811889024">2.1.3. ABI compatibility and preparing for security updates</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-CXX.html#sect-Defensive_Coding-CXX-Language-CXX11">2.1.4. C++0X and C++11 support</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-CXX-Std.html">2.2. The C++ standard library</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-CXX-Std.html#idm229823849296">2.2.1. Containers and <code class="literal">operato
 r[]</code></a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Java.html">3. The Java Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language">3.1. The core language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-ReadArray">3.1.1. Inceasing robustness when reading arrays</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Resources">3.1.2. Resource management</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Finalizers">3.1.3. Finalizers</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Exceptions">3.1.4. Recovering from exceptions and errors</a></span></dt></dl></dd><dt
 ><span class="section"><a href="sect-Defensive_Coding-Java-LowLevel.html">3.2. Low-level features of the virtual machine</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Java-LowLevel.html#sect-Defensive_Coding-Java-Reflection">3.2.1. <code class="literal">Reflection and private parts</code></a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Java-JNI.html">3.2.2. Java Native Interface (JNI)</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Java-MiscUnsafe.html">3.2.3. <code class="literal">sun.misc.Unsafe</code></a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Java-SecurityManager.html">3.3. Interacting with the security manager</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Java-SecurityManager.html#sect-Defensive_Coding-Java-SecurityManager-Compatible">3.3.1. Security manager compatibility</a></span></dt><dt><span class="section"><a hr
 ef="sect-Defensive_Coding-Java-SecurityManager-Activate.html">3.3.2. Activating the security manager</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html">3.3.3. Reducing trust in code</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html">3.3.4. Re-gaining privileges</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Python.html">4. The Python Programming Language</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Python.html#idm229825233200">4.1. Dangerous standard library features</a></span></dt><dt><span class="section"><a href="ch04s02.html">4.2. Run-time compilation and code generation</a></span></dt><dt><span class="section"><a href="ch04s03.html">4.3. Sandboxing</a></span></dt></dl></dd></dl></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="index.html"><strong>Pr
 ev</strong>Defensive Coding</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-C.html"><strong>Next</strong>Chapter 1. The C Programming Language</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/pt02.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/pt02.html
index 8c7c4ef..d5fe705 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/pt02.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/pt02.html
@@ -4,4 +4,4 @@
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="index.html" title="Defensive Coding" /><link rel="prev" href="ch03s03.html" title="3.3. Sandboxing" /><link rel="next" href="chap-Defensive_Coding-Tasks-Library_Design.html" title="Chapter 4. Library Design" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch03s03.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Lib
 rary_Design.html"><strong>Next</strong></a></li></ul><div class="part" id="idm224078695136"><div class="titlepage"><div><div text-align="center"><h1 class="title">Part II. Specific Programming Tasks</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-Library_Design.html">4. Library Design</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm224095580800">4.1. State management</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm224108575488">4.1.1. Global state</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm224136442800">4.1.2. Handles</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s02.html">4.2. Object orientation</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Ta
 sks-Library_Design-Callbacks.html">4.3. Callbacks</a></span></dt><dt><span class="section"><a href="ch04s04.html">4.4. Process attributes</a></span></dt></dl></dd><dt><span class="chapter"><a href="sect-Defensive_Coding-Tasks-Descriptors.html">5. File Descriptor Management</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm224082363040">5.1. Closing descriptors</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm224082172576">5.1.1. Error handling during descriptor close</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm224104387472">5.1.2. Closing descriptors and race conditions</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm224096433216">5.1.3. Lingering state after close</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptor
 s-Child_Processes.html">5.2. Preventing file descriptor leaks to child processes</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html">5.3. Dealing with the <code class="function">select</code> limit</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-File_System.html">6. File system manipulation</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-File_System.html#sect-Defensive_Coding-Tasks-File_System-Unowned">6.1. Working with files and directories owned by other users</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Foreign.html">6.2. Accessing the file system as a different user</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Limits.html">6.3. File system limits</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Features.html">6.4. Fi
 le system features</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html">6.5. Checking free space</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-Temporary_Files.html">7. Temporary files</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Temporary_Files.html#chap-Defensive_Coding-Tasks-Temporary_Files-Location">7.1. Obtaining the location of temporary directory</a></span></dt><dt><span class="section"><a href="ch07s02.html">7.2. Named temporary files</a></span></dt><dt><span class="section"><a href="ch07s03.html">7.3. Temporary files without names</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Temporary_Directory.html">7.4. Temporary directories</a></span></dt><dt><span class="section"><a href="ch07s05.html">7.5. Compensating for unsafe file creation</a></span></dt></dl></dd><dt><span class="chapter"><a href="sect-Defe
 nsive_Coding-Tasks-Processes.html">8. Processes</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Creation">8.1. Safe process creation</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#idm224085976560">8.1.1. Obtaining the program path and the command line template</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-execve">8.1.2. Bypassing the shell</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">8.1.3. Specifying the process environment</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#idm224133722384">8.1.4. Robust argument list processing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processe
 s.html#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">8.1.5. Passing secrets to subprocesses</a></span></dt></dl></dd><dt><span class="section"><a href="ch08s02.html">8.2. Handling child process termination</a></span></dt><dt><span class="section"><a href="ch08s03.html">8.3. <code class="literal">SUID</code>/<code class="literal">SGID</code> processes</a></span></dt><dd><dl><dt><span class="section"><a href="ch08s03.html#sect-Defensive_Coding-Tasks-secure_getenv">8.3.1. Accessing environment variables</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes-Daemons.html">8.4. Daemons</a></span></dt><dt><span class="section"><a href="ch08s05.html">8.5. Semantics of command line arguments</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html">8.6. <code class="function">fork</code> as a primitive for parallelism</a></span></dt></dl></dd><dt><span class="chapter"><a hre
 f="chap-Defensive_Coding-Tasks-Serialization.html">9. Serialization and Deserialization</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Serialization.html#sect-Defensive_Coding-Tasks-Serialization-Decoders">9.1. Recommendations for manually written decoders</a></span></dt><dt><span class="section"><a href="ch09s02.html">9.2. Protocol design</a></span></dt><dt><span class="section"><a href="ch09s03.html">9.3. Library support for deserialization</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML.html">9.4. XML serialization</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML.html#sect-Defensive_Coding-Tasks-Serialization-XML-External">9.4.1. External references</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html">9.4.2. Entity expansion</a></span></dt><dt><span class="section"><a href="s
 ect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html">9.4.3. XInclude processing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html">9.4.4. Algorithmic complexity of XML validation</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html">9.4.5. Using Expat for XML parsing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-Qt.html">9.4.6. Using Qt for XML parsing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html">9.4.7. Using OpenJDK for XML parsing and validation</a></span></dt></dl></dd><dt><span class="section"><a href="ch09s05.html">9.5. Protocol Encoders</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-Cryptography.html">10. Cryptography</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Cod
 ing-Tasks-Cryptography.html#idm224133702016">10.1. Primitives</a></span></dt><dt><span class="section"><a href="ch10s02.html">10.2. Randomness</a></span></dt></dl></dd></dl></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch03s03.html"><strong>Prev</strong>3.3. Sandboxing</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Library_Design.html"><strong>Next</strong>Chapter 4. Library Design</a></li></ul></body></html>
\ No newline at end of file
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="index.html" title="Defensive Coding" /><link rel="prev" href="ch04s03.html" title="4.3. Sandboxing" /><link rel="next" href="chap-Defensive_Coding-Tasks-Library_Design.html" title="Chapter 5. Library Design" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch04s03.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Lib
 rary_Design.html"><strong>Next</strong></a></li></ul><div class="part" id="idm229833870016"><div class="titlepage"><div><div text-align="center"><h1 class="title">Part II. Specific Programming Tasks</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-Library_Design.html">5. Library Design</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm229865651664">5.1. State management</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm229830894256">5.1.1. Global state</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Library_Design.html#idm229808331472">5.1.2. Handles</a></span></dt></dl></dd><dt><span class="section"><a href="ch05s02.html">5.2. Object orientation</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Ta
 sks-Library_Design-Callbacks.html">5.3. Callbacks</a></span></dt><dt><span class="section"><a href="ch05s04.html">5.4. Process attributes</a></span></dt></dl></dd><dt><span class="chapter"><a href="sect-Defensive_Coding-Tasks-Descriptors.html">6. File Descriptor Management</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm229826406464">6.1. Closing descriptors</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm229858842352">6.1.1. Error handling during descriptor close</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm229861890800">6.1.2. Closing descriptors and race conditions</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm229831566976">6.1.3. Lingering state after close</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptor
 s-Child_Processes.html">6.2. Preventing file descriptor leaks to child processes</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html">6.3. Dealing with the <code class="function">select</code> limit</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-File_System.html">7. File system manipulation</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-File_System.html#sect-Defensive_Coding-Tasks-File_System-Unowned">7.1. Working with files and directories owned by other users</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Foreign.html">7.2. Accessing the file system as a different user</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Limits.html">7.3. File system limits</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Features.html">7.4. Fi
 le system features</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html">7.5. Checking free space</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-Temporary_Files.html">8. Temporary files</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Temporary_Files.html#chap-Defensive_Coding-Tasks-Temporary_Files-Location">8.1. Obtaining the location of temporary directory</a></span></dt><dt><span class="section"><a href="ch08s02.html">8.2. Named temporary files</a></span></dt><dt><span class="section"><a href="ch08s03.html">8.3. Temporary files without names</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Temporary_Directory.html">8.4. Temporary directories</a></span></dt><dt><span class="section"><a href="ch08s05.html">8.5. Compensating for unsafe file creation</a></span></dt></dl></dd><dt><span class="chapter"><a href="sect-Defe
 nsive_Coding-Tasks-Processes.html">9. Processes</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Creation">9.1. Safe process creation</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#idm229834357072">9.1.1. Obtaining the program path and the command line template</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-execve">9.1.2. Bypassing the shell</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">9.1.3. Specifying the process environment</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#idm229858016128">9.1.4. Robust argument list processing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processe
 s.html#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">9.1.5. Passing secrets to subprocesses</a></span></dt></dl></dd><dt><span class="section"><a href="ch09s02.html">9.2. Handling child process termination</a></span></dt><dt><span class="section"><a href="ch09s03.html">9.3. <code class="literal">SUID</code>/<code class="literal">SGID</code> processes</a></span></dt><dd><dl><dt><span class="section"><a href="ch09s03.html#sect-Defensive_Coding-Tasks-secure_getenv">9.3.1. Accessing environment variables</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes-Daemons.html">9.4. Daemons</a></span></dt><dt><span class="section"><a href="ch09s05.html">9.5. Semantics of command line arguments</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html">9.6. <code class="function">fork</code> as a primitive for parallelism</a></span></dt></dl></dd><dt><span class="chapter"><a hre
 f="chap-Defensive_Coding-Tasks-Serialization.html">10. Serialization and Deserialization</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Tasks-Serialization.html#sect-Defensive_Coding-Tasks-Serialization-Decoders">10.1. Recommendations for manually written decoders</a></span></dt><dt><span class="section"><a href="ch10s02.html">10.2. Protocol design</a></span></dt><dt><span class="section"><a href="ch10s03.html">10.3. Library support for deserialization</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML.html">10.4. XML serialization</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML.html#sect-Defensive_Coding-Tasks-Serialization-XML-External">10.4.1. External references</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html">10.4.2. Entity expansion</a></span></dt><dt><span class="section"><a 
 href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html">10.4.3. XInclude processing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html">10.4.4. Algorithmic complexity of XML validation</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html">10.4.5. Using Expat for XML parsing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-Qt.html">10.4.6. Using Qt for XML parsing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html">10.4.7. Using OpenJDK for XML parsing and validation</a></span></dt></dl></dd><dt><span class="section"><a href="ch10s05.html">10.5. Protocol Encoders</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-Tasks-Cryptography.html">11. Cryptography</a></span></dt><dd><dl><dt><span class="section"><a href="chap-
 Defensive_Coding-Tasks-Cryptography.html#idm229841838656">11.1. Primitives</a></span></dt><dt><span class="section"><a href="ch11s02.html">11.2. Randomness</a></span></dt></dl></dd></dl></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch04s03.html"><strong>Prev</strong>4.3. Sandboxing</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Library_Design.html"><strong>Next</strong>Chapter 5. Library Design</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/pt03.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/pt03.html
index 15202aa..be6a638 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/pt03.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/pt03.html
@@ -4,4 +4,4 @@
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="index.html" title="Defensive Coding" /><link rel="prev" href="ch10s02.html" title="10.2. Randomness" /><link rel="next" href="chap-Defensive_Coding-Authentication.html" title="Chapter 11. Authentication and Authorization" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch10s02.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Co
 ding-Authentication.html"><strong>Next</strong></a></li></ul><div class="part" id="idm224091925360"><div class="titlepage"><div><div text-align="center"><h1 class="title">Part III. Implementing Security Features</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="chap-Defensive_Coding-Authentication.html">11. Authentication and Authorization</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Authentication.html#sect-Defensive_Coding-Authentication-Server">11.1. Authenticating servers</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-Host_based.html">11.2. Host-based authentication</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-UNIX_Domain.html">11.3. UNIX domain socket authentication</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-Netlink.html">11.4. <c
 ode class="literal">AF_NETLINK</code> authentication of origin</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-TLS.html">12. Transport Layer Security</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls">12.1. Common Pitfalls</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-OpenSSL">12.1.1. OpenSSL Pitfalls</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">12.1.2. GNUTLS Pitfalls</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">12.1.3. OpenJDK Pitfalls</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-NSS">12.1.4. NSS Pitfalls</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defe
 nsive_Coding-TLS-Client.html">12.2. TLS Clients</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client.html#idm224135109392">12.2.1. Implementation TLS Clients With OpenSSL</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-GNUTLS.html">12.2.2. Implementation TLS Clients With GNUTLS</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-OpenJDK.html">12.2.3. Implementing TLS Clients With OpenJDK</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-NSS.html">12.2.4. Implementing TLS Clients With NSS</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-Python.html">12.2.5. Implementing TLS Clients With Python</a></span></dt></dl></dd></dl></dd></dl></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch10s02.html"><strong>Prev</strong>10.2. Randomness</a></li><li class="up"><a accesskey="u" href="#"><
 strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Authentication.html"><strong>Next</strong>Chapter 11. Authentication and Authorization</a></li></ul></body></html>
\ No newline at end of file
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="index.html" title="Defensive Coding" /><link rel="prev" href="ch11s02.html" title="11.2. Randomness" /><link rel="next" href="chap-Defensive_Coding-Authentication.html" title="Chapter 12. Authentication and Authorization" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch11s02.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Co
 ding-Authentication.html"><strong>Next</strong></a></li></ul><div class="part" id="idm229824063136"><div class="titlepage"><div><div text-align="center"><h1 class="title">Part III. Implementing Security Features</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="chap-Defensive_Coding-Authentication.html">12. Authentication and Authorization</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-Authentication.html#sect-Defensive_Coding-Authentication-Server">12.1. Authenticating servers</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-Host_based.html">12.2. Host-based authentication</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-UNIX_Domain.html">12.3. UNIX domain socket authentication</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Authentication-Netlink.html">12.4. <c
 ode class="literal">AF_NETLINK</code> authentication of origin</a></span></dt></dl></dd><dt><span class="chapter"><a href="chap-Defensive_Coding-TLS.html">13. Transport Layer Security</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls">13.1. Common Pitfalls</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-OpenSSL">13.1.1. OpenSSL Pitfalls</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">13.1.2. GNUTLS Pitfalls</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">13.1.3. OpenJDK Pitfalls</a></span></dt><dt><span class="section"><a href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-NSS">13.1.4. NSS Pitfalls</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defe
 nsive_Coding-TLS-Client.html">13.2. TLS Clients</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client.html#idm229816036016">13.2.1. Implementation TLS Clients With OpenSSL</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-GNUTLS.html">13.2.2. Implementation TLS Clients With GNUTLS</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-OpenJDK.html">13.2.3. Implementing TLS Clients With OpenJDK</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-NSS.html">13.2.4. Implementing TLS Clients With NSS</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-TLS-Client-Python.html">13.2.5. Implementing TLS Clients With Python</a></span></dt></dl></dd></dl></dd></dl></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch11s02.html"><strong>Prev</strong>11.2. Randomness</a></li><li class="up"><a accesskey="u" href="#"><
 strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Authentication.html"><strong>Next</strong>Chapter 12. Authentication and Authorization</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Authentication-Host_based.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Authentication-Host_based.html
index cc8a18d..5339067 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Authentication-Host_based.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Authentication-Host_based.html
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>11.2. Host-based authentication</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>12.2. Host-based authentication</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Authentication.html" title="Chapter 11. Authentication and Authorization" /><link rel="prev" href="chap-Defensive_Coding-Authentication.html" title="Chapter 11. Authentication and Authorization" /><link rel="next" href="sect-Defensive_Coding-Authentication-UNIX_Domain.html" title="11.3. UNIX domain socket authentication" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"
 ><a accesskey="p" href="chap-Defensive_Coding-Authentication.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Authentication-UNIX_Domain.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Authentication-Host_based"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">11.2. Host-based authentication</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Authentication.html" title="Chapter 12. Authentication and Authorization" /><link rel="prev" href="chap-Defensive_Coding-Authentication.html" title="Chapter 12. Authentication and Authorization" /><link rel="next" href="sect-Defensive_Coding-Authentication-UNIX_Domain.html" title="12.3. UNIX domain socket authentication" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"
 ><a accesskey="p" href="chap-Defensive_Coding-Authentication.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Authentication-UNIX_Domain.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Authentication-Host_based"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">12.2. Host-based authentication</h2></div></div></div><div class="para">
 			Host-based authentication uses access control lists (ACLs) to accept or deny requests from clients. Thsis authentication method comes in two flavors: IP-based (or, more generally, address-based) and name-based (with the name coming from DNS or <code class="filename">/etc/hosts</code>). IP-based ACLs often use prefix notation to extend access to entire subnets. Name-based ACLs sometimes use wildcards for adding groups of hosts (from entire DNS subtrees). (In the SSH context, host-based authentication means something completely different and is not covered in this section.)
 		</div><div class="para">
 			Host-based authentication trust the network and may not offer sufficient granularity, so it has to be considered a weak form of authentication. On the other hand, IP-based authentication can be made extremely robust and can be applied very early in input processing, so it offers an opportunity for significantly reducing the number of potential attackers for many services.
@@ -16,4 +16,4 @@
 			Similarly, if an address or name is not matched by the list, it should be denied. However, many implementations behave differently, so the actual behavior must be documented properly.
 		</div><div class="para">
 			IPv6 addresses can embed IPv4 addresses. There is no universally correct way to deal with this ambiguity. The behavior of the ACL implementation should be documented.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Authentication.html"><strong>Prev</strong>Chapter 11. Authentication and Authorization</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Authentication-UNIX_Domain.html"><strong>Next</strong>11.3. UNIX domain socket authentication</a></li></ul></body></html>
\ No newline at end of file
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Authentication.html"><strong>Prev</strong>Chapter 12. Authentication and Authorization</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Authentication-UNIX_Domain.html"><strong>Next</strong>12.3. UNIX domain socket authentication</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Authentication-Netlink.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Authentication-Netlink.html
index ddcce3c..0d078ac 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Authentication-Netlink.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Authentication-Netlink.html
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>11.4. AF_NETLINK authentication of origin</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>12.4. AF_NETLINK authentication of origin</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Authentication.html" title="Chapter 11. Authentication and Authorization" /><link rel="prev" href="sect-Defensive_Coding-Authentication-UNIX_Domain.html" title="11.3. UNIX domain socket authentication" /><link rel="next" href="chap-Defensive_Coding-TLS.html" title="Chapter 12. Transport Layer Security" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" h
 ref="sect-Defensive_Coding-Authentication-UNIX_Domain.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-TLS.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Authentication-Netlink"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">11.4. <code class="literal">AF_NETLINK</code> authentication of origin</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Authentication.html" title="Chapter 12. Authentication and Authorization" /><link rel="prev" href="sect-Defensive_Coding-Authentication-UNIX_Domain.html" title="12.3. UNIX domain socket authentication" /><link rel="next" href="chap-Defensive_Coding-TLS.html" title="Chapter 13. Transport Layer Security" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" h
 ref="sect-Defensive_Coding-Authentication-UNIX_Domain.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-TLS.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Authentication-Netlink"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">12.4. <code class="literal">AF_NETLINK</code> authentication of origin</h2></div></div></div><div class="para">
 			Netlink messages are used as a high-performance data transfer mechanism between the kernel and the userspace. Traditionally, they are used to exchange information related to the network statck, such as routing table entries.
 		</div><div class="para">
 			When processing Netlink messages from the kernel, it is important to check that these messages actually originate from the kernel, by checking that the port ID (or PID) field <code class="literal">nl_pid</code> in the <code class="literal">sockaddr_nl</code> structure is <code class="literal">0</code>. (This structure can be obtained using <code class="function">recvfrom</code> or <code class="function">recvmsg</code>, it is different from the <code class="literal">nlmsghdr</code> structure.) The kernel does not prevent other processes from sending unicast Netlink messages, but the <code class="literal">nl_pid</code> field in the sender's socket address will be non-zero in such cases.
 		</div><div class="para">
 			Applications should not use <code class="literal">AF_NETLINK</code> sockets as an IPC mechanism among processes, but prefer UNIX domain sockets for this tasks.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Authentication-UNIX_Domain.html"><strong>Prev</strong>11.3. UNIX domain socket authentication</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-TLS.html"><strong>Next</strong>Chapter 12. Transport Layer Security</a></li></ul></body></html>
\ No newline at end of file
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Authentication-UNIX_Domain.html"><strong>Prev</strong>12.3. UNIX domain socket authentication</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-TLS.html"><strong>Next</strong>Chapter 13. Transport Layer Security</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Authentication-UNIX_Domain.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Authentication-UNIX_Domain.html
index 404dd13..4ec498d 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Authentication-UNIX_Domain.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Authentication-UNIX_Domain.html
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>11.3. UNIX domain socket authentication</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>12.3. UNIX domain socket authentication</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Authentication.html" title="Chapter 11. Authentication and Authorization" /><link rel="prev" href="sect-Defensive_Coding-Authentication-Host_based.html" title="11.2. Host-based authentication" /><link rel="next" href="sect-Defensive_Coding-Authentication-Netlink.html" title="11.4. AF_NETLINK authentication of origin" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a a
 ccesskey="p" href="sect-Defensive_Coding-Authentication-Host_based.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Authentication-Netlink.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Authentication-UNIX_Domain"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">11.3. UNIX domain socket authentication</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Authentication.html" title="Chapter 12. Authentication and Authorization" /><link rel="prev" href="sect-Defensive_Coding-Authentication-Host_based.html" title="12.2. Host-based authentication" /><link rel="next" href="sect-Defensive_Coding-Authentication-Netlink.html" title="12.4. AF_NETLINK authentication of origin" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a a
 ccesskey="p" href="sect-Defensive_Coding-Authentication-Host_based.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Authentication-Netlink.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Authentication-UNIX_Domain"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">12.3. UNIX domain socket authentication</h2></div></div></div><div class="para">
 			UNIX domain sockets (with address family <code class="literal">AF_UNIX</code> or <code class="literal">AF_LOCAL</code>) are restricted to the local host and offer a special authentication mechanism: credentials passing.
 		</div><div class="para">
 			Nowadays, most systems support the <code class="literal">SO_PEERCRED</code> (Linux) or <code class="literal">LOCAL_PEERCRED</code> (FreeBSD) socket options, or the <code class="function">getpeereid</code> (other BSDs, MacOS X). These interfaces provide direct access to the (effective) user ID on the other end of a domain socket connect, without cooperation from the other end.
@@ -12,4 +12,4 @@
 			Historically, credentials passing was implemented using ancillary data in the <code class="function">sendmsg</code> and <code class="function">recvmsg</code> functions. On some systems, only credentials data that the peer has explicitly sent can be received, and the kernel checks the data for correctness on the sending side. This means that both peers need to deal with ancillary data. Compared to that, the modern interfaces are easier to use. Both sets of interfaces vary considerably among UNIX-like systems, unfortunately.
 		</div><div class="para">
 			If you want to authenticate based on supplementary groups, you should obtain the user ID using one of these methods, and look up the list of supplementary groups using <code class="function">getpwuid</code> (or <code class="function">getpwuid_r</code>) and <code class="function">getgrouplist</code>. Using the PID and information from <code class="filename">/proc/PID/status</code> is prone to race conditions and insecure.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Authentication-Host_based.html"><strong>Prev</strong>11.2. Host-based authentication</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Authentication-Netlink.html"><strong>Next</strong>11.4. AF_NETLINK authentication of origin</a></li></ul></body></html>
\ No newline at end of file
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Authentication-Host_based.html"><strong>Prev</strong>12.2. Host-based authentication</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Authentication-Netlink.html"><strong>Next</strong>12.4. AF_NETLINK authentication of origin</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators-Arrays.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators-Arrays.html
index 1a21f11..3cea45e 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators-Arrays.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators-Arrays.html
@@ -7,5 +7,5 @@
               </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-C-Allocators.html" title="1.3. Memory allocators" /><link rel="prev" href="sect-Defensive_Coding-C-Allocators-alloca.html" title="1.3.2. alloca and other forms of stack-based allocation" /><link rel="next" href="ch01s03s04.html" title="1.3.4. Custom memory allocators" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-C-Allocato
 rs-alloca.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch01s03s04.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-C-Allocators-Arrays"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">1.3.3. Array allocation</h3></div></div></div><div class="para">
 			When allocating arrays, it is important to check for overflows. The <code class="function">calloc</code> function performs such checks.
 		</div><div class="para">
-			If <code class="function">malloc</code> or <code class="function">realloc</code> is used, the size check must be written manually. For instance, to allocate an array of <code class="literal">n</code> elements of type <code class="literal">T</code>, check that the requested size is not greater than <code class="literal">n / sizeof(T)</code>.
+			If <code class="function">malloc</code> or <code class="function">realloc</code> is used, the size check must be written manually. For instance, to allocate an array of <code class="literal">n</code> elements of type <code class="literal">T</code>, check that the requested size is not greater than <code class="literal">((size_t) -1) / sizeof(T)</code>. See <a class="xref" href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Arithmetic">Section 1.1.3, “Recommendations for integer arithmetic”</a>.
 		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-C-Allocators-alloca.html"><strong>Prev</strong>1.3.2. alloca and other forms of stack-based allo...</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch01s03s04.html"><strong>Next</strong>1.3.4. Custom memory allocators</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators.html
index 0c21c88..8b4e25a 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators.html
@@ -4,18 +4,18 @@
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-C.html" title="Chapter 1. The C Programming Language" /><link rel="prev" href="ch01s02s03s07.html" title="1.2.3.7. Other strn* and stpn* functions" /><link rel="next" href="sect-Defensive_Coding-C-Allocators-alloca.html" title="1.3.2. alloca and other forms of stack-based allocation" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch01s02s03s07.h
 tml"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-C-Allocators-alloca.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-C-Allocators" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">1.3. Memory allocators</h2></div></div></div><div class="section" id="idm224096163968"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224096163968">1.3.1. <code class="function">malloc</code> and related functions</h3></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-C.html" title="Chapter 1. The C Programming Language" /><link rel="prev" href="ch01s02s03s07.html" title="1.2.3.7. Other strn* and stpn* functions" /><link rel="next" href="sect-Defensive_Coding-C-Allocators-alloca.html" title="1.3.2. alloca and other forms of stack-based allocation" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch01s02s03s07.h
 tml"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-C-Allocators-alloca.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-C-Allocators" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">1.3. Memory allocators</h2></div></div></div><div class="section" id="idm229864379840"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229864379840">1.3.1. <code class="function">malloc</code> and related functions</h3></div></div></div><div class="para">
 			The C library interfaces for memory allocation are provided by <code class="function">malloc</code>, <code class="function">free</code> and <code class="function">realloc</code>, and the <code class="function">calloc</code> function. In addition to these generic functions, there are derived functions such as <code class="function">strdup</code> which perform allocation using <code class="function">malloc</code> internally, but do not return untyped heap memory (which could be used for any object).
 		</div><div class="para">
 			The C compiler knows about these functions and can use their expected behavior for optimizations. For instance, the compiler assumes that an existing pointer (or a pointer derived from an existing pointer by arithmetic) will not point into the memory area returned by <code class="function">malloc</code>.
 		</div><div class="para">
 			If the allocation fails, <code class="function">realloc</code> does not free the old pointer. Therefore, the idiom <code class="literal">ptr = realloc(ptr, size);</code> is wrong because the memory pointed to by <code class="literal">ptr</code> leaks in case of an error.
-		</div><div class="section" id="idm224100483216"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm224100483216">1.3.1.1. Use-after-free errors</h4></div></div></div><div class="para">
+		</div><div class="section" id="idm229867096432"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm229867096432">1.3.1.1. Use-after-free errors</h4></div></div></div><div class="para">
 				After <code class="function">free</code>, the pointer is invalid. Further pointer dereferences are not allowed (and are usually detected by <span class="application"><strong>valgrind</strong></span>). Less obvious is that any <span class="emphasis"><em>use</em></span> of the old pointer value is not allowed, either. In particular, comparisons with any other pointer (or the null pointer) are undefined according to the C standard.
 			</div><div class="para">
 				The same rules apply to <code class="function">realloc</code> if the memory area cannot be enlarged in-place. For instance, the compiler may assume that a comparison between the old and new pointer will always return false, so it is impossible to detect movement this way.
-			</div></div><div class="section" id="idm224135910992"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm224135910992">1.3.1.2. Handling memory allocation errors</h4></div></div></div><div class="para">
+			</div></div><div class="section" id="idm229807215712"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm229807215712">1.3.1.2. Handling memory allocation errors</h4></div></div></div><div class="para">
 				Recovering from out-of-memory errors is often difficult or even impossible. In these cases, <code class="function">malloc</code> and other allocation functions return a null pointer. Dereferencing this pointer lead to a crash. Such dereferences can even be exploitable for code execution if the dereference is combined with an array subscript.
 			</div><div class="para">
-				In general, if you cannot check all allocation calls and handle failure, you should abort the program on allocation failure, and not rely on the null pointer dereference to terminate the process. See <a class="xref" href="chap-Defensive_Coding-Tasks-Serialization.html#sect-Defensive_Coding-Tasks-Serialization-Decoders">Section 9.1, “Recommendations for manually written decoders”</a> for related memory allocation concerns.
+				In general, if you cannot check all allocation calls and handle failure, you should abort the program on allocation failure, and not rely on the null pointer dereference to terminate the process. See <a class="xref" href="chap-Defensive_Coding-Tasks-Serialization.html#sect-Defensive_Coding-Tasks-Serialization-Decoders">Section 10.1, “Recommendations for manually written decoders”</a> for related memory allocation concerns.
 			</div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch01s02s03s07.html"><strong>Prev</strong>1.2.3.7. Other strn* and stpn* functions</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-C-Allocators-alloca.html"><strong>Next</strong>1.3.2. alloca and other forms of stack-based allo...</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Avoid.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Avoid.html
index 2a91e6e..da7c9a0 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Avoid.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Avoid.html
@@ -19,15 +19,15 @@
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					<code class="function">alloca</code> ⟶ <code class="function">malloc</code> and <code class="function">free</code> (see <a class="xref" href="sect-Defensive_Coding-C-Allocators-alloca.html">Section 1.3.2, “<code class="function">alloca</code> and other forms of stack-based allocation”</a>)
 				</div></li><li class="listitem"><div class="para">
-					<code class="function">putenv</code> ⟶ explicit <code class="varname">envp</code> argument in process creation (see <a class="xref" href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">Section 8.1.3, “Specifying the process environment”</a>)
+					<code class="function">putenv</code> ⟶ explicit <code class="varname">envp</code> argument in process creation (see <a class="xref" href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">Section 9.1.3, “Specifying the process environment”</a>)
 				</div></li><li class="listitem"><div class="para">
-					<code class="function">setenv</code> ⟶ explicit <code class="varname">envp</code> argument in process creation (see <a class="xref" href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">Section 8.1.3, “Specifying the process environment”</a>)
+					<code class="function">setenv</code> ⟶ explicit <code class="varname">envp</code> argument in process creation (see <a class="xref" href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">Section 9.1.3, “Specifying the process environment”</a>)
 				</div></li><li class="listitem"><div class="para">
 					<code class="function">strdupa</code> ⟶ <code class="function">strdup</code> and <code class="function">free</code> (see <a class="xref" href="sect-Defensive_Coding-C-Allocators-alloca.html">Section 1.3.2, “<code class="function">alloca</code> and other forms of stack-based allocation”</a>)
 				</div></li><li class="listitem"><div class="para">
 					<code class="function">strndupa</code> ⟶ <code class="function">strndup</code> and <code class="function">free</code> (see <a class="xref" href="sect-Defensive_Coding-C-Allocators-alloca.html">Section 1.3.2, “<code class="function">alloca</code> and other forms of stack-based allocation”</a>)
 				</div></li><li class="listitem"><div class="para">
-					<code class="function">system</code> ⟶ <code class="function">posix_spawn</code> or <code class="function">fork</code>/<code class="function">execve</code>/ (see <a class="xref" href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-execve">Section 8.1.2, “Bypassing the shell”</a>)
+					<code class="function">system</code> ⟶ <code class="function">posix_spawn</code> or <code class="function">fork</code>/<code class="function">execve</code>/ (see <a class="xref" href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-execve">Section 9.1.2, “Bypassing the shell”</a>)
 				</div></li><li class="listitem"><div class="para">
-					<code class="function">unsetenv</code> ⟶ explicit <code class="varname">envp</code> argument in process creation (see <a class="xref" href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">Section 8.1.3, “Specifying the process environment”</a>)
+					<code class="function">unsetenv</code> ⟶ explicit <code class="varname">envp</code> argument in process creation (see <a class="xref" href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">Section 9.1.3, “Specifying the process environment”</a>)
 				</div></li></ul></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-C-Libc.html"><strong>Prev</strong>1.2. The C standard library</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-C-String-Functions-Length.html"><strong>Next</strong>1.2.3. String Functions With Explicit Length Argu...</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-strncat.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-strncat.html
index 33b47c6..610f751 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-strncat.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-strncat.html
@@ -7,7 +7,7 @@
               </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-C-String-Functions-Length.html" title="1.2.3. String Functions With Explicit Length Arguments" /><link rel="prev" href="sect-Defensive_Coding-C-Libc-strncpy.html" title="1.2.3.3. strncpy" /><link rel="next" href="ch01s02s03s05.html" title="1.2.3.5. strlcpy and strlcat" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-C-Libc-st
 rncpy.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch01s02s03s05.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-C-Libc-strncat"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">1.2.3.4. <code class="function">strncat</code></h4></div></div></div><div class="para">
 				The length argument of the <code class="function">strncat</code> function specifies the maximum number of characters copied from the source buffer, excluding the terminating NUL character. This means that the required number of bytes in the destination buffer is the length of the original string, plus the length argument in the <code class="function">strncat</code> call, plus one. Consequently, this function is rarely appropriate for performing a length-checked string operation, with the notable exception of the <code class="function">strcpy</code> emulation described in <a class="xref" href="sect-Defensive_Coding-C-Libc-strncpy.html">Section 1.2.3.3, “<code class="function">strncpy</code>”</a>.
 			</div><div class="para">
-				To implement a length-checked string append, you can use an approach similar to <a class="xref" href="sect-Defensive_Coding-C-String-Functions-Length.html#ex-Defensive_Coding-C-String-Functions-snprintf-incremental">Example 1.4, “Repeatedly writing to a buffer using <code class="function">snprintf</code>”</a>:
+				To implement a length-checked string append, you can use an approach similar to <a class="xref" href="sect-Defensive_Coding-C-String-Functions-Length.html#ex-Defensive_Coding-C-String-Functions-snprintf-incremental">Example 1.5, “Repeatedly writing to a buffer using <code class="function">snprintf</code>”</a>:
 			</div><div class="informalexample"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_DataType">char</span> buf[<span class="perl_Float">10</span>];
 snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_String">"%s"</span>, prefix);
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-vsnprintf.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-vsnprintf.html
index ada57d8..b10dc4a 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-vsnprintf.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-vsnprintf.html
@@ -5,8 +5,8 @@
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
               </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-C-String-Functions-Length.html" title="1.2.3. String Functions With Explicit Length Arguments" /><link rel="prev" href="sect-Defensive_Coding-C-String-Functions-Length.html" title="1.2.3. String Functions With Explicit Length Arguments" /><link rel="next" href="sect-Defensive_Coding-C-Libc-strncpy.html" title="1.2.3.3. strncpy" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="prev
 ious"><a accesskey="p" href="sect-Defensive_Coding-C-String-Functions-Length.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-C-Libc-strncpy.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-C-Libc-vsnprintf"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">1.2.3.2. <code class="literal">vsnprintf</code> and format strings</h4></div></div></div><div class="para">
-				If you use <code class="function">vsnprintf</code> (or <code class="function">vasprintf</code> or even <code class="function">snprintf</code>) with a format string which is not a constant, but a function argument, it is important to annotate the function with a <code class="literal">format</code> function attribute, so that GCC can warn about misuse of your function (see <a class="xref" href="sect-Defensive_Coding-C-Libc-vsnprintf.html#ex-Defensive_Coding-C-String-Functions-format-Attribute">Example 1.5, “The <code class="literal">format</code> function attribute”</a>).
-			</div><div class="example" id="ex-Defensive_Coding-C-String-Functions-format-Attribute"><h6>Example 1.5. The <code class="literal">format</code> function attribute</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				If you use <code class="function">vsnprintf</code> (or <code class="function">vasprintf</code> or even <code class="function">snprintf</code>) with a format string which is not a constant, but a function argument, it is important to annotate the function with a <code class="literal">format</code> function attribute, so that GCC can warn about misuse of your function (see <a class="xref" href="sect-Defensive_Coding-C-Libc-vsnprintf.html#ex-Defensive_Coding-C-String-Functions-format-Attribute">Example 1.6, “The <code class="literal">format</code> function attribute”</a>).
+			</div><div class="example" id="ex-Defensive_Coding-C-String-Functions-format-Attribute"><h6>Example 1.6. The <code class="literal">format</code> function attribute</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_DataType">void</span> log_format(<span class="perl_DataType">const</span> <span class="perl_DataType">char</span> *format, ...) __attribute__((format(printf, <span class="perl_Float">1</span>, <span class="perl_Float">2</span>)));
 
 <span class="perl_DataType">void</span>
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Other.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Other.html
index 7e605c7..b6db05b 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Other.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-Other.html
@@ -11,7 +11,7 @@
 		</div><div class="para">
 			At the minimum, you should apply these attributes:
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
-					If you wrap function which accepts are GCC-recognized format string (for example, a <code class="function">printf</code>-style function used for logging), you should add a suitable <code class="literal">format</code> attribute, as in <a class="xref" href="sect-Defensive_Coding-C-Libc-vsnprintf.html#ex-Defensive_Coding-C-String-Functions-format-Attribute">Example 1.5, “The <code class="literal">format</code> function attribute”</a>.
+					If you wrap function which accepts are GCC-recognized format string (for example, a <code class="function">printf</code>-style function used for logging), you should add a suitable <code class="literal">format</code> attribute, as in <a class="xref" href="sect-Defensive_Coding-C-Libc-vsnprintf.html#ex-Defensive_Coding-C-String-Functions-format-Attribute">Example 1.6, “The <code class="literal">format</code> function attribute”</a>.
 				</div></li><li class="listitem"><div class="para">
 					If you wrap a function which carries a <code class="literal">warn_unused_result</code> attribute and you propagate its return value, your wrapper should be declared with <code class="literal">warn_unused_result</code> as well.
 				</div></li><li class="listitem"><div class="para">
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-String-Functions-Length.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-String-Functions-Length.html
index b4691de..9beb6e9 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-String-Functions-Length.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-C-String-Functions-Length.html
@@ -14,8 +14,8 @@ snprintf(fraction, <span class="perl_Keyword">sizeof</span>(fraction), <span cla
 </pre></div><div class="para">
 				The second argument to the <code class="function">snprintf</code> call should always be the size of the buffer in the first argument (which should be a character array). Elaborate pointer and length arithmetic can introduce errors and nullify the security benefits of <code class="function">snprintf</code>.
 			</div><div class="para">
-				In particular, <code class="literal">snprintf</code> is not well-suited to constructing a string iteratively, by appending to an existing buffer. <code class="function">snprintf</code> returns one of two values, <code class="literal">-1</code> on errors, or the number of characters which <span class="emphasis"><em>would have been written to the buffer if the buffer were large enough</em></span>. This means that adding the result of <code class="function">snprintf</code> to the buffer pointer to skip over the characters just written is incorrect and risky. However, as long as the length argument is not zero, the buffer will remain NUL-terminated. <a class="xref" href="sect-Defensive_Coding-C-String-Functions-Length.html#ex-Defensive_Coding-C-String-Functions-snprintf-incremental">Example 1.4, “Repeatedly writing to a buffer using <code class="function">snprintf</code>”</a> works because <code class="literal">end -current &gt; 0</code> is a loop invariant. After the l
 oop, the result string is in the <code class="varname">buf</code> variable.
-			</div><div class="example" id="ex-Defensive_Coding-C-String-Functions-snprintf-incremental"><h6>Example 1.4. Repeatedly writing to a buffer using <code class="function">snprintf</code></h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				In particular, <code class="literal">snprintf</code> is not well-suited to constructing a string iteratively, by appending to an existing buffer. <code class="function">snprintf</code> returns one of two values, <code class="literal">-1</code> on errors, or the number of characters which <span class="emphasis"><em>would have been written to the buffer if the buffer were large enough</em></span>. This means that adding the result of <code class="function">snprintf</code> to the buffer pointer to skip over the characters just written is incorrect and risky. However, as long as the length argument is not zero, the buffer will remain NUL-terminated. <a class="xref" href="sect-Defensive_Coding-C-String-Functions-Length.html#ex-Defensive_Coding-C-String-Functions-snprintf-incremental">Example 1.5, “Repeatedly writing to a buffer using <code class="function">snprintf</code>”</a> works because <code class="literal">end -current &gt; 0</code> is a loop invariant. After the l
 oop, the result string is in the <code class="varname">buf</code> variable.
+			</div><div class="example" id="ex-Defensive_Coding-C-String-Functions-snprintf-incremental"><h6>Example 1.5. Repeatedly writing to a buffer using <code class="function">snprintf</code></h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_DataType">char</span> buf[<span class="perl_Float">512</span>];
 <span class="perl_DataType">char</span> *current = buf;
 <span class="perl_DataType">const</span> <span class="perl_DataType">char</span> *<span class="perl_DataType">const</span> end = buf + <span class="perl_Keyword">sizeof</span>(buf);
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-CXX-Std.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-CXX-Std.html
index 303d876..6c1aa56 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-CXX-Std.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-CXX-Std.html
@@ -4,10 +4,10 @@
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-CXX.html" title="Chapter 2. The C++ Programming Language" /><link rel="prev" href="chap-Defensive_Coding-CXX.html" title="Chapter 2. The C++ Programming Language" /><link rel="next" href="chap-Defensive_Coding-Python.html" title="Chapter 3. The Python Programming Language" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-CX
 X.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Python.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-CXX-Std" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">2.2. The C++ standard library</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-CXX.html" title="Chapter 2. The C++ Programming Language" /><link rel="prev" href="chap-Defensive_Coding-CXX.html" title="Chapter 2. The C++ Programming Language" /><link rel="next" href="chap-Defensive_Coding-Java.html" title="Chapter 3. The Java Programming Language" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-CXX.ht
 ml"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Java.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-CXX-Std" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">2.2. The C++ standard library</h2></div></div></div><div class="para">
 		The C++ standard library includes most of its C counterpart by reference, see <a class="xref" href="sect-Defensive_Coding-C-Libc.html">Section 1.2, “The C standard library”</a>.
-	</div><div class="section" id="idm224089303984"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224089303984">2.2.1. Containers and <code class="literal">operator[]</code></h3></div></div></div><div class="para">
+	</div><div class="section" id="idm229823849296"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229823849296">2.2.1. Containers and <code class="literal">operator[]</code></h3></div></div></div><div class="para">
 			Many containers similar to <code class="literal">std::vector</code> provide both <code class="literal">operator[](size_type)</code> and a member function <code class="literal">at(size_type)</code>. This applies to <code class="literal">std::vector</code> itself, <code class="literal">std::array</code>, <code class="literal">std::string</code> and other instances of <code class="literal">std::basic_string</code>.
 		</div><div class="para">
 			<code class="literal">operator[](size_type)</code> is not required by the standard to perform bounds checking (and the implementation in GCC does not). In contrast, <code class="literal">at(size_type)</code> must perform such a check. Therefore, in code which is not performance-critical, you should prefer <code class="literal">at(size_type)</code> over <code class="literal">operator[](size_type)</code>, even though it is slightly more verbose.
-		</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-CXX.html"><strong>Prev</strong>Chapter 2. The C++ Programming Language</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Python.html"><strong>Next</strong>Chapter 3. The Python Programming Language</a></li></ul></body></html>
\ No newline at end of file
+		</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-CXX.html"><strong>Prev</strong>Chapter 2. The C++ Programming Language</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Java.html"><strong>Next</strong>Chapter 3. The Java Programming Language</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-JNI.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-JNI.html
new file mode 100644
index 0000000..462cefd
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-JNI.html
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.2.2. Java Native Interface (JNI)</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+              addID('Fedora_Security_Team');
+              
+              addID('Fedora_Security_Team..books');
+	      addID('Fedora_Security_Team..Defensive_Coding');
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Java-LowLevel.html" title="3.2. Low-level features of the virtual machine" /><link rel="prev" href="sect-Defensive_Coding-Java-LowLevel.html" title="3.2. Low-level features of the virtual machine" /><link rel="next" href="sect-Defensive_Coding-Java-MiscUnsafe.html" title="3.2.3. sun.misc.Unsafe" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect
 -Defensive_Coding-Java-LowLevel.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Java-MiscUnsafe.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Java-JNI"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.2.2. Java Native Interface (JNI)</h3></div></div></div><div class="para">
+			The Java Native Interface allows calling from Java code functions specifically written for this purpose, usually in C or C++.
+		</div><div class="para">
+			The transition between the Java world and the C world is not fully type-checked, and the C code can easily break the Java virtual machine semantics. Therefore, extra care is needed when using this functionality.
+		</div><div class="para">
+			To provide a moderate amount of type safety, it is recommended to recreate the class-specific header file using <span class="application"><strong>javah</strong></span> during the build process, include it in the implementation, and use the <code class="option">-Wmissing-declarations</code> option.
+		</div><div class="para">
+			Ideally, the required data is directly passed to static JNI methods and returned from them, and the code and the C side does not have to deal with accessing Java fields (or even methods).
+		</div><div class="para">
+			When using <code class="function">GetPrimitiveArrayCritical</code> or <code class="function">GetStringCritical</code>, make sure that you only perform very little processing between the get and release operations. Do not access the file system or the network, and not perform locking, because that might introduce blocking. When processing large strings or arrays, consider splitting the computation into multiple sub-chunks, so that you do not prevent the JVM from reaching a safepoint for extended periods of time.
+		</div><div class="para">
+			If necessary, you can use the Java <code class="literal">long</code> type to store a C pointer in a field of a Java class. On the C side, when casting between the <code class="literal">jlong</code> value and the pointer on the C side,
+		</div><div class="para">
+			You should not try to perform pointer arithmetic on the Java side (that is, you should treat pointer-carrying <code class="literal">long</code> values as opaque). When passing a slice of an array to the native code, follow the Java convention and pass it as the base array, the integer offset of the start of the slice, and the integer length of the slice. On the native side, check the offset/length combination against the actual array length, and use the offset to compute the pointer to the beginning of the array.
+		</div><div class="example" id="ex-Defensive_Coding-Java-JNI-Pointers"><h6>Example 3.4. Array length checking in JNI code</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+JNIEXPORT jint JNICALL Java_sum
+  (JNIEnv *jEnv, jclass clazz, jbyteArray buffer, jint offset, jint length)
+{
+  assert(<span class="perl_Keyword">sizeof</span>(jint) == <span class="perl_Keyword">sizeof</span>(<span class="perl_DataType">unsigned</span>));
+  <span class="perl_Keyword">if</span> (offset &lt; 0 || length &lt; 0) {
+    (*jEnv)-&gt;ThrowNew(jEnv, arrayIndexOutOfBoundsExceptionClass,
+		      <span class="perl_String">"negative offset/length"</span>);
+    <span class="perl_Keyword">return</span> 0;
+  }
+  <span class="perl_DataType">unsigned</span> uoffset = offset;
+  <span class="perl_DataType">unsigned</span> ulength = length;
+  <span class="perl_Comment">// This cannot overflow because of the check above.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>  <span class="perl_DataType">unsigned</span> totallength = uoffset + ulength;
+  <span class="perl_DataType">unsigned</span> actuallength = (*jEnv)-&gt;GetArrayLength(jEnv, buffer);
+  <span class="perl_Keyword">if</span> (totallength &gt; actuallength) {
+    (*jEnv)-&gt;ThrowNew(jEnv, arrayIndexOutOfBoundsExceptionClass,
+		      <span class="perl_String">"offset + length too large"</span>);
+    <span class="perl_Keyword">return</span> 0;
+  }
+  <span class="perl_DataType">unsigned</span> <span class="perl_DataType">char</span> *ptr = (*jEnv)-&gt;GetPrimitiveArrayCritical(jEnv, buffer, 0);
+  <span class="perl_Keyword">if</span> (ptr == NULL) {
+    <span class="perl_Keyword">return</span> 0;
+  }
+  <span class="perl_DataType">unsigned</span> <span class="perl_DataType">long</span> <span class="perl_DataType">long</span> sum = 0;
+  <span class="perl_Keyword">for</span> (<span class="perl_DataType">unsigned</span> <span class="perl_DataType">char</span> *p = ptr + uoffset, *end = p + ulength; p != end; ++p) {
+    sum += *p;
+  }
+  (*jEnv)-&gt;ReleasePrimitiveArrayCritical(jEnv, buffer, ptr, 0);
+  <span class="perl_Keyword">return</span> sum;
+}
+</pre></div></div><br class="example-break" /><div class="para">
+			In any case, classes referring to native resources must be declared <code class="literal">final</code>, and must not be serializeable or cloneable. Initialization and mutation of the state used by the native side must be controlled carefully. Otherwise, it might be possible to create an object with inconsistent native state which results in a crash (or worse) when used (or perhaps only finalized) later. If you need both Java inheritance and native resources, you should consider moving the native state to a separate class, and only keep a reference to objects of that class. This way, cloning and serialization issues can be avoided in most cases.
+		</div><div class="para">
+			If there are native resources associated with an object, the class should have an explicit resource deallocation method (<a class="xref" href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Resources">Section 3.1.2, “Resource management”</a>) and a finalizer (<a class="xref" href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Finalizers">Section 3.1.3, “Finalizers”</a>) as a last resort. The need for finalization means that a minimum amount of synchronization is needed. Code on the native side should check that the object is not in a closed/freed state.
+		</div><div class="para">
+			Many JNI functions create local references. By default, these persist until the JNI-implemented method returns. If you create many such references (e.g., in a loop), you may have to free them using <code class="function">DeleteLocalRef</code>, or start using <code class="function">PushLocalFrame</code> and <code class="function">PopLocalFrame</code>. Global references must be deallocated with <code class="function">DeleteGlobalRef</code>, otherwise there will be a memory leak, just as with <code class="function">malloc</code> and <code class="function">free</code>.
+		</div><div class="para">
+			When throwing exceptions using <code class="function">Throw</code> or <code class="function">ThrowNew</code>, be aware that these functions return regularly. You have to return control manually to the JVM.
+		</div><div class="para">
+			Technically, the <code class="literal">JNIEnv</code> pointer is not necessarily constant during the lifetime of your JNI module. Storing it in a global variable is therefore incorrect. Particularly if you are dealing with callbacks, you may have to store the pointer in a thread-local variable (defined with <code class="literal">__thread</code>). It is, however, best to avoid the complexity of calling back into Java code.
+		</div><div class="para">
+			Keep in mind that C/C++ and Java are different languages, despite very similar syntax for expressions. The Java memory model is much more strict than the C or C++ memory models, and native code needs more synchronization, usually using JVM facilities or POSIX threads mutexes. Integer overflow in Java is defined, but in C/C++ it is not (for the <code class="literal">jint</code> and <code class="literal">jlong</code> types).
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Java-LowLevel.html"><strong>Prev</strong>3.2. Low-level features of the virtual machine</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Java-MiscUnsafe.html"><strong>Next</strong>3.2.3. sun.misc.Unsafe</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-LowLevel.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-LowLevel.html
new file mode 100644
index 0000000..de88630
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-LowLevel.html
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.2. Low-level features of the virtual machine</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+              addID('Fedora_Security_Team');
+              
+              addID('Fedora_Security_Team..books');
+	      addID('Fedora_Security_Team..Defensive_Coding');
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Java.html" title="Chapter 3. The Java Programming Language" /><link rel="prev" href="chap-Defensive_Coding-Java.html" title="Chapter 3. The Java Programming Language" /><link rel="next" href="sect-Defensive_Coding-Java-JNI.html" title="3.2.2. Java Native Interface (JNI)" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Java.
 html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Java-JNI.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-Java-LowLevel" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">3.2. Low-level features of the virtual machine</h2></div></div></div><div class="section" id="sect-Defensive_Coding-Java-Reflection"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.2.1. <code class="literal">Reflection and private parts</code></h3></div></div></div><div class="para">
+			The <code class="function">setAccessible(boolean)</code> method of the <code class="literal">java.lang.reflect.AccessibleObject</code> class allows a program to disable language-defined access rules for specific constructors, methods, or fields. Once the access checks are disabled, any code can use the <code class="literal">java.lang.reflect.Constructor</code>, <code class="literal">java.lang.reflect.Method</code>, or <code class="literal">java.lang.reflect.Field</code> object to access the underlying Java entity, without further permission checks. This breaks encapsulation and can undermine the stability of the virtual machine. (In contrast, without using the <code class="function">setAccessible(boolean)</code> method, this should not happen because all the language-defined checks still apply.)
+		</div><div class="para">
+			This feature should be avoided if possible.
+		</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Java.html"><strong>Prev</strong>Chapter 3. The Java Programming Language</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Java-JNI.html"><strong>Next</strong>3.2.2. Java Native Interface (JNI)</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-MiscUnsafe.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-MiscUnsafe.html
new file mode 100644
index 0000000..76af674
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-MiscUnsafe.html
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.2.3. sun.misc.Unsafe</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+              addID('Fedora_Security_Team');
+              
+              addID('Fedora_Security_Team..books');
+	      addID('Fedora_Security_Team..Defensive_Coding');
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Java-LowLevel.html" title="3.2. Low-level features of the virtual machine" /><link rel="prev" href="sect-Defensive_Coding-Java-JNI.html" title="3.2.2. Java Native Interface (JNI)" /><link rel="next" href="sect-Defensive_Coding-Java-SecurityManager.html" title="3.3. Interacting with the security manager" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" hr
 ef="sect-Defensive_Coding-Java-JNI.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Java-SecurityManager.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Java-MiscUnsafe"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.2.3. <code class="literal">sun.misc.Unsafe</code></h3></div></div></div><div class="para">
+			The <code class="literal">sun.misc.Unsafe</code> class is unportable and contains many functions explicitly designed to break Java memory safety (for performance and debugging). If possible, avoid using this class.
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Java-JNI.html"><strong>Prev</strong>3.2.2. Java Native Interface (JNI)</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Java-SecurityManager.html"><strong>Next</strong>3.3. Interacting with the security manager</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Activate.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Activate.html
new file mode 100644
index 0000000..5ef8a94
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Activate.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.3.2. Activating the security manager</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+              addID('Fedora_Security_Team');
+              
+              addID('Fedora_Security_Team..books');
+	      addID('Fedora_Security_Team..Defensive_Coding');
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Java-SecurityManager.html" title="3.3. Interacting with the security manager" /><link rel="prev" href="sect-Defensive_Coding-Java-SecurityManager.html" title="3.3. Interacting with the security manager" /><link rel="next" href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html" title="3.3.3. Reducing trust in code" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previo
 us"><a accesskey="p" href="sect-Defensive_Coding-Java-SecurityManager.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Java-SecurityManager-Activate"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.3.2. Activating the security manager</h3></div></div></div><div class="para">
+			The usual command to launch a Java application, <code class="command">java</code>, does not activate the security manager. Therefore, the virtual machine does not enforce any sandboxing restrictions, even if explicitly requested by the code (for example, as described in <a class="xref" href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html">Section 3.3.3, “Reducing trust in code”</a>).
+		</div><div class="para">
+			The <code class="option">-Djava.security.manager</code> option activates the security manager, with the fairly restrictive default policy. With a very permissive policy, most Java code will run unchanged. Assuming the policy in <a class="xref" href="sect-Defensive_Coding-Java-SecurityManager-Activate.html#ex-Defensive_Coding-Java-SecurityManager-GrantAll">Example 3.5, “Most permissve OpenJDK policy file”</a> has been saved in a file <code class="filename">grant-all.policy</code>, this policy can be activated using the option <code class="option">-Djava.security.policy=grant-all.policy</code> (in addition to the <code class="option">-Djava.security.manager</code> option).
+		</div><div class="example" id="ex-Defensive_Coding-Java-SecurityManager-GrantAll"><h6>Example 3.5. Most permissve OpenJDK policy file</h6><div class="example-contents"><pre class="programlisting">
+grant {
+      permission java.security.AllPermission;
+};
+</pre></div></div><br class="example-break" /><div class="para">
+			With this most permissive policy, the security manager is still active, and explicit requests to drop privileges will be honored.
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Java-SecurityManager.html"><strong>Prev</strong>3.3. Interacting with the security manager</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html"><strong>Next</strong>3.3.3. Reducing trust in code</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Privileged.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Privileged.html
new file mode 100644
index 0000000..3cc63a5
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Privileged.html
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.3.4. Re-gaining privileges</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+              addID('Fedora_Security_Team');
+              
+              addID('Fedora_Security_Team..books');
+	      addID('Fedora_Security_Team..Defensive_Coding');
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Java-SecurityManager.html" title="3.3. Interacting with the security manager" /><link rel="prev" href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html" title="3.3.3. Reducing trust in code" /><link rel="next" href="chap-Defensive_Coding-Python.html" title="Chapter 4. The Python Programming Language" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a access
 key="p" href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Python.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Java-SecurityManager-Privileged"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.3.4. Re-gaining privileges</h3></div></div></div><div class="para">
+			Ordinarily, when trusted code is called from untrusted code, it loses its privileges (because of the untrusted stack frames visible to stack inspection). The <code class="function">java.security.AccessController.doPrivileged()</code> family of methods provides a controlled backdoor from untrusted to trusted code.
+		</div><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
+				By design, this feature can undermine the Java security model and the sandbox. It has to be used very carefully. Most sandbox vulnerabilities can be traced back to its misuse.
+			</div></div></div><div class="para">
+			In essence, the <code class="function">doPrivileged()</code> methods cause the stack inspection to end at their call site. Untrusted code further down the call stack becomes invisible to security checks.
+		</div><div class="para">
+			The following operations are common and safe to perform with elevated privileges.
+		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+					Reading custom system properties with fixed names, especially if the value is not propagated to untrusted code. (File system paths including installation paths, host names and user names are sometimes considered private information and need to be protected.)
+				</div></li><li class="listitem"><div class="para">
+					Reading from the file system at fixed paths, either determined at compile time or by a system property. Again, leaking the file contents to the caller can be problematic.
+				</div></li><li class="listitem"><div class="para">
+					Accessing network resources under a fixed address, name or URL, derived from a system property or configuration file, information leaks not withstanding.
+				</div></li></ul></div><div class="para">
+			<a class="xref" href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html#ex-Defensive_Coding-Java-SecurityManager-Privileged">Example 3.7, “Using the security manager to run code with increased privileges”</a> shows how to request additional privileges.
+		</div><div class="example" id="ex-Defensive_Coding-Java-SecurityManager-Privileged"><h6>Example 3.7. Using the security manager to run code with increased privileges</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// This is expected to fail.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span class="perl_Keyword">try</span> {
+    System.<span class="perl_Function">out</span>.<span class="perl_Function">println</span>(System.<span class="perl_Function">getProperty</span>(<span class="perl_String">"user.home"</span>));
+} <span class="perl_Keyword">catch</span> (SecurityException e) {
+    e.<span class="perl_Function">printStackTrace</span>(System.<span class="perl_Function">err</span>);
+}
+AccessController.<span class="perl_Function">doPrivileged</span>(<span class="perl_Keyword">new</span> PrivilegedAction&lt;<span class="perl_DataType">Void</span>&gt;() {
+        <span class="perl_Keyword">public</span> <span class="perl_DataType">Void</span> <span class="perl_Function">run</span>() {
+            <span class="perl_Comment">// This should work.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>            System.<span class="perl_Function">out</span>.<span class="perl_Function">println</span>(System.<span class="perl_Function">getProperty</span>(<span class="perl_String">"user.home"</span>));
+            <span class="perl_Keyword">return</span> <span class="perl_Keyword">null</span>;
+        }
+    });
+</pre></div></div><br class="example-break" /><div class="para">
+			Obviously, this only works if the class containing the call to <code class="function">doPrivileged()</code> is marked trusted (usually because it is loaded from a trusted class loader).
+		</div><div class="para">
+			When writing code that runs with elevated privileges, make sure that you follow the rules below.
+		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+					Make the privileged code as small as possible. Perform as many computations as possible before and after the privileged code section, even if it means that you have to define a new class to pass the data around.
+				</div></li><li class="listitem"><div class="para">
+					Make sure that you either control the inputs to the privileged code, or that the inputs are harmless and cannot affect security properties of the privileged code.
+				</div></li><li class="listitem"><div class="para">
+					Data that is returned from or written by the privileged code must either be restricted (that is, it cannot be accessed by untrusted code), or must be harmless. Otherwise, privacy leaks or information disclosures which affect security properties can be the result.
+				</div></li></ul></div><div class="para">
+			If the code calls back into untrusted code at a later stage (or performs other actions under control from the untrusted caller), you must obtain the original security context and restore it before performing the callback, as in <a class="xref" href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html#ex-Defensive_Coding-Java-SecurityManager-Callback">Example 3.8, “Restoring privileges when invoking callbacks”</a>. (In this example, it would be much better to move the callback invocation out of the privileged code section, of course.)
+		</div><div class="example" id="ex-Defensive_Coding-Java-SecurityManager-Callback"><h6>Example 3.8. Restoring privileges when invoking callbacks</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Keyword">interface</span> Callback&lt;T&gt; {
+	T <span class="perl_Function">call</span>(<span class="perl_DataType">boolean</span> flag);
+}
+
+<span class="perl_Keyword">class</span> CallbackInvoker&lt;T&gt; {
+	<span class="perl_Keyword">private</span> <span class="perl_DataType">final</span> AccessControlContext context;
+	Callback&lt;T&gt; callback;
+
+	<span class="perl_Function">CallbackInvoker</span>(Callback&lt;T&gt; callback) {
+	    context = AccessController.<span class="perl_Function">getContext</span>();
+	    <span class="perl_Keyword">this</span>.<span class="perl_Function">callback</span> = callback;
+	}
+
+	<span class="perl_Keyword">public</span> T <span class="perl_Function">invoke</span>() {
+	    <span class="perl_Comment">// Obtain increased privileges.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>	    <span class="perl_Keyword">return</span> AccessController.<span class="perl_Function">doPrivileged</span>(<span class="perl_Keyword">new</span> PrivilegedAction&lt;T&gt;() {
+		    @Override
+		    <span class="perl_Keyword">public</span> T <span class="perl_Function">run</span>() {
+			<span class="perl_Comment">// This operation would fail without</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>			<span class="perl_Comment">// additional privileges.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>			<span class="perl_DataType">final</span> <span class="perl_DataType">boolean</span> flag = <span class="perl_DataType">Boolean</span>.<span class="perl_Function">getBoolean</span>(<span class="perl_String">"some.property"</span>);
+
+			<span class="perl_Comment">// Restore the original privileges.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>			<span class="perl_Keyword">return</span> AccessController.<span class="perl_Function">doPrivileged</span>(
+                        <span class="perl_Keyword">new</span> PrivilegedAction&lt;T&gt;() {
+				@Override
+				<span class="perl_Keyword">public</span> T <span class="perl_Function">run</span>() {
+				    <span class="perl_Keyword">return</span> callback.<span class="perl_Function">call</span>(flag);
+				}
+			    }, context);
+		    }
+		});
+	}
+}
+</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html"><strong>Prev</strong>3.3.3. Reducing trust in code</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Python.html"><strong>Next</strong>Chapter 4. The Python Programming Language</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html
new file mode 100644
index 0000000..8bf95c4
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.3.3. Reducing trust in code</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+              addID('Fedora_Security_Team');
+              
+              addID('Fedora_Security_Team..books');
+	      addID('Fedora_Security_Team..Defensive_Coding');
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Java-SecurityManager.html" title="3.3. Interacting with the security manager" /><link rel="prev" href="sect-Defensive_Coding-Java-SecurityManager-Activate.html" title="3.3.2. Activating the security manager" /><link rel="next" href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html" title="3.3.4. Re-gaining privileges" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="prev
 ious"><a accesskey="p" href="sect-Defensive_Coding-Java-SecurityManager-Activate.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Java-SecurityManager-Unprivileged"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.3.3. Reducing trust in code</h3></div></div></div><div class="para">
+			<a class="xref" href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html#ex-Defensive_Coding-Java-SecurityManager-Unprivileged">Example 3.6, “Using the security manager to run code with reduced privileges”</a> shows how to run a piece code of with reduced privileges.
+		</div><div class="example" id="ex-Defensive_Coding-Java-SecurityManager-Unprivileged"><h6>Example 3.6. Using the security manager to run code with reduced privileges</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+Permissions permissions = <span class="perl_Keyword">new</span> Permissions();
+        ProtectionDomain protectionDomain =
+    <span class="perl_Keyword">new</span> ProtectionDomain(<span class="perl_Keyword">null</span>, permissions);
+        AccessControlContext context = <span class="perl_Keyword">new</span> AccessControlContext(
+            <span class="perl_Keyword">new</span> ProtectionDomain[] { protectionDomain });
+
+<span class="perl_Comment">// This is expected to succeed.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span class="perl_Keyword">try</span> (FileInputStream in = <span class="perl_Keyword">new</span> FileInputStream(path)) {
+    System.<span class="perl_Function">out.format(</span><span class="perl_String">"FileInputStream: </span><span class="perl_Char">%s%n</span><span class="perl_String">", in)</span>;
+}
+
+AccessController.<span class="perl_Function">doPrivileged</span>(<span class="perl_Keyword">new</span> PrivilegedExceptionAction&lt;<span class="perl_DataType">Void</span>&gt;() {
+	@Override
+        <span class="perl_Keyword">public</span> <span class="perl_DataType">Void</span> <span class="perl_Function">run</span>() <span class="perl_Keyword">throws</span> Exception {
+	    <span class="perl_Comment">// This code runs with reduced privileges and is</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>	    <span class="perl_Comment">// expected to fail.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>	    <span class="perl_Keyword">try</span> (FileInputStream in = <span class="perl_Keyword">new</span> FileInputStream(path)) {
+		System.<span class="perl_Function">out.format(</span><span class="perl_String">"FileInputStream: </span><span class="perl_Char">%s%n</span><span class="perl_String">", in)</span>;
+	    }
+	    <span class="perl_Keyword">return</span> <span class="perl_Keyword">null</span>;
+	}
+    }, context);
+</pre></div></div><br class="example-break" /><div class="para">
+			The example above does not add any additional permissions to the <code class="literal">permissions</code> object. If such permissions are necessary, code like the following (which grants read permission on all files in the current directory) can be used:
+		</div><div class="informalexample"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+permissions.<span class="perl_Function">add</span>(<span class="perl_Keyword">new</span> FilePermission(
+            System.<span class="perl_Function">getProperty</span>(<span class="perl_String">"user.dir"</span>) + <span class="perl_String">"/-"</span>, <span class="perl_String">"read"</span>));
+</pre></div><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
+				Calls to the <code class="function">java.security.AccessController.doPrivileged()</code> methods do not enforce any additional restriction if no security manager has been set. Except for a few special exceptions, the restrictions no longer apply if the <code class="function">doPrivileged()</code> has returned, even to objects created by the code which ran with reduced privileges. (This applies to object finalization in particular.)
+			</div><div class="para">
+				The example code above does not prevent the called code from calling the <code class="function">java.security.AccessController.doPrivileged()</code> methods. This mechanism should be considered an additional safety net, but it still can be used to prevent unexpected behavior of trusted code. As long as the executed code is not dynamic and came with the original application or library, the sandbox is fairly effective.
+			</div><div class="para">
+				The <code class="literal">context</code> argument in <a class="xref" href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html#ex-Defensive_Coding-Java-SecurityManager-Unprivileged">Example 3.6, “Using the security manager to run code with reduced privileges”</a> is extremely important—otherwise, this code would increase privileges instead of reducing them.
+			</div></div></div><div class="para">
+			For activating the security manager, see <a class="xref" href="sect-Defensive_Coding-Java-SecurityManager-Activate.html">Section 3.3.2, “Activating the security manager”</a>. Unfortunately, this affects the virtual machine as a whole, so it is not possible to do this from a library.
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Java-SecurityManager-Activate.html"><strong>Prev</strong>3.3.2. Activating the security manager</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html"><strong>Next</strong>3.3.4. Re-gaining privileges</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager.html
new file mode 100644
index 0000000..a919258
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.3. Interacting with the security manager</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+              addID('Fedora_Security_Team');
+              
+              addID('Fedora_Security_Team..books');
+	      addID('Fedora_Security_Team..Defensive_Coding');
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Java.html" title="Chapter 3. The Java Programming Language" /><link rel="prev" href="sect-Defensive_Coding-Java-MiscUnsafe.html" title="3.2.3. sun.misc.Unsafe" /><link rel="next" href="sect-Defensive_Coding-Java-SecurityManager-Activate.html" title="3.3.2. Activating the security manager" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defen
 sive_Coding-Java-MiscUnsafe.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Java-SecurityManager-Activate.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="sect-Defensive_Coding-Java-SecurityManager" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">3.3. Interacting with the security manager</h2></div></div></div><div class="para">
+		The Java platform is largely implemented in the Java language itself. Therefore, within the same JVM, code runs which is part of the Java installation and which is trusted, but there might also be code which comes from untrusted sources and is restricted by the Java sandbox (to varying degrees). The <span class="emphasis"><em>security manager</em></span> draws a line between fully trusted, partially trusted and untrusted code.
+	</div><div class="para">
+		The type safety and accessibility checks provided by the Java language and JVM would be sufficient to implement a sandbox. However, only some Java APIs employ such a capabilities-based approach. (The Java SE library contains many public classes with public constructors which can break any security policy, such as <code class="literal">java.io.FileOutputStream</code>.) Instead, critical functionality is protected by <span class="emphasis"><em>stack inspection</em></span>: At a security check, the stack is walked from top (most-nested) to bottom. The security check fails if a stack frame for a method is encountered whose class lacks the permission which the security check requires.
+	</div><div class="para">
+		This simple approach would not allow untrusted code (which lacks certain permissions) to call into trusted code while the latter retains trust. Such trust transitions are desirable because they enable Java as an implementation language for most parts of the Java platform, including security-relevant code. Therefore, there is a mechanism to mark certain stack frames as trusted (<a class="xref" href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html">Section 3.3.4, “Re-gaining privileges”</a>).
+	</div><div class="para">
+		In theory, it is possible to run a Java virtual machine with a security manager that acts very differently from this approach, but a lot of code expects behavior very close to the platform default (including many classes which are part of the OpenJDK implementation).
+	</div><div class="section" id="sect-Defensive_Coding-Java-SecurityManager-Compatible"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">3.3.1. Security manager compatibility</h3></div></div></div><div class="para">
+			A lot of code can run without any additional permissions at all, with little changes. The following guidelines should help to increase compatibility with a restrictive security manager.
+		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
+					When retrieving system properties using <code class="function">System.getProperty(String)</code> or similar methods, catch <code class="literal">SecurityException</code> exceptions and treat the property as unset.
+				</div></li><li class="listitem"><div class="para">
+					Avoid unnecessary file system or network access.
+				</div></li><li class="listitem"><div class="para">
+					Avoid explicit class loading. Access to a suitable class loader might not be available when executing as untrusted code.
+				</div></li></ul></div><div class="para">
+			If the functionality you are implementing absolutely requires privileged access and this functionality has to be used from untrusted code (hopefully in a restricted and secure manner), see <a class="xref" href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html">Section 3.3.4, “Re-gaining privileges”</a>.
+		</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Java-MiscUnsafe.html"><strong>Prev</strong>3.2.3. sun.misc.Unsafe</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Java-SecurityManager-Activate.html"><strong>Next</strong>3.3.2. Activating the security manager</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-GNUTLS.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-GNUTLS.html
index 4ac41fb..d856be3 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-GNUTLS.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-GNUTLS.html
@@ -1,20 +1,20 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>12.2.2. Implementation TLS Clients With GNUTLS</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>13.2.2. Implementation TLS Clients With GNUTLS</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-TLS-Client.html" title="12.2. TLS Clients" /><link rel="prev" href="sect-Defensive_Coding-TLS-Client.html" title="12.2. TLS Clients" /><link rel="next" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html" title="12.2.3. Implementing TLS Clients With OpenJDK" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-TLS-Client.html"><st
 rong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-TLS-Client-GNUTLS"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">12.2.2. Implementation TLS Clients With GNUTLS</h3></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-TLS-Client.html" title="13.2. TLS Clients" /><link rel="prev" href="sect-Defensive_Coding-TLS-Client.html" title="13.2. TLS Clients" /><link rel="next" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html" title="13.2.3. Implementing TLS Clients With OpenJDK" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-TLS-Client.html"><st
 rong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-TLS-Client-GNUTLS"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">13.2.2. Implementation TLS Clients With GNUTLS</h3></div></div></div><div class="para">
 				This section describes how to implement a TLS client with full certificate validation (but without certificate revocation checking). Note that the error handling in is only exploratory and needs to be replaced before production use.
 			</div><div class="para">
 				The GNUTLS library needs explicit initialization:
 			</div><div class="informalexample" id="ex-Defensive_Coding-TLS-GNUTLS-Init"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 gnutls_global_init();
 </pre></div><div class="para">
-				Failing to do so can result in obscure failures in Base64 decoding. See <a class="xref" href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">Section 12.1.2, “GNUTLS Pitfalls”</a> for additional aspects of initialization.
+				Failing to do so can result in obscure failures in Base64 decoding. See <a class="xref" href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">Section 13.1.2, “GNUTLS Pitfalls”</a> for additional aspects of initialization.
 			</div><div class="para">
-				Before setting up TLS connections, a credentials objects has to be allocated and initialized with the set of trusted root CAs (<a class="xref" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-Client-GNUTLS-Credentials">Example 12.9, “Initializing a GNUTLS credentials structure”</a>).
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-GNUTLS-Credentials"><h6>Example 12.9. Initializing a GNUTLS credentials structure</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				Before setting up TLS connections, a credentials objects has to be allocated and initialized with the set of trusted root CAs (<a class="xref" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-Client-GNUTLS-Credentials">Example 13.9, “Initializing a GNUTLS credentials structure”</a>).
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-GNUTLS-Credentials"><h6>Example 13.9. Initializing a GNUTLS credentials structure</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Load the trusted CA certificates.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>gnutls_certificate_credentials_t cred = NULL;
 <span class="perl_DataType">int</span> ret = gnutls_certificate_allocate_credentials (&amp;cred);
@@ -45,8 +45,8 @@ gnutls_certificate_free_credentials(cred);
 </pre></div><div class="para">
 				During its lifetime, the credentials object can be used to initialize TLS session objects from multiple threads, provided that it is not changed.
 			</div><div class="para">
-				Once the TCP connection has been established, the Nagle algorithm should be disabled (see <a class="xref" href="chap-Defensive_Coding-TLS.html#ex-Defensive_Coding-TLS-Nagle">Example 12.1, “Deactivating the TCP Nagle algorithm”</a>). After that, the socket can be associated with a new GNUTLS session object. The previously allocated credentials object provides the set of root CAs. The <code class="literal">NORMAL</code> set of cipher suites and protocols provides a reasonable default. Then the TLS handshake must be initiated. This is shown in <a class="xref" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-Client-GNUTLS-Connect">Example 12.10, “Establishing a TLS client connection using GNUTLS”</a>.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-GNUTLS-Connect"><h6>Example 12.10. Establishing a TLS client connection using GNUTLS</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				Once the TCP connection has been established, the Nagle algorithm should be disabled (see <a class="xref" href="chap-Defensive_Coding-TLS.html#ex-Defensive_Coding-TLS-Nagle">Example 13.1, “Deactivating the TCP Nagle algorithm”</a>). After that, the socket can be associated with a new GNUTLS session object. The previously allocated credentials object provides the set of root CAs. The <code class="literal">NORMAL</code> set of cipher suites and protocols provides a reasonable default. Then the TLS handshake must be initiated. This is shown in <a class="xref" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-Client-GNUTLS-Connect">Example 13.10, “Establishing a TLS client connection using GNUTLS”</a>.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-GNUTLS-Connect"><h6>Example 13.10. Establishing a TLS client connection using GNUTLS</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Create the session object.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>gnutls_session_t session;
 ret = gnutls_init(&amp;session, GNUTLS_CLIENT);
@@ -92,8 +92,8 @@ ret = gnutls_server_name_set(session, GNUTLS_NAME_DNS,
   exit(<span class="perl_Float">1</span>);
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				After the handshake has been completed, the server certificate needs to be verified (<a class="xref" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-Client-GNUTLS-Verify">Example 12.11, “Verifying a server certificate using GNUTLS”</a>). In the example, the user-defined <code class="function">certificate_validity_override</code> function is called if the verification fails, so that a separate, user-specific trust store can be checked. This function call can be omitted if the functionality is not needed.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-GNUTLS-Verify"><h6>Example 12.11. Verifying a server certificate using GNUTLS</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				After the handshake has been completed, the server certificate needs to be verified (<a class="xref" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-Client-GNUTLS-Verify">Example 13.11, “Verifying a server certificate using GNUTLS”</a>). In the example, the user-defined <code class="function">certificate_validity_override</code> function is called if the verification fails, so that a separate, user-specific trust store can be checked. This function call can be omitted if the functionality is not needed.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-GNUTLS-Verify"><h6>Example 13.11. Verifying a server certificate using GNUTLS</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Obtain the server certificate chain.  The server certificate</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// itself is stored in the first element of the array.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_DataType">unsigned</span> certslen = 0;
@@ -131,8 +131,8 @@ ret = gnutls_certificate_verify_peers2(session, &amp;status);
   }
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				In the next step (<a class="xref" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-Client-GNUTLS-Match">Example 12.12, “Matching the server host name and certificate in a GNUTLS client”</a>, the certificate must be matched against the host name (note the unusual return value from <code class="function">gnutls_x509_crt_check_hostname</code>). Again, an override function <code class="function">certificate_host_name_override</code> is called. Note that the override must be keyed to the certificate <span class="emphasis"><em>and</em></span> the host name. The function call can be omitted if the override is not needed.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-GNUTLS-Match"><h6>Example 12.12. Matching the server host name and certificate in a GNUTLS client</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				In the next step (<a class="xref" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-Client-GNUTLS-Match">Example 13.12, “Matching the server host name and certificate in a GNUTLS client”</a>, the certificate must be matched against the host name (note the unusual return value from <code class="function">gnutls_x509_crt_check_hostname</code>). Again, an override function <code class="function">certificate_host_name_override</code> is called. Note that the override must be keyed to the certificate <span class="emphasis"><em>and</em></span> the host name. The function call can be omitted if the override is not needed.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-GNUTLS-Match"><h6>Example 13.12. Matching the server host name and certificate in a GNUTLS client</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Match the peer certificate against the host name.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// We can only obtain a set of DER-encoded certificates from the</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// session object, so we have to re-parse the peer certificate into</span><span class="perl_Comment"></span>
@@ -160,8 +160,8 @@ gnutls_x509_crt_deinit(cert);
 </pre></div></div><br class="example-break" /><div class="para">
 				In newer GNUTLS versions, certificate checking and host name validation can be combined using the <code class="function">gnutls_certificate_verify_peers3</code> function.
 			</div><div class="para">
-				An established TLS session can be used for sending and receiving data, as in <a class="xref" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-GNUTLS-Use">Example 12.13, “Using a GNUTLS session”</a>.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-GNUTLS-Use"><h6>Example 12.13. Using a GNUTLS session</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				An established TLS session can be used for sending and receiving data, as in <a class="xref" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-GNUTLS-Use">Example 13.13, “Using a GNUTLS session”</a>.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-GNUTLS-Use"><h6>Example 13.13. Using a GNUTLS session</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_DataType">char</span> buf[4096];
 snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_String">"GET / HTTP/1.0</span><span class="perl_Char">\r\n</span><span class="perl_String">Host: %s</span><span class="perl_Char">\r\n\r\n</span><span class="perl_String">"</span>, host);
 ret = gnutls_record_send(session, buf, strlen(buf));
@@ -175,8 +175,8 @@ ret = gnutls_record_recv(session, buf, <span class="perl_Keyword">sizeof</span>(
   exit(<span class="perl_Float">1</span>);
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				In order to shut down a connection in an orderly manner, you should call the <code class="function">gnutls_bye</code> function. Finally, the session object can be deallocated using <code class="function">gnutls_deinit</code> (see <a class="xref" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-GNUTLS-Disconnect">Example 12.14, “Using a GNUTLS session”</a>).
-			</div><div class="example" id="ex-Defensive_Coding-TLS-GNUTLS-Disconnect"><h6>Example 12.14. Using a GNUTLS session</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				In order to shut down a connection in an orderly manner, you should call the <code class="function">gnutls_bye</code> function. Finally, the session object can be deallocated using <code class="function">gnutls_deinit</code> (see <a class="xref" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-GNUTLS-Disconnect">Example 13.14, “Using a GNUTLS session”</a>).
+			</div><div class="example" id="ex-Defensive_Coding-TLS-GNUTLS-Disconnect"><h6>Example 13.14. Using a GNUTLS session</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Initiate an orderly connection shutdown.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>ret = gnutls_bye(session, GNUTLS_SHUT_RDWR);
 <span class="perl_Keyword">if</span> (ret &lt; 0) {
@@ -185,4 +185,4 @@ ret = gnutls_record_recv(session, buf, <span class="perl_Keyword">sizeof</span>(
 }
 <span class="perl_Comment">// Free the session object.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>gnutls_deinit(session);
-</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-TLS-Client.html"><strong>Prev</strong>12.2. TLS Clients</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html"><strong>Next</strong>12.2.3. Implementing TLS Clients With OpenJDK</a></li></ul></body></html>
\ No newline at end of file
+</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-TLS-Client.html"><strong>Prev</strong>13.2. TLS Clients</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html"><strong>Next</strong>13.2.3. Implementing TLS Clients With OpenJDK</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-NSS.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-NSS.html
index f2d5c1b..47b05fe 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-NSS.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-NSS.html
@@ -1,16 +1,16 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>12.2.4. Implementing TLS Clients With NSS</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>13.2.4. Implementing TLS Clients With NSS</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-TLS-Client.html" title="12.2. TLS Clients" /><link rel="prev" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html" title="12.2.3. Implementing TLS Clients With OpenJDK" /><link rel="next" href="sect-Defensive_Coding-TLS-Client-Python.html" title="12.2.5. Implementing TLS Clients With Python" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Def
 ensive_Coding-TLS-Client-OpenJDK.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client-Python.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-TLS-Client-NSS"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">12.2.4. Implementing TLS Clients With NSS</h3></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-TLS-Client.html" title="13.2. TLS Clients" /><link rel="prev" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html" title="13.2.3. Implementing TLS Clients With OpenJDK" /><link rel="next" href="sect-Defensive_Coding-TLS-Client-Python.html" title="13.2.5. Implementing TLS Clients With Python" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Def
 ensive_Coding-TLS-Client-OpenJDK.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client-Python.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-TLS-Client-NSS"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">13.2.4. Implementing TLS Clients With NSS</h3></div></div></div><div class="para">
 				The following code shows how to implement a simple TLS client using NSS. These instructions apply to NSS version 3.14 and later. Versions before 3.14 need different initialization code.
 			</div><div class="para">
 				Keep in mind that the error handling needs to be improved before the code can be used in production.
 			</div><div class="para">
-				Using NSS needs several header files, as shown in <a class="xref" href="sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-NSS-Includes">Example 12.21, “Include files for NSS”</a>.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-NSS-Includes"><h6>Example 12.21. Include files for NSS</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				Using NSS needs several header files, as shown in <a class="xref" href="sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-NSS-Includes">Example 13.21, “Include files for NSS”</a>.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-NSS-Includes"><h6>Example 13.21. Include files for NSS</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// NSPR include files</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Others">#include &lt;prerror.h&gt;</span><span class="perl_Others"></span>
 <span class="perl_Others"></span><span class="perl_Others">#include &lt;prinit.h&gt;</span><span class="perl_Others"></span>
@@ -26,10 +26,10 @@
 <span class="perl_Comment"></span><span class="perl_Comment">// NSPR handle.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>NSPR_API(PRFileDesc*) PR_ImportTCPSocket(<span class="perl_DataType">int</span>);
 </pre></div></div><br class="example-break" /><div class="para">
-				Initializing the NSS library is shown in <a class="xref" href="sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-NSS-Init">Example 12.22, “Initializing the NSS library”</a>. This initialization procedure overrides global state. We only call <code class="function">NSS_SetDomesticPolicy</code> if there are no strong ciphers available, assuming that it has already been called otherwise. This avoids overriding the process-wide cipher suite policy unnecessarily.
+				Initializing the NSS library is shown in <a class="xref" href="sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-NSS-Init">Example 13.22, “Initializing the NSS library”</a>. This initialization procedure overrides global state. We only call <code class="function">NSS_SetDomesticPolicy</code> if there are no strong ciphers available, assuming that it has already been called otherwise. This avoids overriding the process-wide cipher suite policy unnecessarily.
 			</div><div class="para">
 				The simplest way to configured the trusted root certificates involves loading the <code class="filename">libnssckbi.so</code> NSS module with a call to the <code class="function">SECMOD_LoadUserModule</code> function. The root certificates are compiled into this module. (The PEM module for NSS, <code class="filename">libnsspem.so</code>, offers a way to load trusted CA certificates from a file.)
-			</div><div class="example" id="ex-Defensive_Coding-TLS-NSS-Init"><h6>Example 12.22. Initializing the NSS library</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+			</div><div class="example" id="ex-Defensive_Coding-TLS-NSS-Init"><h6>Example 13.22. Initializing the NSS library</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 PR_Init(PR_USER_THREAD, PR_PRIORITY_NORMAL, 0);
 NSSInitContext *<span class="perl_DataType">const</span> ctx =
   NSS_InitContext(<span class="perl_String">"sql:/etc/pki/nssdb"</span>, <span class="perl_String">""</span>, <span class="perl_String">""</span>, <span class="perl_String">""</span>, NULL,
@@ -93,12 +93,12 @@ SECMODModule *module = SECMOD_LoadUserModule(module_name, NULL, PR_FALSE);
 SECMOD_DestroyModule(module);
 NSS_ShutdownContext(ctx);
 </pre></div><div class="para">
-				After NSS has been initialized, the TLS connection can be created (<a class="xref" href="sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-Client-NSS-Connect">Example 12.23, “Creating a TLS connection with NSS”</a>). The internal <code class="function">PR_ImportTCPSocket</code> function is used to turn the POSIX file descriptor <code class="literal">sockfd</code> into an NSPR file descriptor. (This function is de-facto part of the NSS public ABI, so it will not go away.) Creating the TLS-capable file descriptor requires a <span class="emphasis"><em>model</em></span> descriptor, which is configured with the desired set of protocols. The model descriptor is not needed anymore after TLS support has been activated for the existing connection descriptor.
+				After NSS has been initialized, the TLS connection can be created (<a class="xref" href="sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-Client-NSS-Connect">Example 13.23, “Creating a TLS connection with NSS”</a>). The internal <code class="function">PR_ImportTCPSocket</code> function is used to turn the POSIX file descriptor <code class="literal">sockfd</code> into an NSPR file descriptor. (This function is de-facto part of the NSS public ABI, so it will not go away.) Creating the TLS-capable file descriptor requires a <span class="emphasis"><em>model</em></span> descriptor, which is configured with the desired set of protocols. The model descriptor is not needed anymore after TLS support has been activated for the existing connection descriptor.
 			</div><div class="para">
 				The call to <code class="function">SSL_BadCertHook</code> can be omitted if no mechanism to override certificate verification is needed. The <code class="literal">bad_certificate</code> function must check both the host name specified for the connection and the certificate before granting the override.
 			</div><div class="para">
 				Triggering the actual handshake requires three function calls, <code class="function">SSL_ResetHandshake</code>, <code class="function">SSL_SetURL</code>, and <code class="function">SSL_ForceHandshake</code>. (If <code class="function">SSL_ResetHandshake</code> is omitted, <code class="function">SSL_ForceHandshake</code> will succeed, but the data will not be encrypted.) During the handshake, the certificate is verified and matched against the host name.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-NSS-Connect"><h6>Example 12.23. Creating a TLS connection with NSS</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-NSS-Connect"><h6>Example 13.23. Creating a TLS connection with NSS</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Wrap the POSIX file descriptor.  This is an internal NSPR</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// function, but it is very unlikely to change.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>PRFileDesc* nspr = PR_ImportTCPSocket(sockfd);
@@ -174,8 +174,8 @@ sockfd = <span class="perl_DecVal">-1</span>; <span class="perl_Comment">// Has
   exit(<span class="perl_Float">1</span>);
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				After the connection has been established, <a class="xref" href="sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-NSS-Use">Example 12.24, “Using NSS for sending and receiving data”</a> shows how to use the NSPR descriptor to communicate with the server.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-NSS-Use"><h6>Example 12.24. Using NSS for sending and receiving data</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				After the connection has been established, <a class="xref" href="sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-NSS-Use">Example 13.24, “Using NSS for sending and receiving data”</a> shows how to use the NSPR descriptor to communicate with the server.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-NSS-Use"><h6>Example 13.24. Using NSS for sending and receiving data</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_DataType">char</span> buf[4096];
 snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf), <span class="perl_String">"GET / HTTP/1.0</span><span class="perl_Char">\r\n</span><span class="perl_String">Host: %s</span><span class="perl_Char">\r\n\r\n</span><span class="perl_String">"</span>, host);
 PRInt32 ret = PR_Write(nspr, buf, strlen(buf));
@@ -193,8 +193,8 @@ ret = PR_Read(nspr, buf, <span class="perl_Keyword">sizeof</span>(buf));
   exit(<span class="perl_Float">1</span>);
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				<a class="xref" href="sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-Client-NSS-Close">Example 12.25, “Closing NSS client connections”</a> shows how to close the connection.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-NSS-Close"><h6>Example 12.25. Closing NSS client connections</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				<a class="xref" href="sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-Client-NSS-Close">Example 13.25, “Closing NSS client connections”</a> shows how to close the connection.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-NSS-Close"><h6>Example 13.25. Closing NSS client connections</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Send close_notify alert.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Keyword">if</span> (PR_Shutdown(nspr, PR_SHUTDOWN_BOTH) != PR_SUCCESS) {
   <span class="perl_DataType">const</span> PRErrorCode err = PR_GetError();
@@ -204,4 +204,4 @@ ret = PR_Read(nspr, buf, <span class="perl_Keyword">sizeof</span>(buf));
 }
 <span class="perl_Comment">// Closes the underlying POSIX file descriptor, too.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>PR_Close(nspr);
-</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html"><strong>Prev</strong>12.2.3. Implementing TLS Clients With OpenJDK</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client-Python.html"><strong>Next</strong>12.2.5. Implementing TLS Clients With Python</a></li></ul></body></html>
\ No newline at end of file
+</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html"><strong>Prev</strong>13.2.3. Implementing TLS Clients With OpenJDK</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client-Python.html"><strong>Next</strong>13.2.5. Implementing TLS Clients With Python</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-OpenJDK.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-OpenJDK.html
index c463d94..f80eefa 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-OpenJDK.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-OpenJDK.html
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>12.2.3. Implementing TLS Clients With OpenJDK</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>13.2.3. Implementing TLS Clients With OpenJDK</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-TLS-Client.html" title="12.2. TLS Clients" /><link rel="prev" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html" title="12.2.2. Implementation TLS Clients With GNUTLS" /><link rel="next" href="sect-Defensive_Coding-TLS-Client-NSS.html" title="12.2.4. Implementing TLS Clients With NSS" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive
 _Coding-TLS-Client-GNUTLS.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client-NSS.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-TLS-Client-OpenJDK"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">12.2.3. Implementing TLS Clients With OpenJDK</h3></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-TLS-Client.html" title="13.2. TLS Clients" /><link rel="prev" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html" title="13.2.2. Implementation TLS Clients With GNUTLS" /><link rel="next" href="sect-Defensive_Coding-TLS-Client-NSS.html" title="13.2.4. Implementing TLS Clients With NSS" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive
 _Coding-TLS-Client-GNUTLS.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client-NSS.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-TLS-Client-OpenJDK"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">13.2.3. Implementing TLS Clients With OpenJDK</h3></div></div></div><div class="para">
 				The examples below use the following cryptographic-related classes:
 			</div><div class="informalexample"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Keyword">import</span> java.security.NoSuchAlgorithmException;
@@ -22,8 +22,8 @@
 </pre></div><div class="para">
 				If compatibility with OpenJDK 6 is required, it is necessary to use the internal class <code class="literal">sun.security.util.HostnameChecker</code>. (The public OpenJDK API does not provide any support for dissecting the subject distinguished name of an X.509 certificate, so a custom-written DER parser is needed—or we have to use an internal class, which we do below.) In OpenJDK 7, the <code class="function">setEndpointIdentificationAlgorithm</code> method was added to the <code class="literal">javax.net.ssl.SSLParameters</code> class, providing an official way to implement host name checking.
 			</div><div class="para">
-				TLS connections are established using an <code class="literal">SSLContext</code> instance. With a properly configured OpenJDK installation, the <code class="literal">SunJSSE</code> provider uses the system-wide set of trusted root certificate authorities, so no further configuration is necessary. For backwards compatibility with OpenJDK 6, the <code class="literal">TLSv1</code> provider has to be supported as a fall-back option. This is shown in <a class="xref" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-Client-OpenJDK-Context">Example 12.15, “Setting up an <code class="literal">SSLContext</code> for OpenJDK TLS clients”</a>.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenJDK-Context"><h6>Example 12.15. Setting up an <code class="literal">SSLContext</code> for OpenJDK TLS clients</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				TLS connections are established using an <code class="literal">SSLContext</code> instance. With a properly configured OpenJDK installation, the <code class="literal">SunJSSE</code> provider uses the system-wide set of trusted root certificate authorities, so no further configuration is necessary. For backwards compatibility with OpenJDK 6, the <code class="literal">TLSv1</code> provider has to be supported as a fall-back option. This is shown in <a class="xref" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-Client-OpenJDK-Context">Example 13.15, “Setting up an <code class="literal">SSLContext</code> for OpenJDK TLS clients”</a>.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenJDK-Context"><h6>Example 13.15. Setting up an <code class="literal">SSLContext</code> for OpenJDK TLS clients</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Create the context.  Specify the SunJSSE provider to avoid</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// picking up third-party providers.  Try the TLS 1.2 provider</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// first, then fall back to TLS 1.0.</span><span class="perl_Comment"></span>
@@ -45,8 +45,8 @@
 }
 ctx.<span class="perl_Function">init</span>(<span class="perl_Keyword">null</span>, <span class="perl_Keyword">null</span>, <span class="perl_Keyword">null</span>);
 </pre></div></div><br class="example-break" /><div class="para">
-				In addition to the context, a TLS parameter object will be needed which adjusts the cipher suites and protocols (<a class="xref" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-OpenJDK-Parameters">Example 12.16, “Setting up <code class="literal">SSLParameters</code> for TLS use with OpenJDK”</a>). Like the context, these parameters can be reused for multiple TLS connections.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenJDK-Parameters"><h6>Example 12.16. Setting up <code class="literal">SSLParameters</code> for TLS use with OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				In addition to the context, a TLS parameter object will be needed which adjusts the cipher suites and protocols (<a class="xref" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-OpenJDK-Parameters">Example 13.16, “Setting up <code class="literal">SSLParameters</code> for TLS use with OpenJDK”</a>). Like the context, these parameters can be reused for multiple TLS connections.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenJDK-Parameters"><h6>Example 13.16. Setting up <code class="literal">SSLParameters</code> for TLS use with OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Prepare TLS parameters.  These have to applied to every TLS</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// socket before the handshake is triggered.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>SSLParameters params = ctx.<span class="perl_Function">getDefaultSSLParameters</span>();
@@ -75,8 +75,8 @@ params.<span class="perl_Function">setEndpointIdentificationAlgorithm</span>(<sp
 </pre></div><div class="para">
 				All application protocols can use the <code class="literal">"HTTPS"</code> algorithm. (The algorithms have minor differences with regard to wildcard handling, which should not matter in practice.)
 			</div><div class="para">
-				<a class="xref" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-Client-OpenJDK-Connect">Example 12.17, “Establishing a TLS connection with OpenJDK”</a> shows how to establish the connection. Before the handshake is initialized, the protocol and cipher configuration has to be performed, by applying the parameter object <code class="literal">params</code>. (After this point, changes to <code class="literal">params</code> will not affect this TLS socket.) As mentioned initially, host name checking requires using an internal API on OpenJDK 6.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenJDK-Connect"><h6>Example 12.17. Establishing a TLS connection with OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				<a class="xref" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-Client-OpenJDK-Connect">Example 13.17, “Establishing a TLS connection with OpenJDK”</a> shows how to establish the connection. Before the handshake is initialized, the protocol and cipher configuration has to be performed, by applying the parameter object <code class="literal">params</code>. (After this point, changes to <code class="literal">params</code> will not affect this TLS socket.) As mentioned initially, host name checking requires using an internal API on OpenJDK 6.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenJDK-Connect"><h6>Example 13.17. Establishing a TLS connection with OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Create the socket and connect it at the TCP layer.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>SSLSocket socket = (SSLSocket) ctx.<span class="perl_Function">getSocketFactory</span>()
     .<span class="perl_Function">createSocket</span>(host, port);
@@ -100,18 +100,18 @@ params.<span class="perl_Function">setEndpointIdentificationAlgorithm</span>(<sp
 </pre></div></div><br class="example-break" /><div class="para">
 				Starting with OpenJDK 7, the last lines can be omitted, provided that host name verification has been enabled by calling the <code class="function">setEndpointIdentificationAlgorithm</code> method on the <code class="literal">params</code> object (before it was applied to the socket).
 			</div><div class="para">
-				The TLS socket can be used as a regular socket, as shown in <a class="xref" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-Client-OpenJDK-Use">Example 12.18, “Using a TLS client socket in OpenJDK”</a>.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenJDK-Use"><h6>Example 12.18. Using a TLS client socket in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				The TLS socket can be used as a regular socket, as shown in <a class="xref" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-Client-OpenJDK-Use">Example 13.18, “Using a TLS client socket in OpenJDK”</a>.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenJDK-Use"><h6>Example 13.18. Using a TLS client socket in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 socket.<span class="perl_Function">getOutputStream</span>().<span class="perl_Function">write</span>(<span class="perl_String">"GET / HTTP/1.0</span><span class="perl_Char">\r\n\r\n</span><span class="perl_String">"</span>
     .<span class="perl_Function">getBytes</span>(Charset.<span class="perl_Function">forName</span>(<span class="perl_String">"UTF-8"</span>)));
 <span class="perl_DataType">byte</span>[] buffer = <span class="perl_Keyword">new</span> <span class="perl_DataType">byte</span>[<span class="perl_Float">4096</span>];
 <span class="perl_DataType">int</span> count = socket.<span class="perl_Function">getInputStream</span>().<span class="perl_Function">read</span>(buffer);
 System.<span class="perl_Function">out</span>.<span class="perl_Function">write</span>(buffer, <span class="perl_Float">0</span>, count);
-</pre></div></div><br class="example-break" /><div class="section" id="idm224102412160"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm224102412160">12.2.3.1. Overriding server certificate validation with OpenJDK 6</h4></div></div></div><div class="para">
+</pre></div></div><br class="example-break" /><div class="section" id="idm229837423568"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="idm229837423568">13.2.3.1. Overriding server certificate validation with OpenJDK 6</h4></div></div></div><div class="para">
 					Overriding certificate validation requires a custom trust manager. With OpenJDK 6, the trust manager lacks information about the TLS session, and to which server the connection is made. Certificate overrides have to be tied to specific servers (host names). Consequently, different <code class="literal">TrustManager</code> and <code class="literal">SSLContext</code> objects have to be used for different servers.
 				</div><div class="para">
-					In the trust manager shown in <a class="xref" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-Client-MyTrustManager">Example 12.19, “A customer trust manager for OpenJDK TLS clients”</a>, the server certificate is identified by its SHA-256 hash.
-				</div><div class="example" id="ex-Defensive_Coding-TLS-Client-MyTrustManager"><h6>Example 12.19. A customer trust manager for OpenJDK TLS clients</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+					In the trust manager shown in <a class="xref" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-Client-MyTrustManager">Example 13.19, “A customer trust manager for OpenJDK TLS clients”</a>, the server certificate is identified by its SHA-256 hash.
+				</div><div class="example" id="ex-Defensive_Coding-TLS-Client-MyTrustManager"><h6>Example 13.19. A customer trust manager for OpenJDK TLS clients</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Keyword">public</span> <span class="perl_Keyword">class</span> MyTrustManager <span class="perl_Keyword">implements</span> X509TrustManager {
     <span class="perl_Keyword">private</span> <span class="perl_DataType">final</span> <span class="perl_DataType">byte</span>[] certHash;
 
@@ -145,8 +145,8 @@ System.<span class="perl_Function">out</span>.<span class="perl_Function">write<
     }
 }
 </pre></div></div><br class="example-break" /><div class="para">
-					This trust manager has to be passed to the <code class="literal">init</code> method of the <code class="literal">SSLContext</code> object, as show in <a class="xref" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-Client-Context_For_Cert">Example 12.20, “Using a custom TLS trust manager with OpenJDK”</a>.
-				</div><div class="example" id="ex-Defensive_Coding-TLS-Client-Context_For_Cert"><h6>Example 12.20. Using a custom TLS trust manager with OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+					This trust manager has to be passed to the <code class="literal">init</code> method of the <code class="literal">SSLContext</code> object, as show in <a class="xref" href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-Client-Context_For_Cert">Example 13.20, “Using a custom TLS trust manager with OpenJDK”</a>.
+				</div><div class="example" id="ex-Defensive_Coding-TLS-Client-Context_For_Cert"><h6>Example 13.20. Using a custom TLS trust manager with OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 SSLContext ctx;
 <span class="perl_Keyword">try</span> {
     ctx = SSLContext.<span class="perl_Function">getInstance</span>(<span class="perl_String">"TLSv1.2"</span>, <span class="perl_String">"SunJSSE"</span>);
@@ -167,4 +167,4 @@ ctx.<span class="perl_Function">init</span>(<span class="perl_Keyword">null</spa
 					When certificate overrides are in place, host name verification should not be performed because there is no security requirement that the host name in the certificate matches the host name used to establish the connection (and it often will not). However, without host name verification, it is not possible to perform transparent fallback to certification validation using the system certificate store.
 				</div><div class="para">
 					The approach described above works with OpenJDK 6 and later versions. Starting with OpenJDK 7, it is possible to use a custom subclass of the <code class="literal">javax.net.ssl.X509ExtendedTrustManager</code> class. The OpenJDK TLS implementation will call the new methods, passing along TLS session information. This can be used to implement certificate overrides as a fallback (if certificate or host name verification fails), and a trust manager object can be used for multiple servers because the server address is available to the trust manager.
-				</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html"><strong>Prev</strong>12.2.2. Implementation TLS Clients With GNUTLS</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client-NSS.html"><strong>Next</strong>12.2.4. Implementing TLS Clients With NSS</a></li></ul></body></html>
\ No newline at end of file
+				</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html"><strong>Prev</strong>13.2.2. Implementation TLS Clients With GNUTLS</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client-NSS.html"><strong>Next</strong>13.2.4. Implementing TLS Clients With NSS</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-Python.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-Python.html
index 4ee1d76..13810db 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-Python.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-Python.html
@@ -1,16 +1,16 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>12.2.5. Implementing TLS Clients With Python</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>13.2.5. Implementing TLS Clients With Python</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-TLS-Client.html" title="12.2. TLS Clients" /><link rel="prev" href="sect-Defensive_Coding-TLS-Client-NSS.html" title="12.2.4. Implementing TLS Clients With NSS" /><link rel="next" href="appe-UEFI_Secure_Boot_Guide-Revision_History.html" title="Appendix A. Revision History" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-TLS-
 Client-NSS.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="appe-UEFI_Secure_Boot_Guide-Revision_History.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-TLS-Client-Python"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">12.2.5. Implementing TLS Clients With Python</h3></div></div></div><div class="para">
-				The Python distribution provides a TLS implementation in the <code class="literal">ssl</code> module (actually a wrapper around OpenSSL). The exported interface is somewhat restricted, so that the client code shown below does not fully implement the recommendations in <a class="xref" href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-OpenSSL">Section 12.1.1, “OpenSSL Pitfalls”</a>.
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-TLS-Client.html" title="13.2. TLS Clients" /><link rel="prev" href="sect-Defensive_Coding-TLS-Client-NSS.html" title="13.2.4. Implementing TLS Clients With NSS" /><link rel="next" href="appe-Defensive_Coding-Revision_History.html" title="Appendix A. Revision History" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-TLS-Client
 -NSS.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="appe-Defensive_Coding-Revision_History.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-TLS-Client-Python"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">13.2.5. Implementing TLS Clients With Python</h3></div></div></div><div class="para">
+				The Python distribution provides a TLS implementation in the <code class="literal">ssl</code> module (actually a wrapper around OpenSSL). The exported interface is somewhat restricted, so that the client code shown below does not fully implement the recommendations in <a class="xref" href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-OpenSSL">Section 13.1.1, “OpenSSL Pitfalls”</a>.
 			</div><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
 					Currently, most Python function which accept <code class="literal">https://</code> URLs or otherwise implement HTTPS support do not perform certificate validation at all. (For example, this is true for the <code class="literal">httplib</code> and <code class="literal">xmlrpclib</code> modules.) If you use HTTPS, you should not use the built-in HTTP clients. The <code class="literal">Curl</code> class in the <code class="literal">curl</code> module, as provided by the <code class="literal">python-pycurl</code> package implements proper certificate validation.
 				</div></div></div><div class="para">
-				The <code class="literal">ssl</code> module currently does not perform host name checking on the server certificate. <a class="xref" href="sect-Defensive_Coding-TLS-Client-Python.html#ex-Defensive_Coding-TLS-Client-Python-check_host_name">Example 12.26, “Implementing TLS host name checking Python (without wildcard support)”</a> shows how to implement certificate matching, using the parsed certificate returned by <code class="function">getpeercert</code>.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-Python-check_host_name"><h6>Example 12.26. Implementing TLS host name checking Python (without wildcard support)</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				The <code class="literal">ssl</code> module currently does not perform host name checking on the server certificate. <a class="xref" href="sect-Defensive_Coding-TLS-Client-Python.html#ex-Defensive_Coding-TLS-Client-Python-check_host_name">Example 13.26, “Implementing TLS host name checking Python (without wildcard support)”</a> shows how to implement certificate matching, using the parsed certificate returned by <code class="function">getpeercert</code>.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-Python-check_host_name"><h6>Example 13.26. Implementing TLS host name checking Python (without wildcard support)</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Keyword">def</span> check_host_name<span class="perl_Char">(peercert</span>, name<span class="perl_Char">):</span>
     <span class="perl_Comment">"""Simple certificate/host name checker.  Returns True if the</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">    certificate matches, False otherwise.  Does not support</span><span class="perl_Comment"></span>
@@ -35,7 +35,7 @@
             <span class="perl_Keyword">return</span> cn <span class="perl_Char">==</span> name
     <span class="perl_Keyword">return</span> <span class="perl_Others">False</span>
 </pre></div></div><br class="example-break" /><div class="para">
-				To turn a regular, connected TCP socket into a TLS-enabled socket, use the <code class="function">ssl.wrap_socket</code> function. The function call in <a class="xref" href="sect-Defensive_Coding-TLS-Client-Python.html#ex-Defensive_Coding-TLS-Client-Python-Connect">Example 12.27, “Establishing a TLS client connection with Python”</a> provides additional arguments to override questionable defaults in OpenSSL and in the Python module.
+				To turn a regular, connected TCP socket into a TLS-enabled socket, use the <code class="function">ssl.wrap_socket</code> function. The function call in <a class="xref" href="sect-Defensive_Coding-TLS-Client-Python.html#ex-Defensive_Coding-TLS-Client-Python-Connect">Example 13.27, “Establishing a TLS client connection with Python”</a> provides additional arguments to override questionable defaults in OpenSSL and in the Python module.
 			</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 						<code class="literal">ciphers="HIGH:-aNULL:-eNULL:-PSK:RC4-SHA:RC4-MD5"</code> selects relatively strong cipher suites with certificate-based authentication. (The call to <code class="function">check_host_name</code> function provides additional protection against anonymous cipher suites.)
 					</div></li><li class="listitem"><div class="para">
@@ -46,7 +46,7 @@
 						<code class="literal">ca_certs='/etc/ssl/certs/ca-bundle.crt'</code> initializes the certificate store with a set of trusted root CAs. Unfortunately, it is necessary to hard-code this path into applications because the default path in OpenSSL is not available through the Python <code class="literal">ssl</code> module.
 					</div></li></ul></div><div class="para">
 				The <code class="literal">ssl</code> module (and OpenSSL) perform certificate validation, but the certificate must be compared manually against the host name, by calling the <code class="function">check_host_name</code> defined above.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-Python-Connect"><h6>Example 12.27. Establishing a TLS client connection with Python</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-Python-Connect"><h6>Example 13.27. Establishing a TLS client connection with Python</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 sock <span class="perl_Char">=</span> ssl.wrap_socket<span class="perl_Char">(sock</span>,
                        ciphers<span class="perl_Char">=</span><span class="perl_String">"HIGH:-aNULL:-eNULL:-PSK:RC4-SHA:RC4-MD5"</span>,
                        ssl_version<span class="perl_Char">=ssl</span>.PROTOCOL_TLSv1,
@@ -64,4 +64,4 @@ sock.write<span class="perl_Char">(</span><span class="perl_String">"GET / HTTP/
 				Closing the TLS socket is straightforward as well:
 			</div><div class="informalexample"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 sock.close<span class="perl_Char">()</span>
-</pre></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-TLS-Client-NSS.html"><strong>Prev</strong>12.2.4. Implementing TLS Clients With NSS</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="appe-UEFI_Secure_Boot_Guide-Revision_History.html"><strong>Next</strong>Appendix A. Revision History</a></li></ul></body></html>
\ No newline at end of file
+</pre></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-TLS-Client-NSS.html"><strong>Prev</strong>13.2.4. Implementing TLS Clients With NSS</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="appe-Defensive_Coding-Revision_History.html"><strong>Next</strong>Appendix A. Revision History</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client.html
index 430e8e7..004a745 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client.html
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>12.2. TLS Clients</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>13.2. TLS Clients</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-TLS.html" title="Chapter 12. Transport Layer Security" /><link rel="prev" href="chap-Defensive_Coding-TLS.html" title="Chapter 12. Transport Layer Security" /><link rel="next" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html" title="12.2.2. Implementation TLS Clients With GNUTLS" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_C
 oding-TLS.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-TLS-Client"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">12.2. TLS Clients</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-TLS.html" title="Chapter 13. Transport Layer Security" /><link rel="prev" href="chap-Defensive_Coding-TLS.html" title="Chapter 13. Transport Layer Security" /><link rel="next" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html" title="13.2.2. Implementation TLS Clients With GNUTLS" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_C
 oding-TLS.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-TLS-Client"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">13.2. TLS Clients</h2></div></div></div><div class="para">
 			Secure use of TLS in a client generally involves all of the following steps. (Individual instructions for specific TLS implementations follow in the next sections.)
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					The client must configure the TLS library to use a set of trusted root certificates. These certificates are provided by the system in <code class="filename">/etc/ssl/certs</code> or files derived from it.
@@ -20,11 +20,11 @@
 			It is safe to provide users detailed diagnostics on certificate validation failures. Other causes of handshake failures and, generally speaking, any details on other errors reported by the TLS implementation (particularly exception tracebacks), must not be divulged in ways that make them accessible to potential attackers. Otherwise, it is possible to create decryption oracles.
 		</div><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
 				Depending on the application, revocation checking (against certificate revocations lists or via OCSP) and session resumption are important aspects of production-quality client. These aspects are not yet covered.
-			</div></div></div><div class="section" id="idm224135109392"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224135109392">12.2.1. Implementation TLS Clients With OpenSSL</h3></div></div></div><div class="para">
+			</div></div></div><div class="section" id="idm229816036016"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229816036016">13.2.1. Implementation TLS Clients With OpenSSL</h3></div></div></div><div class="para">
 				In the following code, the error handling is only exploratory. Proper error handling is required for production use, especially in libraries. 
 			</div><div class="para">
-				The OpenSSL library needs explicit initialization (see <a class="xref" href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-OpenSSL-Init">Example 12.3, “OpenSSL library initialization”</a>).
-			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Init"><h6>Example 12.3. OpenSSL library initialization</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				The OpenSSL library needs explicit initialization (see <a class="xref" href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-OpenSSL-Init">Example 13.3, “OpenSSL library initialization”</a>).
+			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Init"><h6>Example 13.3. OpenSSL library initialization</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// The following call prints an error message and calls exit() if</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// the OpenSSL configuration file is unreadable.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>OPENSSL_config(NULL);
@@ -33,8 +33,8 @@
 <span class="perl_Comment">// Register ciphers.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>SSL_library_init();
 </pre></div></div><br class="example-break" /><div class="para">
-				After that, a context object has to be created, which acts as a factory for connection objects (<a class="xref" href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-Client-OpenSSL-CTX">Example 12.4, “OpenSSL client context creation”</a>). We use an explicit cipher list so that we do not pick up any strange ciphers when OpenSSL is upgraded. The actual version requested in the client hello depends on additional restrictions in the OpenSSL library. If possible, you should follow the example code and use the default list of trusted root certificate authorities provided by the system because you would have to maintain your own set otherwise, which can be cumbersome.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenSSL-CTX"><h6>Example 12.4. OpenSSL client context creation</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				After that, a context object has to be created, which acts as a factory for connection objects (<a class="xref" href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-Client-OpenSSL-CTX">Example 13.4, “OpenSSL client context creation”</a>). We use an explicit cipher list so that we do not pick up any strange ciphers when OpenSSL is upgraded. The actual version requested in the client hello depends on additional restrictions in the OpenSSL library. If possible, you should follow the example code and use the default list of trusted root certificate authorities provided by the system because you would have to maintain your own set otherwise, which can be cumbersome.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenSSL-CTX"><h6>Example 13.4. OpenSSL client context creation</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Configure a client connection context.  Send a hendshake for the</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_Comment">// highest supported TLS version, and disable compression.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_DataType">const</span> SSL_METHOD *<span class="perl_DataType">const</span> req_method = SSLv23_client_method();
@@ -103,12 +103,12 @@ SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_COMPRESSION);
 </pre></div></div><br class="example-break" /><div class="para">
 				A single context object can be used to create multiple connection objects. It is safe to use the same <code class="literal">SSL_CTX</code> object for creating connections concurrently from multiple threads, provided that the <code class="literal">SSL_CTX</code> object is not modified (e.g., callbacks must not be changed).
 			</div><div class="para">
-				After creating the TCP socket and disabling the Nagle algorithm (per <a class="xref" href="chap-Defensive_Coding-TLS.html#ex-Defensive_Coding-TLS-Nagle">Example 12.1, “Deactivating the TCP Nagle algorithm”</a>), the actual connection object needs to be created, as show in <a class="xref" href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-Client-OpenSSL-CTX">Example 12.4, “OpenSSL client context creation”</a>. If the handshake started by <code class="function">SSL_connect</code> fails, the <code class="function">ssl_print_error_and_exit</code> function from <a class="xref" href="chap-Defensive_Coding-TLS.html#ex-Defensive_Coding-TLS-OpenSSL-Errors">Example 12.2, “Obtaining OpenSSL error codes”</a> is called.
+				After creating the TCP socket and disabling the Nagle algorithm (per <a class="xref" href="chap-Defensive_Coding-TLS.html#ex-Defensive_Coding-TLS-Nagle">Example 13.1, “Deactivating the TCP Nagle algorithm”</a>), the actual connection object needs to be created, as show in <a class="xref" href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-Client-OpenSSL-CTX">Example 13.4, “OpenSSL client context creation”</a>. If the handshake started by <code class="function">SSL_connect</code> fails, the <code class="function">ssl_print_error_and_exit</code> function from <a class="xref" href="chap-Defensive_Coding-TLS.html#ex-Defensive_Coding-TLS-OpenSSL-Errors">Example 13.2, “Obtaining OpenSSL error codes”</a> is called.
 			</div><div class="para">
 				The <code class="function">certificate_validity_override</code> function provides an opportunity to override the validity of the certificate in case the OpenSSL check fails. If such functionality is not required, the call can be removed, otherwise, the application developer has to implement it.
 			</div><div class="para">
 				The host name passed to the functions <code class="function">SSL_set_tlsext_host_name</code> and <code class="function">X509_check_host</code> must be the name that was passed to <code class="function">getaddrinfo</code> or a similar name resolution function. No host name canonicalization must be performed. The <code class="function">X509_check_host</code> function used in the final step for host name matching is currently only implemented in OpenSSL 1.1, which is not released yet. In case host name matching fails, the function <code class="function">certificate_host_name_override</code> is called. This function should check user-specific certificate store, to allow a connection even if the host name does not match the certificate. This function has to be provided by the application developer. Note that the override must be keyed by both the certificate <span class="emphasis"><em>and</em></span> the host name.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenSSL-Connect"><h6>Example 12.5. Creating a client connection using OpenSSL</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+			</div><div class="example" id="ex-Defensive_Coding-TLS-Client-OpenSSL-Connect"><h6>Example 13.5. Creating a client connection using OpenSSL</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Create the connection object.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>SSL *ssl = SSL_new(ctx);
 <span class="perl_Keyword">if</span> (ssl == NULL) {
@@ -159,8 +159,8 @@ SSL_set_fd(ssl, sockfd);
 X509_free(peercert);
 
 </pre></div></div><br class="example-break" /><div class="para">
-				The connection object can be used for sending and receiving data, as in <a class="xref" href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-OpenSSL-Connection-Use">Example 12.6, “Using an OpenSSL connection to send and receive data”</a>. It is also possible to create a <code class="literal">BIO</code> object and use the <code class="literal">SSL</code> object as the underlying transport, using <code class="function">BIO_set_ssl</code>.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Connection-Use"><h6>Example 12.6. Using an OpenSSL connection to send and receive data</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				The connection object can be used for sending and receiving data, as in <a class="xref" href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-OpenSSL-Connection-Use">Example 13.6, “Using an OpenSSL connection to send and receive data”</a>. It is also possible to create a <code class="literal">BIO</code> object and use the <code class="literal">SSL</code> object as the underlying transport, using <code class="function">BIO_set_ssl</code>.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Connection-Use"><h6>Example 13.6. Using an OpenSSL connection to send and receive data</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_DataType">const</span> <span class="perl_DataType">char</span> *<span class="perl_DataType">const</span> req = <span class="perl_String">"GET / HTTP/1.0</span><span class="perl_Char">\r\n\r\n</span><span class="perl_String">"</span>;
 <span class="perl_Keyword">if</span> (SSL_write(ssl, req, strlen(req)) &lt; 0) {
   ssl_print_error_and_exit(ssl, <span class="perl_String">"SSL_write"</span>, ret);
@@ -171,8 +171,8 @@ ret = SSL_read(ssl, buf, <span class="perl_Keyword">sizeof</span>(buf));
   ssl_print_error_and_exit(ssl, <span class="perl_String">"SSL_read"</span>, ret);
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				When it is time to close the connection, the <code class="function">SSL_shutdown</code> function needs to be called twice for an orderly, synchronous connection termination (<a class="xref" href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-OpenSSL-Connection-Close">Example 12.7, “Closing an OpenSSL connection in an orderly fashion”</a>). This exchanges <code class="literal">close_notify</code> alerts with the server. The additional logic is required to deal with an unexpected <code class="literal">close_notify</code> from the server. Note that is necessary to explicitly close the underlying socket after the connection object has been freed.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Connection-Close"><h6>Example 12.7. Closing an OpenSSL connection in an orderly fashion</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				When it is time to close the connection, the <code class="function">SSL_shutdown</code> function needs to be called twice for an orderly, synchronous connection termination (<a class="xref" href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-OpenSSL-Connection-Close">Example 13.7, “Closing an OpenSSL connection in an orderly fashion”</a>). This exchanges <code class="literal">close_notify</code> alerts with the server. The additional logic is required to deal with an unexpected <code class="literal">close_notify</code> from the server. Note that is necessary to explicitly close the underlying socket after the connection object has been freed.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Connection-Close"><h6>Example 13.7. Closing an OpenSSL connection in an orderly fashion</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Send the close_notify alert.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>ret = SSL_shutdown(ssl);
 <span class="perl_Keyword">switch</span> (ret) {
@@ -198,7 +198,7 @@ ret = SSL_read(ssl, buf, <span class="perl_Keyword">sizeof</span>(buf));
 SSL_free(ssl);
 close(sockfd);
 </pre></div></div><br class="example-break" /><div class="para">
-				<a class="xref" href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-OpenSSL-Context-Close">Example 12.8, “Closing an OpenSSL connection in an orderly fashion”</a> shows how to deallocate the context object when it is no longer needed because no further TLS connections will be established.
-			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Context-Close"><h6>Example 12.8. Closing an OpenSSL connection in an orderly fashion</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				<a class="xref" href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-OpenSSL-Context-Close">Example 13.8, “Closing an OpenSSL connection in an orderly fashion”</a> shows how to deallocate the context object when it is no longer needed because no further TLS connections will be established.
+			</div><div class="example" id="ex-Defensive_Coding-TLS-OpenSSL-Context-Close"><h6>Example 13.8. Closing an OpenSSL connection in an orderly fashion</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 SSL_CTX_free(ctx);
-</pre></div></div><br class="example-break" /></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-TLS.html"><strong>Prev</strong>Chapter 12. Transport Layer Security</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html"><strong>Next</strong>12.2.2. Implementation TLS Clients With GNUTLS</a></li></ul></body></html>
\ No newline at end of file
+</pre></div></div><br class="example-break" /></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-TLS.html"><strong>Prev</strong>Chapter 13. Transport Layer Security</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-TLS-Client-GNUTLS.html"><strong>Next</strong>13.2.2. Implementation TLS Clients With GNUTLS</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html
index 932a95c..f53ea34 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.2. Preventing file descriptor leaks to child processes</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>6.2. Preventing file descriptor leaks to child processes</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Descriptors.html" title="Chapter 5. File Descriptor Management" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Descriptors.html" title="Chapter 5. File Descriptor Management" /><link rel="next" href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html" title="5.3. Dealing with the select limit" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p
 " href="sect-Defensive_Coding-Tasks-Descriptors.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">5.2. Preventing file descriptor leaks to child processes</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Descriptors.html" title="Chapter 6. File Descriptor Management" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Descriptors.html" title="Chapter 6. File Descriptor Management" /><link rel="next" href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html" title="6.3. Dealing with the select limit" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p
 " href="sect-Defensive_Coding-Tasks-Descriptors.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">6.2. Preventing file descriptor leaks to child processes</h2></div></div></div><div class="para">
 			Child processes created with <code class="function">fork</code> share the initial set of file descriptors with their parent process. By default, file descriptors are also preserved if a new process image is created with <code class="function">execve</code> (or any of the other functions such as <code class="function">system</code> or <code class="function">posix_spawn</code>).
 		</div><div class="para">
 			Usually, this behavior is not desirable. There are two ways to turn it off, that is, to prevent new process images from inheriting the file descriptors in the parent process:
@@ -17,7 +17,7 @@
 				</div></li><li class="listitem"><div class="para">
 					After calling <code class="function">fork</code>, but before creating a new process image with <code class="function">execve</code>, all file descriptors which the child process will not need are closed.
 				</div><div class="para">
-					Traditionally, this was implemented as a loop over file descriptors ranging from <code class="literal">3</code> to <code class="literal">255</code> and later <code class="literal">1023</code>. But this is only an approximatio because it is possible to create file descriptors outside this range easily (see <a class="xref" href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html">Section 5.3, “Dealing with the <code class="function">select</code> limit”</a>). Another approach reads <code class="filename">/proc/self/fd</code> and closes the unexpected descriptors listed there, but this approach is much slower.
+					Traditionally, this was implemented as a loop over file descriptors ranging from <code class="literal">3</code> to <code class="literal">255</code> and later <code class="literal">1023</code>. But this is only an approximatio because it is possible to create file descriptors outside this range easily (see <a class="xref" href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html">Section 6.3, “Dealing with the <code class="function">select</code> limit”</a>). Another approach reads <code class="filename">/proc/self/fd</code> and closes the unexpected descriptors listed there, but this approach is much slower.
 				</div></li></ul></div><div class="para">
 			At present, environments which care about file descriptor leakage implement the second approach. OpenJDK 6 and 7 are among them.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Descriptors.html"><strong>Prev</strong>Chapter 5. File Descriptor Management</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html"><strong>Next</strong>5.3. Dealing with the select limit</a></li></ul></body></html>
\ No newline at end of file
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Descriptors.html"><strong>Prev</strong>Chapter 6. File Descriptor Management</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html"><strong>Next</strong>6.3. Dealing with the select limit</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors-Limit.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors-Limit.html
index ae02f22..4189214 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors-Limit.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors-Limit.html
@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.3. Dealing with the select limit</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>6.3. Dealing with the select limit</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Descriptors.html" title="Chapter 5. File Descriptor Management" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html" title="5.2. Preventing file descriptor leaks to child processes" /><link rel="next" href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 6. File system manipulation" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li cl
 ass="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-File_System.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Descriptors-Limit"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">5.3. Dealing with the <code class="function">select</code> limit</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Descriptors.html" title="Chapter 6. File Descriptor Management" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html" title="6.2. Preventing file descriptor leaks to child processes" /><link rel="next" href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 7. File system manipulation" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li cl
 ass="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-File_System.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Descriptors-Limit"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">6.3. Dealing with the <code class="function">select</code> limit</h2></div></div></div><div class="para">
 			By default, a user is allowed to open only 1024 files in a single process, but the system administrator can easily change this limit (which is necessary for busy network servers). However, there is another restriction which is more difficult to overcome.
 		</div><div class="para">
 			The <code class="function">select</code> function only supports a maximum of <code class="literal">FD_SETSIZE</code> file descriptors (that is, the maximum permitted value for a file descriptor is <code class="literal">FD_SETSIZE - 1</code>, usually 1023.) If a process opens many files, descriptors may exceed such limits. It is impossible to query such descriptors using <code class="function">select</code>.
 		</div><div class="para">
-			If a library which creates many file descriptors is used in the same process as a library which uses <code class="function">select</code>, at least one of them needs to be changed.  Calls to <code class="function">select</code> can be replaced with calls to <code class="function">poll</code> or another event handling mechanism.
+			If a library which creates many file descriptors is used in the same process as a library which uses <code class="function">select</code>, at least one of them needs to be changed.  Calls to <code class="function">select</code> can be replaced with calls to <code class="function">poll</code> or another event handling mechanism. Replacing the <code class="function">select</code> function is the recommended approach.
 		</div><div class="para">
 			Alternatively, the library with high descriptor usage can relocate descriptors above the <code class="literal">FD_SETSIZE</code> limit using the following procedure.
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
@@ -24,4 +24,4 @@
 					Close <code class="literal">fd</code> and continue to use <code class="literal">newfd</code>.
 				</div></li></ul></div><div class="para">
 			The new descriptor has been allocated above the <code class="literal">FD_SETSIZE</code>. Even though this algorithm is racy in the sense that the <code class="literal">FD_SETSIZE</code> first descriptors could fill up, a very high degree of physical parallelism is required before this becomes a problem.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html"><strong>Prev</strong>5.2. Preventing file descriptor leaks to child pr...</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-File_System.html"><strong>Next</strong>Chapter 6. File system manipulation</a></li></ul></body></html>
\ No newline at end of file
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html"><strong>Prev</strong>6.2. Preventing file descriptor leaks to child pr...</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-File_System.html"><strong>Next</strong>Chapter 7. File system manipulation</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors.html
index f82109e..3456f7c 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors.html
@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 5. File Descriptor Management</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 6. File Descriptor Management</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt02.html" title="Part II. Specific Programming Tasks" /><link rel="prev" href="ch04s04.html" title="4.4. Process attributes" /><link rel="next" href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html" title="5.2. Preventing file descriptor leaks to child processes" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch04s04.html"><strong>Prev</strong></a></li>
 <li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="sect-Defensive_Coding-Tasks-Descriptors" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 5. File Descriptor Management</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm224082363040">5.1. Closing descriptors</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm224082172576">5.1.1. Error handling during descriptor close</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm224104387472">5.1.2. Closing descriptors and race conditions</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm224096433216">5.1.3. Lingering state after close</a></span></dt><
 /dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html">5.2. Preventing file descriptor leaks to child processes</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html">5.3. Dealing with the <code class="function">select</code> limit</a></span></dt></dl></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt02.html" title="Part II. Specific Programming Tasks" /><link rel="prev" href="ch05s04.html" title="5.4. Process attributes" /><link rel="next" href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html" title="6.2. Preventing file descriptor leaks to child processes" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch05s04.html"><strong>Prev</strong></a></li>
 <li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="sect-Defensive_Coding-Tasks-Descriptors" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 6. File Descriptor Management</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm229826406464">6.1. Closing descriptors</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm229858842352">6.1.1. Error handling during descriptor close</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm229861890800">6.1.2. Closing descriptors and race conditions</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors.html#idm229831566976">6.1.3. Lingering state after close</a></span></dt><
 /dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html">6.2. Preventing file descriptor leaks to child processes</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html">6.3. Dealing with the <code class="function">select</code> limit</a></span></dt></dl></div><div class="para">
 		File descriptors underlie all input/output mechanisms offered by the system. They are used to implementation the <code class="literal">FILE *</code>-based functions found in <code class="literal">&lt;stdio.h&gt;</code>, and all the file and network communication facilities provided by the Python and Java environments are eventually implemented in them.
 	</div><div class="para">
 		File descriptors are small, non-negative integers in userspace, and are backed on the kernel side with complicated data structures which can sometimes grow very large.
-	</div><div class="section" id="idm224082363040"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm224082363040">5.1. Closing descriptors</h2></div></div></div><div class="para">
-			If a descriptor is no longer used by a program and is not closed explicitly, its number cannot be reused (which is problematic in itself, see <a class="xref" href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html">Section 5.3, “Dealing with the <code class="function">select</code> limit”</a>), and the kernel resources are not freed. Therefore, it is important to close all descriptors at the earlierst point in time possible, but not earlier.
-		</div><div class="section" id="idm224082172576"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224082172576">5.1.1. Error handling during descriptor close</h3></div></div></div><div class="para">
+	</div><div class="section" id="idm229826406464"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="idm229826406464">6.1. Closing descriptors</h2></div></div></div><div class="para">
+			If a descriptor is no longer used by a program and is not closed explicitly, its number cannot be reused (which is problematic in itself, see <a class="xref" href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html">Section 6.3, “Dealing with the <code class="function">select</code> limit”</a>), and the kernel resources are not freed. Therefore, it is important to close all descriptors at the earlierst point in time possible, but not earlier.
+		</div><div class="section" id="idm229858842352"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229858842352">6.1.1. Error handling during descriptor close</h3></div></div></div><div class="para">
 				The <code class="function">close</code> system call is always successful in the sense that the passed file descriptor is never valid after the function has been called. However, <code class="function">close</code> still can return an error, for example if there was a file system failure. But this error is not very useful because the absence of an error does not mean that all caches have been emptied and previous writes have been made durable. Programs which need such guarantees must open files with <code class="literal">O_SYNC</code> or use <code class="literal">fsync</code> or <code class="literal">fdatasync</code>, and may also have to <code class="literal">fsync</code> the directory containing the file.
-			</div></div><div class="section" id="idm224104387472"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224104387472">5.1.2. Closing descriptors and race conditions</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="idm229861890800"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229861890800">6.1.2. Closing descriptors and race conditions</h3></div></div></div><div class="para">
 				Unlike process IDs, which are recycle only gradually, the kernel always allocates the lowest unused file descriptor when a new descriptor is created. This means that in a multi-threaded program which constantly opens and closes file descriptors, descriptors are reused very quickly. Unless descriptor closing and other operations on the same file descriptor are synchronized (typically, using a mutex), there will be race coniditons and I/O operations will be applied to the wrong file descriptor.
 			</div><div class="para">
 				Sometimes, it is necessary to close a file descriptor concurrently, while another thread might be about to use it in a system call. In order to support this, a program needs to create a single special file descriptor, one on which all I/O operations fail. One way to achieve this is to use <code class="function">socketpair</code>, close one of the descriptors, and call <code class="literal">shutdown(fd, SHUTRDWR)</code> on the other.
@@ -20,7 +20,7 @@
 				When a descriptor is closed concurrently, the program does not call <code class="function">close</code> on the descriptor. Instead it program uses <code class="function">dup2</code> to replace the descriptor to be closed with the dummy descriptor created earlier. This way, the kernel will not reuse the descriptor, but it will carry out all other steps associated with calling a descriptor (for instance, if the descriptor refers to a stream socket, the peer will be notified).
 			</div><div class="para">
 				This is just a sketch, and many details are missing. Additional data structures are needed to determine when it is safe to really close the descriptor, and proper locking is required for that.
-			</div></div><div class="section" id="idm224096433216"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224096433216">5.1.3. Lingering state after close</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="idm229831566976"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229831566976">6.1.3. Lingering state after close</h3></div></div></div><div class="para">
 				By default, closing a stream socket returns immediately, and the kernel will try to send the data in the background. This means that it is impossible to implement accurate accounting of network-related resource utilization from userspace.
 			</div><div class="para">
 				The <code class="literal">SO_LINGER</code> socket option alters the behavior of <code class="function">close</code>, so that it will return only after the lingering data has been processed, either by sending it to the peer successfully, or by discarding it after the configured timeout. However, there is no interface which could perform this operation in the background, so a separate userspace thread is needed for each <code class="function">close</code> call, causing scalability issues.
@@ -28,4 +28,4 @@
 				Currently, there is no application-level countermeasure which applies universally. Mitigation is possible with <span class="application"><strong>iptables</strong></span> (the <code class="literal">connlimit</code> match type in particular) and specialized filtering devices for denial-of-service network traffic.
 			</div><div class="para">
 				These problems are not related to the <code class="literal">TIME_WAIT</code> state commonly seen in <span class="application"><strong>netstat</strong></span> output. The kernel automatically expires such sockets if necessary.
-			</div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch04s04.html"><strong>Prev</strong>4.4. Process attributes</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html"><strong>Next</strong>5.2. Preventing file descriptor leaks to child pr...</a></li></ul></body></html>
\ No newline at end of file
+			</div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch05s04.html"><strong>Prev</strong>5.4. Process attributes</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html"><strong>Next</strong>6.2. Preventing file descriptor leaks to child pr...</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Features.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Features.html
index 119cdad..9254557 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Features.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Features.html
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>6.4. File system features</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>7.4. File system features</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 6. File system manipulation" /><link rel="prev" href="sect-Defensive_Coding-Tasks-File_System-Limits.html" title="6.3. File system limits" /><link rel="next" href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html" title="6.5. Checking free space" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-De
 fensive_Coding-Tasks-File_System-Limits.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Features"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">6.4. File system features</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 7. File system manipulation" /><link rel="prev" href="sect-Defensive_Coding-Tasks-File_System-Limits.html" title="7.3. File system limits" /><link rel="next" href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html" title="7.5. Checking free space" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-De
 fensive_Coding-Tasks-File_System-Limits.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Features"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">7.4. File system features</h2></div></div></div><div class="para">
 			Not all file systems support all features. This makes it very difficult to write general-purpose tools for copying files. For example, a copy operation intending to preserve file permissions will generally fail when copying to a FAT file system.
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					Some file systems are case-insensitive. Most should be case-preserving, though.
@@ -30,4 +30,4 @@
 					Locking semantics vary among file systems. This affects advisory and mandatory locks. For example, some network file systems do not allow deleting files which are opened by any process.
 				</div></li><li class="listitem"><div class="para">
 					Resolution of time stamps varies from two seconds to nanoseconds. Not all time stamps are available on all file systems. File creation time (<span class="emphasis"><em>birth time</em></span>) is not exposed over the <code class="function">stat</code>/<code class="function">fstat</code> interface, even if stored by the file system.
-				</div></li></ul></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-File_System-Limits.html"><strong>Prev</strong>6.3. File system limits</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html"><strong>Next</strong>6.5. Checking free space</a></li></ul></body></html>
\ No newline at end of file
+				</div></li></ul></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-File_System-Limits.html"><strong>Prev</strong>7.3. File system limits</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html"><strong>Next</strong>7.5. Checking free space</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Foreign.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Foreign.html
index f27252f..58f4d3f 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Foreign.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Foreign.html
@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>6.2. Accessing the file system as a different user</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>7.2. Accessing the file system as a different user</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 6. File system manipulation" /><link rel="prev" href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 6. File system manipulation" /><link rel="next" href="sect-Defensive_Coding-Tasks-File_System-Limits.html" title="6.3. File system limits" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-D
 efensive_Coding-Tasks-File_System.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-File_System-Limits.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Foreign"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">6.2. Accessing the file system as a different user</h2></div></div></div><div class="para">
-			This section deals with access to the file system as a specific user. This is different from accessing files and directories owned by a different, potentially untrusted user; see <a class="xref" href="sect-Defensive_Coding-Tasks-File_System-Foreign.html">Section 6.2, “Accessing the file system as a different user”</a>.
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 7. File system manipulation" /><link rel="prev" href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 7. File system manipulation" /><link rel="next" href="sect-Defensive_Coding-Tasks-File_System-Limits.html" title="7.3. File system limits" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-D
 efensive_Coding-Tasks-File_System.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-File_System-Limits.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Foreign"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">7.2. Accessing the file system as a different user</h2></div></div></div><div class="para">
+			This section deals with access to the file system as a specific user. This is different from accessing files and directories owned by a different, potentially untrusted user; see <a class="xref" href="sect-Defensive_Coding-Tasks-File_System-Foreign.html">Section 7.2, “Accessing the file system as a different user”</a>.
 		</div><div class="para">
 			One approach is to spawn a child process which runs under the target user and group IDs (both effective and real IDs). Note that this child process can block indefinitely, even when processing regular files only. For example, a special FUSE file system could cause the process to hang in uninterruptible sleep inside a <code class="function">stat</code> system call.
 		</div><div class="para">
 			An existing process could change its user and group ID using <code class="function">setfsuid</code> and <code class="function">setfsgid</code>. (These functions are preferred over <code class="function">seteuid</code> and <code class="function">setegid</code> because they do not allow the impersonated user to send signals to the process.) These functions are not thread safe. In multi-threaded processes, these operations need to be performed in a single-threaded child process. Unexpected blocking may occur as well.
 		</div><div class="para">
 			It is not recommended to try to reimplement the kernel permission checks in user space because the required checks are complex. It is also very difficult to avoid race conditions during path name resolution.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Tasks-File_System.html"><strong>Prev</strong>Chapter 6. File system manipulation</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-File_System-Limits.html"><strong>Next</strong>6.3. File system limits</a></li></ul></body></html>
\ No newline at end of file
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Defensive_Coding-Tasks-File_System.html"><strong>Prev</strong>Chapter 7. File system manipulation</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-File_System-Limits.html"><strong>Next</strong>7.3. File system limits</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Free_Space.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Free_Space.html
index 18fa088..2660e07 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Free_Space.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Free_Space.html
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>6.5. Checking free space</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>7.5. Checking free space</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 6. File system manipulation" /><link rel="prev" href="sect-Defensive_Coding-Tasks-File_System-Features.html" title="6.4. File system features" /><link rel="next" href="chap-Defensive_Coding-Tasks-Temporary_Files.html" title="Chapter 7. Temporary files" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-De
 fensive_Coding-Tasks-File_System-Features.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Temporary_Files.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Free_Space"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">6.5. Checking free space</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 7. File system manipulation" /><link rel="prev" href="sect-Defensive_Coding-Tasks-File_System-Features.html" title="7.4. File system features" /><link rel="next" href="chap-Defensive_Coding-Tasks-Temporary_Files.html" title="Chapter 8. Temporary files" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-De
 fensive_Coding-Tasks-File_System-Features.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Temporary_Files.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Free_Space"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">7.5. Checking free space</h2></div></div></div><div class="para">
 			The <code class="function">statvfs</code> and <code class="function">fstatvfs</code> functions allow programs to examine the number of available blocks and inodes, through the members <code class="literal">f_bfree</code>, <code class="literal">f_bavail</code>, <code class="literal">f_ffree</code>, and <code class="literal">f_favail</code> of <code class="literal">struct statvfs</code>. Some file systems return fictional values in the <code class="literal">f_ffree</code> and <code class="literal">f_favail</code> fields, so the only reliable way to discover if the file system still has space for a file is to try to create it. The <code class="literal">f_bfree</code> field should be reasonably accurate, though.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-File_System-Features.html"><strong>Prev</strong>6.4. File system features</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Temporary_Files.html"><strong>Next</strong>Chapter 7. Temporary files</a></li></ul></body></html>
\ No newline at end of file
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-File_System-Features.html"><strong>Prev</strong>7.4. File system features</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Temporary_Files.html"><strong>Next</strong>Chapter 8. Temporary files</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Limits.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Limits.html
index 331c6de..0c403e8 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Limits.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Limits.html
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>6.3. File system limits</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>7.3. File system limits</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 6. File system manipulation" /><link rel="prev" href="sect-Defensive_Coding-Tasks-File_System-Foreign.html" title="6.2. Accessing the file system as a different user" /><link rel="next" href="sect-Defensive_Coding-Tasks-File_System-Features.html" title="6.4. File system features" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a 
 accesskey="p" href="sect-Defensive_Coding-Tasks-File_System-Foreign.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-File_System-Features.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Limits"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">6.3. File system limits</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 7. File system manipulation" /><link rel="prev" href="sect-Defensive_Coding-Tasks-File_System-Foreign.html" title="7.2. Accessing the file system as a different user" /><link rel="next" href="sect-Defensive_Coding-Tasks-File_System-Features.html" title="7.4. File system features" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a 
 accesskey="p" href="sect-Defensive_Coding-Tasks-File_System-Foreign.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-File_System-Features.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-File_System-Limits"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">7.3. File system limits</h2></div></div></div><div class="para">
 			For historical reasons, there are preprocessor constants such as <code class="literal">PATH_MAX</code>, <code class="literal">NAME_MAX</code>. However, on most systems, the length of canonical path names (absolute path names with all symbolic links resolved, as returned by <code class="function">realpath</code> or <code class="function">canonicalize_file_name</code>) can exceed <code class="literal">PATH_MAX</code> bytes, and individual file name components can be longer than <code class="literal">NAME_MAX</code>. This is also true of the <code class="literal">_PC_PATH_MAX</code> and <code class="literal">_PC_NAME_MAX</code> values returned by <code class="function">pathconf</code>, and the <code class="literal">f_namemax</code> member of <code class="literal">struct statvfs</code>. Therefore, these constants should not be used. This is also reason why the <code class="function">readdir_r</code> should never be used (instead, use <code class="function">readdir</code>).
 		</div><div class="para">
 			You should not write code in a way that assumes that there is an upper limit on the number of subdirectories of a directory, the number of regular files in a directory, or the link count of an inode.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-File_System-Foreign.html"><strong>Prev</strong>6.2. Accessing the file system as a different user</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-File_System-Features.html"><strong>Next</strong>6.4. File system features</a></li></ul></body></html>
\ No newline at end of file
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-File_System-Foreign.html"><strong>Prev</strong>7.2. Accessing the file system as a different user</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-File_System-Features.html"><strong>Next</strong>7.4. File system features</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html
index ff87e37..7fec0cd 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>4.3. Callbacks</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.3. Callbacks</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Library_Design.html" title="Chapter 4. Library Design" /><link rel="prev" href="ch04s02.html" title="4.2. Object orientation" /><link rel="next" href="ch04s04.html" title="4.4. Process attributes" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch04s02.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch04s04.html"
 ><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Library_Design-Callbacks"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">4.3. Callbacks</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Library_Design.html" title="Chapter 5. Library Design" /><link rel="prev" href="ch05s02.html" title="5.2. Object orientation" /><link rel="next" href="ch05s04.html" title="5.4. Process attributes" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch05s02.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch05s04.html"
 ><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Library_Design-Callbacks"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">5.3. Callbacks</h2></div></div></div><div class="para">
 			Higher-order code is difficult to analyze for humans and computers alike, so it should be avoided. Often, an iterator-based interface (a library function which is called repeatedly by client code and returns a stream of events) leads to a better design which is easier to document and use.
 		</div><div class="para">
 			If callbacks are unavoidable, some guidelines for them follow.
@@ -16,4 +16,4 @@
 			Callbacks can throw exceptions or call <code class="function">longjmp</code>. If possible, all library objects should remain in a valid state. (All further operations on them can fail, but it should be possible to deallocate them without causing resource leaks.)
 		</div><div class="para">
 			The presence of callbacks raises the question if functions provided by the library are <span class="emphasis"><em>reentrant</em></span>. Unless a library was designed for such use, bad things will happen if a callback function uses functions in the same library (particularly if they are invoked on the same objects and manipulate the same state). When the callback is invoked, the library can be in an inconsistent state. Reentrant functions are more difficult to write than thread-safe functions (by definition, simple locking would immediately lead to deadlocks). It is also difficult to decide what to do when destruction of an object which is currently processing a callback is requested.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch04s02.html"><strong>Prev</strong>4.2. Object orientation</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch04s04.html"><strong>Next</strong>4.4. Process attributes</a></li></ul></body></html>
\ No newline at end of file
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch05s02.html"><strong>Prev</strong>5.2. Object orientation</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch05s04.html"><strong>Next</strong>5.4. Process attributes</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes-Daemons.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes-Daemons.html
index 9743559..96f1055 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes-Daemons.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes-Daemons.html
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>8.4. Daemons</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.4. Daemons</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Processes.html" title="Chapter 8. Processes" /><link rel="prev" href="ch08s03.html" title="8.3. SUID/SGID processes" /><link rel="next" href="ch08s05.html" title="8.5. Semantics of command line arguments" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch08s03.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch08s
 05.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Processes-Daemons"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">8.4. Daemons</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Processes.html" title="Chapter 9. Processes" /><link rel="prev" href="ch09s03.html" title="9.3. SUID/SGID processes" /><link rel="next" href="ch09s05.html" title="9.5. Semantics of command line arguments" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch09s03.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch09s
 05.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Processes-Daemons"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">9.4. Daemons</h2></div></div></div><div class="para">
 			Background processes providing system services (<span class="emphasis"><em>daemons</em></span>) need to decouple themselves from the controlling terminal and the parent process environment:
 		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 					Fork.
@@ -20,4 +20,4 @@
 			Other aspects of the process environment may have to changed as well (environment variables, signal handler disposition).
 		</div><div class="para">
 			It is increasingly common that server processes do not run as background processes, but as regular foreground process under a supervising master process (such as <span class="application"><strong>systemd</strong></span>). Server processes should offer a command line option which disables forking and replacement of the standard output and standard error streams. Such an option is also useful for debugging.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch08s03.html"><strong>Prev</strong>8.3. SUID/SGID processes</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch08s05.html"><strong>Next</strong>8.5. Semantics of command line arguments</a></li></ul></body></html>
\ No newline at end of file
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch09s03.html"><strong>Prev</strong>9.3. SUID/SGID processes</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch09s05.html"><strong>Next</strong>9.5. Semantics of command line arguments</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html
index e779796..3ceeecc 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>8.6. fork as a primitive for parallelism</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.6. fork as a primitive for parallelism</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Processes.html" title="Chapter 8. Processes" /><link rel="prev" href="ch08s05.html" title="8.5. Semantics of command line arguments" /><link rel="next" href="chap-Defensive_Coding-Tasks-Serialization.html" title="Chapter 9. Serialization and Deserialization" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch08s05.html"><strong>Prev</strong
 ></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Serialization.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">8.6. <code class="function">fork</code> as a primitive for parallelism</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Processes.html" title="Chapter 9. Processes" /><link rel="prev" href="ch09s05.html" title="9.5. Semantics of command line arguments" /><link rel="next" href="chap-Defensive_Coding-Tasks-Serialization.html" title="Chapter 10. Serialization and Deserialization" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch09s05.html"><strong>Prev</stron
 g></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Serialization.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">9.6. <code class="function">fork</code> as a primitive for parallelism</h2></div></div></div><div class="para">
 			A call to <code class="function">fork</code> which is not immediately followed by a call to <code class="function">execve</code> (perhaps after rearranging and closing file descriptors) is typically unsafe, especially from a library which does not control the state of the entire process. Such use of <code class="function">fork</code> should be replaced with proper child processes or threads.
-		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch08s05.html"><strong>Prev</strong>8.5. Semantics of command line arguments</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Serialization.html"><strong>Next</strong>Chapter 9. Serialization and Deserialization</a></li></ul></body></html>
\ No newline at end of file
+		</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch09s05.html"><strong>Prev</strong>9.5. Semantics of command line arguments</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="chap-Defensive_Coding-Tasks-Serialization.html"><strong>Next</strong>Chapter 10. Serialization and Deserialization</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes.html
index 2294083..d4f2ebd 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes.html
@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 8. Processes</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 9. Processes</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt02.html" title="Part II. Specific Programming Tasks" /><link rel="prev" href="ch07s05.html" title="7.5. Compensating for unsafe file creation" /><link rel="next" href="ch08s02.html" title="8.2. Handling child process termination" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch07s05.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch08s0
 2.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="sect-Defensive_Coding-Tasks-Processes" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 8. Processes</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Creation">8.1. Safe process creation</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#idm224085976560">8.1.1. Obtaining the program path and the command line template</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-execve">8.1.2. Bypassing the shell</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">8.1.3. Specifying the process environment</a></span></dt><dt><span class="section"
 ><a href="sect-Defensive_Coding-Tasks-Processes.html#idm224133722384">8.1.4. Robust argument list processing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">8.1.5. Passing secrets to subprocesses</a></span></dt></dl></dd><dt><span class="section"><a href="ch08s02.html">8.2. Handling child process termination</a></span></dt><dt><span class="section"><a href="ch08s03.html">8.3. <code class="literal">SUID</code>/<code class="literal">SGID</code> processes</a></span></dt><dd><dl><dt><span class="section"><a href="ch08s03.html#sect-Defensive_Coding-Tasks-secure_getenv">8.3.1. Accessing environment variables</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes-Daemons.html">8.4. Daemons</a></span></dt><dt><span class="section"><a href="ch08s05.html">8.5. Semantics of command line arguments</a></span></dt><dt><span class="section">
 <a href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html">8.6. <code class="function">fork</code> as a primitive for parallelism</a></span></dt></dl></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-Creation"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">8.1. Safe process creation</h2></div></div></div><div class="para">
-			This section describes how to create new child processes in a safe manner. In addition to the concerns addressed below, there is the possibility of file descriptor leaks, see <a class="xref" href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html">Section 5.2, “Preventing file descriptor leaks to child processes”</a>.
-		</div><div class="section" id="idm224085976560"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224085976560">8.1.1. Obtaining the program path and the command line template</h3></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="pt02.html" title="Part II. Specific Programming Tasks" /><link rel="prev" href="ch08s05.html" title="8.5. Compensating for unsafe file creation" /><link rel="next" href="ch09s02.html" title="9.2. Handling child process termination" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch08s05.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch09s0
 2.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="sect-Defensive_Coding-Tasks-Processes" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 9. Processes</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Creation">9.1. Safe process creation</a></span></dt><dd><dl><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#idm229834357072">9.1.1. Obtaining the program path and the command line template</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-execve">9.1.2. Bypassing the shell</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">9.1.3. Specifying the process environment</a></span></dt><dt><span class="section"
 ><a href="sect-Defensive_Coding-Tasks-Processes.html#idm229858016128">9.1.4. Robust argument list processing</a></span></dt><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">9.1.5. Passing secrets to subprocesses</a></span></dt></dl></dd><dt><span class="section"><a href="ch09s02.html">9.2. Handling child process termination</a></span></dt><dt><span class="section"><a href="ch09s03.html">9.3. <code class="literal">SUID</code>/<code class="literal">SGID</code> processes</a></span></dt><dd><dl><dt><span class="section"><a href="ch09s03.html#sect-Defensive_Coding-Tasks-secure_getenv">9.3.1. Accessing environment variables</a></span></dt></dl></dd><dt><span class="section"><a href="sect-Defensive_Coding-Tasks-Processes-Daemons.html">9.4. Daemons</a></span></dt><dt><span class="section"><a href="ch09s05.html">9.5. Semantics of command line arguments</a></span></dt><dt><span class="section">
 <a href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html">9.6. <code class="function">fork</code> as a primitive for parallelism</a></span></dt></dl></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-Creation"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">9.1. Safe process creation</h2></div></div></div><div class="para">
+			This section describes how to create new child processes in a safe manner. In addition to the concerns addressed below, there is the possibility of file descriptor leaks, see <a class="xref" href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html">Section 6.2, “Preventing file descriptor leaks to child processes”</a>.
+		</div><div class="section" id="idm229834357072"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229834357072">9.1.1. Obtaining the program path and the command line template</h3></div></div></div><div class="para">
 				The name and path to the program being invoked should be hard-coded or controlled by a static configuration file stored at a fixed location (at an file system absolute path). The same applies to the template for generating the command line.
 			</div><div class="para">
-				The configured program name should be an absolute path. If it is a relative path, the contents of the <code class="envar">PATH</code> must be obtained in s secure manner (see <a class="xref" href="ch08s03.html#sect-Defensive_Coding-Tasks-secure_getenv">Section 8.3.1, “Accessing environment variables”</a>). If the <code class="envar">PATH</code> variable is not set or untrusted, the safe default <code class="literal">/bin:/usr/bin</code> must be used.
+				The configured program name should be an absolute path. If it is a relative path, the contents of the <code class="envar">PATH</code> must be obtained in s secure manner (see <a class="xref" href="ch09s03.html#sect-Defensive_Coding-Tasks-secure_getenv">Section 9.3.1, “Accessing environment variables”</a>). If the <code class="envar">PATH</code> variable is not set or untrusted, the safe default <code class="literal">/bin:/usr/bin</code> must be used.
 			</div><div class="para">
 				If too much flexibility is provided here, it may allow invocation of arbitrary programs without proper authorization.
-			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-execve"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">8.1.2. Bypassing the shell</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-execve"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.1.2. Bypassing the shell</h3></div></div></div><div class="para">
 				Child processes should be created without involving the system shell.
 			</div><div class="para">
 				For C/C++, <code class="function">system</code> should not be used. The <code class="function">posix_spawn</code> function can be used instead, or a combination <code class="function">fork</code> and <code class="function">execve</code>. (In some cases, it may be preferable to use <code class="function">vfork</code> or the Linux-specific <code class="function">clone</code> system call instead of <code class="function">fork</code>.)
@@ -24,7 +24,7 @@
 					On Windows, there is no argument vector, only a single argument string. Each application is responsible for parsing this string into an argument vector. There is considerable variance among the quoting style recognized by applications. Some of them expand shell wildcards, others do not. Extensive application-specific testing is required to make this secure.
 				</div></div></div><div class="para">
 				Note that some common applications (notably <span class="application"><strong>ssh</strong></span>) unconditionally introduce the use of a shell, even if invoked directly without a shell. It is difficult to use these applications in a secure manner. In this case, untrusted data should be supplied by other means. For example, standard input could be used, instead of the command line.
-			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-environ"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">8.1.3. Specifying the process environment</h3></div></div></div><div class="para">
+			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-environ"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.1.3. Specifying the process environment</h3></div></div></div><div class="para">
 				Child processes should be created with a minimal set of environment variables. This is absolutely essential if there is a trust transition involved, either when the parent process was created, or during the creation of the child process.
 			</div><div class="para">
 				In C/C++, the environment should be constructed as an array of strings and passed as the <code class="varname">envp</code> argument to <code class="function">posix_spawn</code> or <code class="function">execve</code>. The functions <code class="function">setenv</code>, <code class="function">unsetenv</code> and <code class="function">putenv</code> should not be used. They are not thread-safe and suffer from memory leaks.
@@ -41,10 +41,10 @@
 					</div></li><li class="listitem"><div class="para">
 						The location-related environment variables <code class="envar">LANG</code>, <code class="envar">LANGUAGE</code>, <code class="envar">LC_ADDRESS</code>, <code class="envar">LC_ALL</code>, <code class="envar">LC_COLLATE</code>, <code class="envar">LC_CTYPE</code>, <code class="envar">LC_IDENTIFICATION</code>, <code class="envar">LC_MEASUREMENT</code>, <code class="envar">LC_MESSAGES</code>, <code class="envar">LC_MONETARY</code>, <code class="envar">LC_NAME</code>, <code class="envar">LC_NUMERIC</code>, <code class="envar">LC_PAPER</code>, <code class="envar">LC_TELEPHONE</code> and <code class="envar">LC_TIME</code> can be passed to the subprocess if present.
 					</div></li><li class="listitem"><div class="para">
-						The called process may need application-specific environment variables, for example for passing passwords. (See <a class="xref" href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">Section 8.1.5, “Passing secrets to subprocesses”</a>.)
+						The called process may need application-specific environment variables, for example for passing passwords. (See <a class="xref" href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">Section 9.1.5, “Passing secrets to subprocesses”</a>.)
 					</div></li><li class="listitem"><div class="para">
 						All other environment variables should be dropped. Names for new environment variables should not be accepted from untrusted sources.
-					</div></li></ul></div></div><div class="section" id="idm224133722384"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm224133722384">8.1.4. Robust argument list processing</h3></div></div></div><div class="para">
+					</div></li></ul></div></div><div class="section" id="idm229858016128"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="idm229858016128">9.1.4. Robust argument list processing</h3></div></div></div><div class="para">
 				When invoking a program, it is sometimes necessary to include data from untrusted sources. Such data should be check against embedded <code class="literal">NUL</code> characters because the system APIs will sliently truncate argument strings at the first <code class="literal">NUL</code> character.
 			</div><div class="para">
 				The following recommendations assume that the program being invoked uses GNU-style option processing using <code class="function">getopt_long</code>. This convention is widely used, but it is just that, and individual programs might interpret a command line in a different way.
@@ -52,10 +52,10 @@
 				If the untrusted data has to go into an option, use the <code class="literal">--option-name=VALUE</code> syntax, placing the option and its value into the same command line argument. This avoids any potential confusion if the data starts with <code class="literal">-</code>.
 			</div><div class="para">
 				For positional arguments, terminate the option list with a single <code class="option">--</code> marker after the last option, and include the data at the right position. The <code class="option">--</code> marker terminates option processing, and the data will not be treated as an option even if it starts with a dash.
-			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">8.1.5. Passing secrets to subprocesses</h3></div></div></div><div class="para">
-				The command line (the name of the program and its argument) of a running process is traditionally available to all local users. The called program can overwrite this information, but only after it has run for a bit of time, during which the information may have been read by other processes. However, on Linux, the process environment is restricted to the user who runs the process. Therefore, if you need a convenient way to pass a password to a child process, use an environment variable, and not a command line argument. (See <a class="xref" href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">Section 8.1.3, “Specifying the process environment”</a>.)
+			</div></div><div class="section" id="sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.1.5. Passing secrets to subprocesses</h3></div></div></div><div class="para">
+				The command line (the name of the program and its argument) of a running process is traditionally available to all local users. The called program can overwrite this information, but only after it has run for a bit of time, during which the information may have been read by other processes. However, on Linux, the process environment is restricted to the user who runs the process. Therefore, if you need a convenient way to pass a password to a child process, use an environment variable, and not a command line argument. (See <a class="xref" href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">Section 9.1.3, “Specifying the process environment”</a>.)
 			</div><div class="important"><div class="admonition_header"><h2>Portability notice</h2></div><div class="admonition"><div class="para">
 					On some UNIX-like systems (notably Solaris), environment variables can be read by any system user, just like command lines.
 				</div></div></div><div class="para">
 				If the environment-based approach cannot be used due to portability concerns, the data can be passed on standard input. Some programs (notably <span class="application"><strong>gpg</strong></span>) use special file descriptors whose numbers are specified on the command line. Temporary files are an option as well, but they might give digital forensics access to sensitive data (such as passphrases) because it is difficult to safely delete them in all cases.
-			</div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch07s05.html"><strong>Prev</strong>7.5. Compensating for unsafe file creation</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch08s02.html"><strong>Next</strong>8.2. Handling child process termination</a></li></ul></body></html>
\ No newline at end of file
+			</div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch08s05.html"><strong>Prev</strong>8.5. Compensating for unsafe file creation</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch09s02.html"><strong>Next</strong>9.2. Handling child process termination</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-Qt.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-Qt.html
index 37c40cb..abe5043 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-Qt.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-Qt.html
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.4.6. Using Qt for XML parsing</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>10.4.6. Using Qt for XML parsing</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="9.4. XML serialization" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html" title="9.4.5. Using Expat for XML parsing" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html" title="9.4.7. Using OpenJDK for XML parsing and validation" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li cla
 ss="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-Qt"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.4.6. Using Qt for XML parsing</h3></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="10.4. XML serialization" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html" title="10.4.5. Using Expat for XML parsing" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html" title="10.4.7. Using OpenJDK for XML parsing and validation" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li 
 class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-Qt"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">10.4.6. Using Qt for XML parsing</h3></div></div></div><div class="para">
 				The XML component of Qt, QtXml, does not resolve external IDs by default, so it is not requred to prevent such resolution. Internal entities are processed, though. To change that, a custom <code class="literal">QXmlDeclHandler</code> and <code class="literal">QXmlSimpleReader</code> subclasses are needed. It is not possible to use the <code class="function">QDomDocument::setContent(const QByteArray &amp;)</code> convenience methods.
 			</div><div class="para">
-				<a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityHandler">Example 9.3, “A QtXml entity handler which blocks entity processing”</a> shows an entity handler which always returns errors, causing parsing to stop when encountering entity declarations.
-			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityHandler"><h6>Example 9.3. A QtXml entity handler which blocks entity processing</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				<a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityHandler">Example 10.3, “A QtXml entity handler which blocks entity processing”</a> shows an entity handler which always returns errors, causing parsing to stop when encountering entity declarations.
+			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityHandler"><h6>Example 10.3. A QtXml entity handler which blocks entity processing</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 class NoEntityHandler : public QXmlDeclHandler {
 public:
   bool attributeDecl(<span class="perl_DataType">const</span> QString&amp;, <span class="perl_DataType">const</span> QString&amp;, <span class="perl_DataType">const</span> QString&amp;,
@@ -46,8 +46,8 @@ NoEntityHandler::errorString() <span class="perl_DataType">const</span>
   <span class="perl_Keyword">return</span> <span class="perl_String">"XML declaration not permitted"</span>;
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				This handler is used in the custom <code class="literal">QXmlReader</code> subclass in <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityReader">Example 9.4, “A QtXml XML reader which blocks entity processing”</a>. Some parts of QtXml will call the <code class="function">setDeclHandler(QXmlDeclHandler *)</code> method. Consequently, we prevent overriding our custom handler by providing a definition of this method which does nothing. In the constructor, we activate namespace processing; this part may need adjusting.
-			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityReader"><h6>Example 9.4. A QtXml XML reader which blocks entity processing</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				This handler is used in the custom <code class="literal">QXmlReader</code> subclass in <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityReader">Example 10.4, “A QtXml XML reader which blocks entity processing”</a>. Some parts of QtXml will call the <code class="function">setDeclHandler(QXmlDeclHandler *)</code> method. Consequently, we prevent overriding our custom handler by providing a definition of this method which does nothing. In the constructor, we activate namespace processing; this part may need adjusting.
+			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityReader"><h6>Example 10.4. A QtXml XML reader which blocks entity processing</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 class NoEntityReader : public QXmlSimpleReader {
   NoEntityHandler handler;
 public:
@@ -68,8 +68,8 @@ NoEntityReader::setDeclHandler(QXmlDeclHandler *)
   <span class="perl_Comment">// Ignore the handler which was passed in.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>}
 </pre></div></div><br class="example-break" /><div class="para">
-				Our <code class="literal">NoEntityReader</code> class can be used with one of the overloaded <code class="function">QDomDocument::setContent</code> methods. <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-QDomDocument">Example 9.5, “Parsing an XML document with QDomDocument, without entity expansion”</a> shows how the <code class="literal">buffer</code> object (of type <code class="literal">QByteArray</code>) is wrapped as a <code class="literal">QXmlInputSource</code>. After calling the <code class="function">setContent</code> method, you should check the return value and report any error.
-			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-QDomDocument"><h6>Example 9.5. Parsing an XML document with QDomDocument, without entity expansion</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				Our <code class="literal">NoEntityReader</code> class can be used with one of the overloaded <code class="function">QDomDocument::setContent</code> methods. <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-QDomDocument">Example 10.5, “Parsing an XML document with QDomDocument, without entity expansion”</a> shows how the <code class="literal">buffer</code> object (of type <code class="literal">QByteArray</code>) is wrapped as a <code class="literal">QXmlInputSource</code>. After calling the <code class="function">setContent</code> method, you should check the return value and report any error.
+			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-QDomDocument"><h6>Example 10.5. Parsing an XML document with QDomDocument, without entity expansion</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 NoEntityReader reader;
 QBuffer buffer(&amp;data);
 buffer.open(QIODevice::ReadOnly);
@@ -80,4 +80,4 @@ QString errorMsg;
 <span class="perl_DataType">int</span> errorColumn;
 bool okay = doc.setContent
   (&amp;source, &amp;reader, &amp;errorMsg, &amp;errorLine, &amp;errorColumn);
-</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html"><strong>Prev</strong>9.4.5. Using Expat for XML parsing</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html"><strong>Next</strong>9.4.7. Using OpenJDK for XML parsing and validati...</a></li></ul></body></html>
\ No newline at end of file
+</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html"><strong>Prev</strong>10.4.5. Using Expat for XML parsing</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html"><strong>Next</strong>10.4.7. Using OpenJDK for XML parsing and validat...</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html
index 6d87f0c..db38615 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.4.2. Entity expansion</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>10.4.2. Entity expansion</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="9.4. XML serialization" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="9.4. XML serialization" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html" title="9.4.3. XInclude processing" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defens
 ive_Coding-Tasks-Serialization-XML.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-Entities"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.4.2. Entity expansion</h3></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="10.4. XML serialization" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="10.4. XML serialization" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html" title="10.4.3. XInclude processing" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Def
 ensive_Coding-Tasks-Serialization-XML.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-Entities"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">10.4.2. Entity expansion</h3></div></div></div><div class="para">
 				When external DTD processing is disabled, an internal DTD subset can still contain entity definitions. Entity declarations can reference other entities. Some XML libraries expand entities automatically, and this processing cannot be switched off in some places (such as attribute values or content models). Without limits on the entity nesting level, this expansion results in data which can grow exponentially in length with size of the input. (If there is a limit on the nesting level, the growth is still polynomial, unless further limits are imposed.)
 			</div><div class="para">
 				Consequently, the processing internal DTD subsets should be disabled if possible, and only trusted DTDs should be processed. If a particular XML application does not permit such restrictions, then application-specific limits are called for.
-			</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML.html"><strong>Prev</strong>9.4. XML serialization</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html"><strong>Next</strong>9.4.3. XInclude processing</a></li></ul></body></html>
\ No newline at end of file
+			</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML.html"><strong>Prev</strong>10.4. XML serialization</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html"><strong>Next</strong>10.4.3. XInclude processing</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html
index 2c2c417..dfe1d6f 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.4.5. Using Expat for XML parsing</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>10.4.5. Using Expat for XML parsing</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="9.4. XML serialization" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html" title="9.4.4. Algorithmic complexity of XML validation" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html" title="9.4.6. Using Qt for XML parsing" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a 
 accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-Expat"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.4.5. Using Expat for XML parsing</h3></div></div></div><div class="para">
-				By default, Expat does not try to resolve external IDs, so no steps are required to block them. However, internal entity declarations are processed. Installing a callback which stops parsing as soon as such entities are encountered disables them, see <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html#ex-Defensive_Coding-Tasks-Serialization-XML-Expat-EntityDeclHandler">Example 9.1, “Disabling XML entity processing with Expat”</a>. Expat does not perform any validation, so there are no problems related to that.
-			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Expat-EntityDeclHandler"><h6>Example 9.1. Disabling XML entity processing with Expat</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="10.4. XML serialization" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html" title="10.4.4. Algorithmic complexity of XML validation" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html" title="10.4.6. Using Qt for XML parsing" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous">
 <a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-Expat"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">10.4.5. Using Expat for XML parsing</h3></div></div></div><div class="para">
+				By default, Expat does not try to resolve external IDs, so no steps are required to block them. However, internal entity declarations are processed. Installing a callback which stops parsing as soon as such entities are encountered disables them, see <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html#ex-Defensive_Coding-Tasks-Serialization-XML-Expat-EntityDeclHandler">Example 10.1, “Disabling XML entity processing with Expat”</a>. Expat does not perform any validation, so there are no problems related to that.
+			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Expat-EntityDeclHandler"><h6>Example 10.1. Disabling XML entity processing with Expat</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Comment">// Stop the parser when an entity declaration is encountered.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span><span class="perl_DataType">static</span> <span class="perl_DataType">void</span>
 EntityDeclHandler(<span class="perl_DataType">void</span> *userData,
@@ -18,8 +18,8 @@ EntityDeclHandler(<span class="perl_DataType">void</span> *userData,
   XML_StopParser((XML_Parser)userData, XML_FALSE);
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				This handler must be installed when the <code class="literal">XML_Parser</code> object is created (<a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html#ex-Defensive_Coding-Tasks-Serialization-XML-Expat-Create">Example 9.2, “Creating an Expat XML parser”</a>).
-			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Expat-Create"><h6>Example 9.2. Creating an Expat XML parser</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				This handler must be installed when the <code class="literal">XML_Parser</code> object is created (<a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html#ex-Defensive_Coding-Tasks-Serialization-XML-Expat-Create">Example 10.2, “Creating an Expat XML parser”</a>).
+			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-Expat-Create"><h6>Example 10.2. Creating an Expat XML parser</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 XML_Parser parser = XML_ParserCreate(<span class="perl_String">"UTF-8"</span>);
 <span class="perl_Keyword">if</span> (parser == NULL) {
   fprintf(stderr, <span class="perl_String">"XML_ParserCreate failed</span><span class="perl_Char">\n</span><span class="perl_String">"</span>);
@@ -33,4 +33,4 @@ XML_Parser parser = XML_ParserCreate(<span class="perl_String">"UTF-8"</span>);
 <span class="perl_Comment"></span>XML_SetEntityDeclHandler(parser, EntityDeclHandler);
 </pre></div></div><br class="example-break" /><div class="para">
 				It is also possible to reject internal DTD subsets altogeher, using a suitable <code class="literal">XML_StartDoctypeDeclHandler</code> handler installed with <code class="function">XML_SetDoctypeDeclHandler</code>.
-			</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html"><strong>Prev</strong>9.4.4. Algorithmic complexity of XML validation</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html"><strong>Next</strong>9.4.6. Using Qt for XML parsing</a></li></ul></body></html>
\ No newline at end of file
+			</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html"><strong>Prev</strong>10.4.4. Algorithmic complexity of XML validation</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html"><strong>Next</strong>10.4.6. Using Qt for XML parsing</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html
new file mode 100644
index 0000000..1541303
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>10.4.7.3. Other XML parsers in OpenJDK</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+              addID('Fedora_Security_Team');
+              
+              addID('Fedora_Security_Team..books');
+	      addID('Fedora_Security_Team..Defensive_Coding');
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html" title="10.4.7. Using OpenJDK for XML parsing and validation" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html" title="10.4.7.2. XML Schema validation in OpenJDK" /><link rel="next" href="ch10s05.html" title="10.5. Protocol Encoders" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a
  accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch10s05.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">10.4.7.3. Other XML parsers in OpenJDK</h4></div></div></div><div class="para">
+					OpenJDK contains additional XML parsing and processing facilities. Some of them are insecure.
+				</div><div class="para">
+					The class <span class="type">java.beans.XMLDecoder</span> acts as a bridge between the Java object serialization format and XML. It is close to impossible to securely deserialize Java objects in this format from untrusted inputs, so its use is not recommended, as with the Java object serialization format itself. See <a class="xref" href="ch10s03.html#sect-Defensive_Coding-Tasks-Serialization-Library">Section 10.3, “Library support for deserialization”</a>.
+				</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html"><strong>Prev</strong>10.4.7.2. XML Schema validation in OpenJDK</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch10s05.html"><strong>Next</strong>10.5. Protocol Encoders</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html
index 544c97e..447af8f 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.4.7.2. XML Schema validation in OpenJDK</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>10.4.7.2. XML Schema validation in OpenJDK</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html" title="9.4.7. Using OpenJDK for XML parsing and validation" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html" title="9.4.7. Using OpenJDK for XML parsing and validation" /><link rel="next" href="ch09s05.html" title="9.5. Protocol Encoders" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"
 ><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ch09s05.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">9.4.7.2. XML Schema validation in OpenJDK</h4></div></div></div><div class="para">
-					<a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_SAX">Example 9.10, “SAX-based validation against an XML schema in OpenJDK”</a> shows how to validate a document against an XML Schema, using a SAX-based approach. The XML data is read from an <code class="literal">java.io.InputStream</code> in the <code class="literal">inputStream</code> variable.
-				</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_SAX"><h6>Example 9.10. SAX-based validation against an XML schema in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html" title="10.4.7. Using OpenJDK for XML parsing and validation" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html" title="10.4.7. Using OpenJDK for XML parsing and validation" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html" title="10.4.7.3. Other XML parsers in OpenJDK" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png
 " alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">10.4.7.2. XML Schema validation in OpenJDK</h4></div></div></div><div class="para">
+					<a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_SAX">Example 10.10, “SAX-based validation against an XML schema in OpenJDK”</a> shows how to validate a document against an XML Schema, using a SAX-based approach. The XML data is read from an <code class="literal">java.io.InputStream</code> in the <code class="literal">inputStream</code> variable.
+				</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_SAX"><h6>Example 10.10. SAX-based validation against an XML schema in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 SchemaFactory factory = SchemaFactory.<span class="perl_Function">newInstance</span>(
         XMLConstants.<span class="perl_Function">W3C_XML_SCHEMA_NS_URI</span>);
 
@@ -28,10 +28,10 @@ Validator validator = schema.<span class="perl_Function">newValidator</span>();
 
 validator.<span class="perl_Function">validate</span>(<span class="perl_Keyword">new</span> SAXSource(<span class="perl_Keyword">new</span> InputSource(inputStream)));
 </pre></div></div><br class="example-break" /><div class="para">
-					The <code class="literal">NoResourceResolver</code> class is defined in <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoResourceResolver">Example 9.7, “Helper class to prevent schema resolution in OpenJDK”</a>.
+					The <code class="literal">NoResourceResolver</code> class is defined in <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoResourceResolver">Example 10.7, “Helper class to prevent schema resolution in OpenJDK”</a>.
 				</div><div class="para">
-					If you need to validate a document against an XML schema, use the code in <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM">Example 9.9, “DOM-based XML parsing in OpenJDK”</a> to create the document, but do not enable validation at this point. Then use <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_DOM">Example 9.11, “Validation of a DOM document against an XML schema in OpenJDK”</a> to perform the schema-based validation on the <code class="literal">org.w3c.dom.Document</code> instance <code class="literal">document</code>.
-				</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_DOM"><h6>Example 9.11. Validation of a DOM document against an XML schema in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+					If you need to validate a document against an XML schema, use the code in <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM">Example 10.9, “DOM-based XML parsing in OpenJDK”</a> to create the document, but do not enable validation at this point. Then use <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_DOM">Example 10.11, “Validation of a DOM document against an XML schema in OpenJDK”</a> to perform the schema-based validation on the <code class="literal">org.w3c.dom.Document</code> instance <code class="literal">document</code>.
+				</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_DOM"><h6>Example 10.11. Validation of a DOM document against an XML schema in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 SchemaFactory factory = SchemaFactory.<span class="perl_Function">newInstance</span>(
         XMLConstants.<span class="perl_Function">W3C_XML_SCHEMA_NS_URI</span>);
 
@@ -49,4 +49,4 @@ Validator validator = schema.<span class="perl_Function">newValidator</span>();
 <span class="perl_Comment">// This prevents external resource resolution.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>validator.<span class="perl_Function">setResourceResolver</span>(<span class="perl_Keyword">new</span> <span class="perl_Function">NoResourceResolver</span>());
 validator.<span class="perl_Function">validate</span>(<span class="perl_Keyword">new</span> DOMSource(document));
-</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html"><strong>Prev</strong>9.4.7. Using OpenJDK for XML parsing and validati...</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ch09s05.html"><strong>Next</strong>9.5. Protocol Encoders</a></li></ul></body></html>
\ No newline at end of file
+</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html"><strong>Prev</strong>10.4.7. Using OpenJDK for XML parsing and validat...</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html"><strong>Next</strong>10.4.7.3. Other XML parsers in OpenJDK</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html
index 2aae8f2..4b7a41b 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html
@@ -1,16 +1,16 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.4.7. Using OpenJDK for XML parsing and validation</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>10.4.7. Using OpenJDK for XML parsing and validation</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="9.4. XML serialization" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html" title="9.4.6. Using Qt for XML parsing" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html" title="9.4.7.2. XML Schema validation in OpenJDK" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a
  accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.4.7. Using OpenJDK for XML parsing and validation</h3></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="10.4. XML serialization" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html" title="10.4.6. Using Qt for XML parsing" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html" title="10.4.7.2. XML Schema validation in OpenJDK" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"
 ><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">10.4.7. Using OpenJDK for XML parsing and validation</h3></div></div></div><div class="para">
 				OpenJDK contains facilities for DOM-based, SAX-based, and StAX-based document parsing. Documents can be validated against DTDs or XML schemas.
 			</div><div class="para">
-				The approach taken to deal with entity expansion differs from the general recommendation in <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html">Section 9.4.2, “Entity expansion”</a>. We enable the the feature flag <code class="literal">javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING</code>, which enforces heuristic restrictions on the number of entity expansions. Note that this flag alone does not prevent resolution of external references (system IDs or public IDs), so it is slightly misnamed.
+				The approach taken to deal with entity expansion differs from the general recommendation in <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html">Section 10.4.2, “Entity expansion”</a>. We enable the the feature flag <code class="literal">javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING</code>, which enforces heuristic restrictions on the number of entity expansions. Note that this flag alone does not prevent resolution of external references (system IDs or public IDs), so it is slightly misnamed.
 			</div><div class="para">
 				In the following sections, we use helper classes to prevent external ID resolution.
-			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoEntityResolver"><h6>Example 9.6. Helper class to prevent DTD external entity resolution in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoEntityResolver"><h6>Example 10.6. Helper class to prevent DTD external entity resolution in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Keyword">class</span> NoEntityResolver <span class="perl_Keyword">implements</span> EntityResolver {
     @Override
     <span class="perl_Keyword">public</span> InputSource <span class="perl_Function">resolveEntity</span>(String publicId, String systemId)
@@ -20,7 +20,7 @@
 <span class="perl_Function"></span>                <span class="perl_String">"attempt to resolve </span><span class="perl_Char">\"</span><span class="perl_String">%s</span><span class="perl_Char">\"</span><span class="perl_String"> </span><span class="perl_Char">\"</span><span class="perl_String">%s</span><span class="perl_Char">\"</span><span class="perl_String">"</span>, publicId, systemId));
     }
 }
-</pre></div></div><br class="example-break" /><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoResourceResolver"><h6>Example 9.7. Helper class to prevent schema resolution in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+</pre></div></div><br class="example-break" /><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoResourceResolver"><h6>Example 10.7. Helper class to prevent schema resolution in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Keyword">class</span> NoResourceResolver <span class="perl_Keyword">implements</span> LSResourceResolver {
     @Override
     <span class="perl_Keyword">public</span> LSInput <span class="perl_Function">resolveResource</span>(String type, String namespaceURI,
@@ -33,8 +33,8 @@
     }
 }
 </pre></div></div><br class="example-break" /><div class="para">
-				<a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-Imports">Example 9.8, “Java imports for OpenJDK XML parsing”</a> shows the imports used by the examples.
-			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-Imports"><h6>Example 9.8. Java imports for OpenJDK XML parsing</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+				<a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-Imports">Example 10.8, “Java imports for OpenJDK XML parsing”</a> shows the imports used by the examples.
+			</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-Imports"><h6>Example 10.8. Java imports for OpenJDK XML parsing</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 <span class="perl_Keyword">import</span> javax.xml.XMLConstants;
 <span class="perl_Keyword">import</span> javax.xml.parsers.DocumentBuilder;
 <span class="perl_Keyword">import</span> javax.xml.parsers.DocumentBuilderFactory;
@@ -56,9 +56,9 @@
 <span class="perl_Keyword">import</span> org.xml.sax.SAXException;
 <span class="perl_Keyword">import</span> org.xml.sax.SAXParseException;
 <span class="perl_Keyword">import org.xml.sax.XMLReader;</span>
-</pre></div></div><br class="example-break" /><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">9.4.7.1. DOM-based XML parsing and DTD validation in OpenJDK</h4></div></div></div><div class="para">
-					This approach produces a <code class="literal">org.w3c.dom.Document</code> object from an input stream. <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM">Example 9.9, “DOM-based XML parsing in OpenJDK”</a> use the data from the <code class="literal">java.io.InputStream</code> instance in the <code class="literal">inputStream</code> variable.
-				</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM"><h6>Example 9.9. DOM-based XML parsing in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
+</pre></div></div><br class="example-break" /><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title">10.4.7.1. DOM-based XML parsing and DTD validation in OpenJDK</h4></div></div></div><div class="para">
+					This approach produces a <code class="literal">org.w3c.dom.Document</code> object from an input stream. <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM">Example 10.9, “DOM-based XML parsing in OpenJDK”</a> use the data from the <code class="literal">java.io.InputStream</code> instance in the <code class="literal">inputStream</code> variable.
+				</div><div class="example" id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM"><h6>Example 10.9. DOM-based XML parsing in OpenJDK</h6><div class="example-contents"><pre xml:lang="en-US" class="programlisting" lang="en-US">
 DocumentBuilderFactory factory = DocumentBuilderFactory.<span class="perl_Function">newInstance</span>();
 <span class="perl_Comment">// Impose restrictions on the complexity of the DTD.</span><span class="perl_Comment"></span>
 <span class="perl_Comment"></span>factory.<span class="perl_Function">setFeature</span>(XMLConstants.<span class="perl_Function">FEATURE_SECURE_PROCESSING</span>, <span class="perl_Keyword">true</span>);
@@ -73,7 +73,7 @@ builder.<span class="perl_Function">setEntityResolver</span>(<span class="perl_K
 builder.<span class="perl_Function">setErrorHandler</span>(<span class="perl_Keyword">new</span> <span class="perl_Function">Errors</span>());
 Document document = builder.<span class="perl_Function">parse</span>(inputStream);
 </pre></div></div><br class="example-break" /><div class="para">
-					External entity references are prohibited using the <code class="literal">NoEntityResolver</code> class in <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoEntityResolver">Example 9.6, “Helper class to prevent DTD external entity resolution in OpenJDK”</a>. Because external DTD references are prohibited, DTD validation (if enabled) will only happen against the internal DTD subset embedded in the XML document.
+					External entity references are prohibited using the <code class="literal">NoEntityResolver</code> class in <a class="xref" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoEntityResolver">Example 10.6, “Helper class to prevent DTD external entity resolution in OpenJDK”</a>. Because external DTD references are prohibited, DTD validation (if enabled) will only happen against the internal DTD subset embedded in the XML document.
 				</div><div class="para">
 					To validate the document against an external DTD, use a <code class="literal">javax.xml.transform.Transformer</code> class to add the DTD reference to the document, and an entity resolver which whitelists this external reference.
-				</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html"><strong>Prev</strong>9.4.6. Using Qt for XML parsing</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html"><strong>Next</strong>9.4.7.2. XML Schema validation in OpenJDK</a></li></ul></body></html>
\ No newline at end of file
+				</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html"><strong>Prev</strong>10.4.6. Using Qt for XML parsing</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html"><strong>Next</strong>10.4.7.2. XML Schema validation in OpenJDK</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html
index 7aeb2d6..50f8577 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.4.4. Algorithmic complexity of XML validation</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>10.4.4. Algorithmic complexity of XML validation</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="9.4. XML serialization" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html" title="9.4.3. XInclude processing" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html" title="9.4.5. Using Expat for XML parsing" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p"
  href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-Validation"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.4.4. Algorithmic complexity of XML validation</h3></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="10.4. XML serialization" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html" title="10.4.3. XInclude processing" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html" title="10.4.5. Using Expat for XML parsing" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey=
 "p" href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-Validation"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">10.4.4. Algorithmic complexity of XML validation</h3></div></div></div><div class="para">
 				DTD-based XML validation uses regular expressions for content models. The XML specification requires that content models are deterministic, which means that efficient validation is possible. However, some implementations do not enforce determinism, and require exponential (or just polynomial) amount of space or time for validating some DTD/document combinations.
 			</div><div class="para">
 				XML schemas and RELAX NG (via the <code class="literal">xsd:</code> prefix) directly support textual regular expressions which are not required to be deterministic.
-			</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html"><strong>Prev</strong>9.4.3. XInclude processing</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html"><strong>Next</strong>9.4.5. Using Expat for XML parsing</a></li></ul></body></html>
\ No newline at end of file
+			</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html"><strong>Prev</strong>10.4.3. XInclude processing</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html"><strong>Next</strong>10.4.5. Using Expat for XML parsing</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html
index 96fdefe..cd6e8bf 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.4.3. XInclude processing</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>10.4.3. XInclude processing</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="9.4. XML serialization" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html" title="9.4.2. Entity expansion" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html" title="9.4.4. Algorithmic complexity of XML validation" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><
 a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.4.3. XInclude processing</h3></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="10.4. XML serialization" /><link rel="prev" href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html" title="10.4.2. Entity expansion" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html" title="10.4.4. Algorithmic complexity of XML validation" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous
 "><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">10.4.3. XInclude processing</h3></div></div></div><div class="para">
 				XInclude processing can reference file and network resources and include them into the document, much like external entity references. When parsing untrusted XML documents, XInclude processing should be truned off.
 			</div><div class="para">
 				XInclude processing is also fairly complex and may pull in support for the XPointer and XPath specifications, considerably increasing the amount of code required for XML processing.
-			</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html"><strong>Prev</strong>9.4.2. Entity expansion</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html"><strong>Next</strong>9.4.4. Algorithmic complexity of XML validation</a></li></ul></body></html>
\ No newline at end of file
+			</div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html"><strong>Prev</strong>10.4.2. Entity expansion</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html"><strong>Next</strong>10.4.4. Algorithmic complexity of XML validation</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML.html b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML.html
index e4bb7a1..69eb938 100644
--- a/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML.html
+++ b/public_html/en-US/Fedora_Security_Team/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML.html
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.4. XML serialization</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>10.4. XML serialization</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Fedora_Security_Team-Defensive_Coding--en-US-1-1" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
               addID('Fedora_Security_Team');
               
               addID('Fedora_Security_Team..books');
 	      addID('Fedora_Security_Team..Defensive_Coding');
-              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Serialization.html" title="Chapter 9. Serialization and Deserialization" /><link rel="prev" href="ch09s03.html" title="9.3. Library support for deserialization" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html" title="9.4.2. Entity expansion" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch09s03.html"><
 strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">9.4. XML serialization</h2></div></div></div><div class="para">
+              </script><link rel="home" href="index.html" title="Defensive Coding" /><link rel="up" href="chap-Defensive_Coding-Tasks-Serialization.html" title="Chapter 10. Serialization and Deserialization" /><link rel="prev" href="ch10s03.html" title="10.3. Library support for deserialization" /><link rel="next" href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html" title="10.4.2. Entity expansion" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ch10s03.html
 "><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html"><strong>Next</strong></a></li></ul><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title">10.4. XML serialization</h2></div></div></div><div class="para">
 
-		</div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-External"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">9.4.1. External references</h3></div></div></div><div class="para">
+		</div><div class="section" id="sect-Defensive_Coding-Tasks-Serialization-XML-External"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title">10.4.1. External references</h3></div></div></div><div class="para">
 				XML documents can contain external references. They can occur in various places.
 			</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
 						In the DTD declaration in the header of an XML document:
@@ -32,4 +32,4 @@
 				Originally, these external references were intended as unique identifiers, but by many XML implementations, they are used for locating the data for the referenced element. This causes unwanted network traffic, and may disclose file system contents or otherwise unreachable network resources, so this functionality should be disabled.
 			</div><div class="para">
 				Depending on the XML library, external referenced might be processed not just when parsing XML, but also when generating it.
-			</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch09s03.html"><strong>Prev</strong>9.3. Library support for deserialization</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html"><strong>Next</strong>9.4.2. Entity expansion</a></li></ul></body></html>
\ No newline at end of file
+			</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ch10s03.html"><strong>Prev</strong>10.3. Library support for deserialization</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html"><strong>Next</strong>10.4.2. Entity expansion</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/pdf/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.pdf b/public_html/en-US/Fedora_Security_Team/pdf/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.pdf
index 8760919..4656c80 100644
Binary files a/public_html/en-US/Fedora_Security_Team/pdf/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.pdf and b/public_html/en-US/Fedora_Security_Team/pdf/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.pdf differ
diff --git a/public_html/en-US/Site_Statistics.html b/public_html/en-US/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/en-US/Site_Statistics.html
+++ b/public_html/en-US/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/en-US/opds-Community_Services_Infrastructure.xml b/public_html/en-US/opds-Community_Services_Infrastructure.xml
index dcd83de..d53dc94 100644
--- a/public_html/en-US/opds-Community_Services_Infrastructure.xml
+++ b/public_html/en-US/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/en-US/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/en-US/opds-Fedora.xml b/public_html/en-US/opds-Fedora.xml
index b65e91a..c195419 100644
--- a/public_html/en-US/opds-Fedora.xml
+++ b/public_html/en-US/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/en-US/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/en-US/opds-Fedora_Contributor_Documentation.xml b/public_html/en-US/opds-Fedora_Contributor_Documentation.xml
index 92c0567..bc3b513 100644
--- a/public_html/en-US/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/en-US/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/en-US/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/en-US/opds-Fedora_Core.xml b/public_html/en-US/opds-Fedora_Core.xml
index 33292c3..1b8a38a 100644
--- a/public_html/en-US/opds-Fedora_Core.xml
+++ b/public_html/en-US/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/en-US/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/en-US/opds-Fedora_Draft_Documentation.xml b/public_html/en-US/opds-Fedora_Draft_Documentation.xml
index 0275b76..29c2100 100644
--- a/public_html/en-US/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/en-US/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/en-US/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/en-US/opds-Fedora_Security_Team.xml b/public_html/en-US/opds-Fedora_Security_Team.xml
index 9d9e4c7..4a5a14a 100644
--- a/public_html/en-US/opds-Fedora_Security_Team.xml
+++ b/public_html/en-US/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/en-US/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>en-US</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>en-US</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/en-US/opds.xml b/public_html/en-US/opds.xml
index b573dae..e17025a 100644
--- a/public_html/en-US/opds.xml
+++ b/public_html/en-US/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/en-US/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/en-US/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>en-US</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>en-US</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>en-US</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>en-US</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>en-US</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>en-US</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/en-US/toc.html b/public_html/en-US/toc.html
index 0dbf490..59220b7 100644
--- a/public_html/en-US/toc.html
+++ b/public_html/en-US/toc.html
@@ -257,7 +257,7 @@
 							<a class="type" href="./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 							<a class="type" href="./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.18.System_Administrators_Guide' class="book collapsed">
@@ -302,7 +302,7 @@
 							<a class="type" href="./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 							<a class="type" href="./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed">
@@ -397,7 +397,7 @@
 							<a class="type" href="./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 							<a class="type" href="./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.17.System_Administrators_Guide' class="book collapsed">
@@ -1063,7 +1063,7 @@
 							<a class="type" href="./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 							<a class="type" href="./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.11.User_Guide' class="book collapsed">
@@ -1177,7 +1177,7 @@
 							<a class="type" href="./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 							<a class="type" href="./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed">
@@ -1253,7 +1253,7 @@
 							<a class="type" href="./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 							<a class="type" href="./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 							<a class="type" href="./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed">
@@ -1280,7 +1280,7 @@
 							<a class="type" href="./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 							<a class="type" href="./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 							<a class="type" href="./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 						</div>
 					</div>
 				</div>
@@ -1571,7 +1571,7 @@
 							<a class="type" href="./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 							<a class="type" href="./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 							<a class="type" href="./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 						</div>
 					</div>
 				</div>
@@ -1595,18 +1595,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed">
-						<a class="type" href="Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='./Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-						<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types" onclick="work=0;">
-							<a class="type" href="./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-							<a class="type" href="./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-							<a class="type" href="./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team..Defensive_Coding' class="book collapsed">
 						<a class="type" href="Fedora_Security_Team//html/Defensive_Coding/index.html" onclick="window.top.location='./Fedora_Security_Team//html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
diff --git a/public_html/es-ES/Site_Statistics.html b/public_html/es-ES/Site_Statistics.html
index 6a44a10..ac3652a 100644
--- a/public_html/es-ES/Site_Statistics.html
+++ b/public_html/es-ES/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Idiomas totales: </b>44<br />
-	<b>Paquetes totales: </b>880
+	<b>Paquetes totales: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/es-ES/opds-Community_Services_Infrastructure.xml b/public_html/es-ES/opds-Community_Services_Infrastructure.xml
index e6d9e70..e0ea208 100644
--- a/public_html/es-ES/opds-Community_Services_Infrastructure.xml
+++ b/public_html/es-ES/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/es-ES/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:31</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/es-ES/opds-Fedora.xml b/public_html/es-ES/opds-Fedora.xml
index b1184d4..5dcdd67 100644
--- a/public_html/es-ES/opds-Fedora.xml
+++ b/public_html/es-ES/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/es-ES/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/es-ES/opds-Fedora_15.xml b/public_html/es-ES/opds-Fedora_15.xml
index 9e16671..0d85ad3 100644
--- a/public_html/es-ES/opds-Fedora_15.xml
+++ b/public_html/es-ES/opds-Fedora_15.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/es-ES/opds-Fedora_15.xml</id>
   <title>Fedora 15</title>
   <subtitle>Fedora 15</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/es-ES/opds-Fedora_Contributor_Documentation.xml b/public_html/es-ES/opds-Fedora_Contributor_Documentation.xml
index 0961d88..b156d26 100644
--- a/public_html/es-ES/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/es-ES/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/es-ES/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Documentación de Contribuyente</title>
   <subtitle>Fedora Documentación de Contribuyente</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/es-ES/opds-Fedora_Core.xml b/public_html/es-ES/opds-Fedora_Core.xml
index 7c96234..578178d 100644
--- a/public_html/es-ES/opds-Fedora_Core.xml
+++ b/public_html/es-ES/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/es-ES/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/es-ES/opds-Fedora_Draft_Documentation.xml b/public_html/es-ES/opds-Fedora_Draft_Documentation.xml
index 5008c9a..6ef0634 100644
--- a/public_html/es-ES/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/es-ES/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/es-ES/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/es-ES/opds-Fedora_Security_Team.xml b/public_html/es-ES/opds-Fedora_Security_Team.xml
index f70010d..356bed6 100644
--- a/public_html/es-ES/opds-Fedora_Security_Team.xml
+++ b/public_html/es-ES/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/es-ES/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>es-ES</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>es-ES</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/es-ES/opds.xml b/public_html/es-ES/opds.xml
index 70f8ad5..a5678b9 100644
--- a/public_html/es-ES/opds.xml
+++ b/public_html/es-ES/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/es-ES/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/es-ES/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>es-ES</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/es-ES/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>es-ES</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora 15</title>
     <id>http://docs.fedoraproject.org/es-ES/Fedora_15/opds-Fedora_15.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>es-ES</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_15.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Documentación de Contribuyente</title>
     <id>http://docs.fedoraproject.org/es-ES/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>es-ES</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/es-ES/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>es-ES</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/es-ES/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>es-ES</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -63,7 +63,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/es-ES/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>es-ES</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/es-ES/toc.html b/public_html/es-ES/toc.html
index f317043..0d8d99b 100644
--- a/public_html/es-ES/toc.html
+++ b/public_html/es-ES/toc.html
@@ -233,7 +233,7 @@
 							<a class="type" href="./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-es-ES.epub" >epub</a>
 							<a class="type" href="./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-es-ES.pdf" onclick="window.top.location='./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-es-ES.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-es-ES.pdf" onclick="window.top.location='./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-es-ES.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.18' class="version collapsed untranslated" onclick="toggle(event, 'Fedora.18.untrans_books');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -576,7 +576,7 @@
 							<a class="type" href="./Fedora/15/epub/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-es-ES.epub" >epub</a>
 							<a class="type" href="./Fedora/15/html/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/15/html/Burning_ISO_images_to_disc/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/15/html-single/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/15/html-single/Burning_ISO_images_to_disc/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-es-ES.pdf" onclick="window.top.location='./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-es-ES.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-es-ES.pdf" onclick="window.top.location='./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-es-ES.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.15.Fedora_Live_Images' class="book collapsed">
@@ -798,7 +798,7 @@
 							<a class="type" href="./Fedora/13/epub/Accessibility_Guide/Fedora-13-Accessibility_Guide-es-ES.epub" >epub</a>
 							<a class="type" href="./Fedora/13/html/Accessibility_Guide/index.html" onclick="window.top.location='./Fedora/13/html/Accessibility_Guide/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/13/html-single/Accessibility_Guide/index.html" onclick="window.top.location='./Fedora/13/html-single/Accessibility_Guide/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/13/pdf/Accessibility_Guide/Fedora-13-Accessibility_Guide-es-ES.pdf" onclick="window.top.location='./Fedora/13/pdf/Accessibility_Guide/Fedora-13-Accessibility_Guide-es-ES.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/13/pdf/Accessibility_Guide/fedora-13-Accessibility_Guide-es-ES.pdf" onclick="window.top.location='./Fedora/13/pdf/Accessibility_Guide/fedora-13-Accessibility_Guide-es-ES.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.13.Burning_ISO_images_to_disc' class="book collapsed">
@@ -1549,7 +1549,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1875,7 +1875,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1906,23 +1906,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Aún sin traducir</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Aún sin traducir</span>
diff --git a/public_html/fa-IR/Site_Statistics.html b/public_html/fa-IR/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/fa-IR/Site_Statistics.html
+++ b/public_html/fa-IR/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/fa-IR/opds-Community_Services_Infrastructure.xml b/public_html/fa-IR/opds-Community_Services_Infrastructure.xml
index d61b2c6..3f1c3a6 100644
--- a/public_html/fa-IR/opds-Community_Services_Infrastructure.xml
+++ b/public_html/fa-IR/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fa-IR/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:01</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/fa-IR/opds-Fedora.xml b/public_html/fa-IR/opds-Fedora.xml
index 5bdb1d1..c9e630c 100644
--- a/public_html/fa-IR/opds-Fedora.xml
+++ b/public_html/fa-IR/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fa-IR/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/fa-IR/opds-Fedora_Contributor_Documentation.xml b/public_html/fa-IR/opds-Fedora_Contributor_Documentation.xml
index f05c986..7b0b3ef 100644
--- a/public_html/fa-IR/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/fa-IR/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fa-IR/opds-Fedora_Contributor_Documentation.xml</id>
   <title>مستندات مشارکت کننده فدورا</title>
   <subtitle>مستندات مشارکت کننده فدورا</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/fa-IR/opds-Fedora_Core.xml b/public_html/fa-IR/opds-Fedora_Core.xml
index 0fbe1bd..979e09a 100644
--- a/public_html/fa-IR/opds-Fedora_Core.xml
+++ b/public_html/fa-IR/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fa-IR/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/fa-IR/opds-Fedora_Draft_Documentation.xml b/public_html/fa-IR/opds-Fedora_Draft_Documentation.xml
index e970ca1..04593fd 100644
--- a/public_html/fa-IR/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/fa-IR/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fa-IR/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/fa-IR/opds-Fedora_Security_Team.xml b/public_html/fa-IR/opds-Fedora_Security_Team.xml
index 15f38e7..34d9b04 100644
--- a/public_html/fa-IR/opds-Fedora_Security_Team.xml
+++ b/public_html/fa-IR/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fa-IR/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>fa-IR</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>fa-IR</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/fa-IR/opds.xml b/public_html/fa-IR/opds.xml
index d035f50..20be2c9 100644
--- a/public_html/fa-IR/opds.xml
+++ b/public_html/fa-IR/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/fa-IR/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/fa-IR/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>fa-IR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/fa-IR/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fa-IR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>مستندات مشارکت کننده فدورا</title>
     <id>http://docs.fedoraproject.org/fa-IR/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fa-IR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/fa-IR/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fa-IR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/fa-IR/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fa-IR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/fa-IR/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fa-IR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/fa-IR/toc.html b/public_html/fa-IR/toc.html
index 5acd1b3..d1d9db5 100644
--- a/public_html/fa-IR/toc.html
+++ b/public_html/fa-IR/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1110,7 +1110,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1239,7 +1239,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1333,7 +1333,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1351,7 +1351,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1677,7 +1677,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1708,23 +1708,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/fi-FI/Site_Statistics.html b/public_html/fi-FI/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/fi-FI/Site_Statistics.html
+++ b/public_html/fi-FI/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/fi-FI/opds-Community_Services_Infrastructure.xml b/public_html/fi-FI/opds-Community_Services_Infrastructure.xml
index 6ac1911..2254679 100644
--- a/public_html/fi-FI/opds-Community_Services_Infrastructure.xml
+++ b/public_html/fi-FI/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fi-FI/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/fi-FI/opds-Fedora.xml b/public_html/fi-FI/opds-Fedora.xml
index b48a0ed..d0f51e9 100644
--- a/public_html/fi-FI/opds-Fedora.xml
+++ b/public_html/fi-FI/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fi-FI/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/fi-FI/opds-Fedora_Contributor_Documentation.xml b/public_html/fi-FI/opds-Fedora_Contributor_Documentation.xml
index bffde8d..b2bc334 100644
--- a/public_html/fi-FI/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/fi-FI/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fi-FI/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/fi-FI/opds-Fedora_Core.xml b/public_html/fi-FI/opds-Fedora_Core.xml
index 39abcba..09d982d 100644
--- a/public_html/fi-FI/opds-Fedora_Core.xml
+++ b/public_html/fi-FI/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fi-FI/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/fi-FI/opds-Fedora_Draft_Documentation.xml b/public_html/fi-FI/opds-Fedora_Draft_Documentation.xml
index ceed8f3..128d416 100644
--- a/public_html/fi-FI/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/fi-FI/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fi-FI/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/fi-FI/opds-Fedora_Security_Team.xml b/public_html/fi-FI/opds-Fedora_Security_Team.xml
index 7473835..4854f5a 100644
--- a/public_html/fi-FI/opds-Fedora_Security_Team.xml
+++ b/public_html/fi-FI/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fi-FI/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>fi-FI</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>fi-FI</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/fi-FI/opds.xml b/public_html/fi-FI/opds.xml
index 6bc45b1..8664c1b 100644
--- a/public_html/fi-FI/opds.xml
+++ b/public_html/fi-FI/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/fi-FI/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/fi-FI/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fi-FI</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/fi-FI/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fi-FI</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/fi-FI/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fi-FI</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/fi-FI/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fi-FI</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/fi-FI/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fi-FI</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/fi-FI/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fi-FI</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/fi-FI/toc.html b/public_html/fi-FI/toc.html
index fe8b065..99207c0 100644
--- a/public_html/fi-FI/toc.html
+++ b/public_html/fi-FI/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -567,7 +567,7 @@
 							<a class="type" href="./Fedora/15/epub/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-fi-FI.epub" >epub</a>
 							<a class="type" href="./Fedora/15/html/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/15/html/Burning_ISO_images_to_disc/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/15/html-single/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/15/html-single/Burning_ISO_images_to_disc/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-fi-FI.pdf" onclick="window.top.location='./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-fi-FI.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-fi-FI.pdf" onclick="window.top.location='./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-fi-FI.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.15.Fedora_Live_Images' class="book collapsed">
@@ -936,7 +936,7 @@
 							<a class="type" href="./Fedora/12/epub/Fedora_Live_images/Fedora-12-Fedora_Live_images-fi-FI.epub" >epub</a>
 							<a class="type" href="./Fedora/12/html/Fedora_Live_images/index.html" onclick="window.top.location='./Fedora/12/html/Fedora_Live_images/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/12/html-single/Fedora_Live_images/index.html" onclick="window.top.location='./Fedora/12/html-single/Fedora_Live_images/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/12/pdf/Fedora_Live_images/Fedora-13-Fedora_Live_Images-fi-FI.pdf" onclick="window.top.location='./Fedora/12/pdf/Fedora_Live_images/Fedora-13-Fedora_Live_Images-fi-FI.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/12/pdf/Fedora_Live_images/Fedora-12-Fedora_Live_images-fi-FI.pdf" onclick="window.top.location='./Fedora/12/pdf/Fedora_Live_images/Fedora-12-Fedora_Live_images-fi-FI.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.12' class="version collapsed untranslated" onclick="toggle(event, 'Fedora.12.untrans_books');">
@@ -1063,7 +1063,7 @@
 							<a class="type" href="./Fedora/11/epub/Fedora_Live_images/Fedora-11-Fedora_Live_images-fi-FI.epub" >epub</a>
 							<a class="type" href="./Fedora/11/html/Fedora_Live_images/index.html" onclick="window.top.location='./Fedora/11/html/Fedora_Live_images/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/11/html-single/Fedora_Live_images/index.html" onclick="window.top.location='./Fedora/11/html-single/Fedora_Live_images/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/11/pdf/Fedora_Live_images/Fedora-13-Fedora_Live_Images-fi-FI.pdf" onclick="window.top.location='./Fedora/11/pdf/Fedora_Live_images/Fedora-13-Fedora_Live_Images-fi-FI.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/11/pdf/Fedora_Live_images/Fedora-11-Fedora_Live_images-fi-FI.pdf" onclick="window.top.location='./Fedora/11/pdf/Fedora_Live_images/Fedora-11-Fedora_Live_images-fi-FI.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.11' class="version collapsed untranslated" onclick="toggle(event, 'Fedora.11.untrans_books');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1136,7 +1136,7 @@
 							<a class="type" href="./Fedora/10/epub/Fedora_Live_Images/Fedora-10-Fedora_Live_Images-fi-FI.epub" >epub</a>
 							<a class="type" href="./Fedora/10/html/Fedora_Live_Images/index.html" onclick="window.top.location='./Fedora/10/html/Fedora_Live_Images/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/10/html-single/Fedora_Live_Images/index.html" onclick="window.top.location='./Fedora/10/html-single/Fedora_Live_Images/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/10/pdf/Fedora_Live_Images/Fedora-13-Fedora_Live_Images-fi-FI.pdf" onclick="window.top.location='./Fedora/10/pdf/Fedora_Live_Images/Fedora-13-Fedora_Live_Images-fi-FI.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/10/pdf/Fedora_Live_Images/Fedora-11-Fedora_Live_images-fi-FI.pdf" onclick="window.top.location='./Fedora/10/pdf/Fedora_Live_Images/Fedora-11-Fedora_Live_images-fi-FI.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.10.Making_Fedora_Discs' class="book collapsed">
@@ -1258,7 +1258,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.SELinux_FAQ' class="book collapsed" onclick="toggle(event, 'Fedora.8.SELinux_FAQ.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/fr-FR/Site_Statistics.html b/public_html/fr-FR/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/fr-FR/Site_Statistics.html
+++ b/public_html/fr-FR/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/fr-FR/opds-Community_Services_Infrastructure.xml b/public_html/fr-FR/opds-Community_Services_Infrastructure.xml
index d3984fd..7eebc79 100644
--- a/public_html/fr-FR/opds-Community_Services_Infrastructure.xml
+++ b/public_html/fr-FR/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fr-FR/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/fr-FR/opds-Fedora.xml b/public_html/fr-FR/opds-Fedora.xml
index 16279b9..753db90 100644
--- a/public_html/fr-FR/opds-Fedora.xml
+++ b/public_html/fr-FR/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fr-FR/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/fr-FR/opds-Fedora_Contributor_Documentation.xml b/public_html/fr-FR/opds-Fedora_Contributor_Documentation.xml
index a8bff2d..19ac37c 100644
--- a/public_html/fr-FR/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/fr-FR/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fr-FR/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/fr-FR/opds-Fedora_Core.xml b/public_html/fr-FR/opds-Fedora_Core.xml
index e265c80..0ccd172 100644
--- a/public_html/fr-FR/opds-Fedora_Core.xml
+++ b/public_html/fr-FR/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fr-FR/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/fr-FR/opds-Fedora_Draft_Documentation.xml b/public_html/fr-FR/opds-Fedora_Draft_Documentation.xml
index 4cfb76f..24c3914 100644
--- a/public_html/fr-FR/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/fr-FR/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fr-FR/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/fr-FR/opds-Fedora_Security_Team.xml b/public_html/fr-FR/opds-Fedora_Security_Team.xml
index 709439a..e9c366b 100644
--- a/public_html/fr-FR/opds-Fedora_Security_Team.xml
+++ b/public_html/fr-FR/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/fr-FR/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>fr-FR</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>fr-FR</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/fr-FR/opds.xml b/public_html/fr-FR/opds.xml
index bb062f2..94ea811 100644
--- a/public_html/fr-FR/opds.xml
+++ b/public_html/fr-FR/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/fr-FR/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/fr-FR/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fr-FR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/fr-FR/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fr-FR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/fr-FR/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fr-FR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/fr-FR/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fr-FR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/fr-FR/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fr-FR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/fr-FR/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fr-FR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/fr-FR/toc.html b/public_html/fr-FR/toc.html
index c722cd0..f243cf0 100644
--- a/public_html/fr-FR/toc.html
+++ b/public_html/fr-FR/toc.html
@@ -279,7 +279,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -565,7 +565,7 @@
 							<a class="type" href="./Fedora/15/epub/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-fr-FR.epub" >epub</a>
 							<a class="type" href="./Fedora/15/html/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/15/html/Burning_ISO_images_to_disc/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/15/html-single/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/15/html-single/Burning_ISO_images_to_disc/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-fr-FR.pdf" onclick="window.top.location='./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-fr-FR.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-fr-FR.pdf" onclick="window.top.location='./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-fr-FR.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.15.Fedora_Live_Images' class="book collapsed">
@@ -1107,7 +1107,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1236,7 +1236,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1322,7 +1322,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1349,7 +1349,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1675,7 +1675,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1706,23 +1706,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/gu-IN/Site_Statistics.html b/public_html/gu-IN/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/gu-IN/Site_Statistics.html
+++ b/public_html/gu-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/gu-IN/opds-Community_Services_Infrastructure.xml b/public_html/gu-IN/opds-Community_Services_Infrastructure.xml
index 6e9f9d0..ca99acb 100644
--- a/public_html/gu-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/gu-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/gu-IN/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:32</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/gu-IN/opds-Fedora.xml b/public_html/gu-IN/opds-Fedora.xml
index 6b32e7a..e2a830a 100644
--- a/public_html/gu-IN/opds-Fedora.xml
+++ b/public_html/gu-IN/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/gu-IN/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/gu-IN/opds-Fedora_Contributor_Documentation.xml b/public_html/gu-IN/opds-Fedora_Contributor_Documentation.xml
index 42526ec..88f08fa 100644
--- a/public_html/gu-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/gu-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/gu-IN/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/gu-IN/opds-Fedora_Core.xml b/public_html/gu-IN/opds-Fedora_Core.xml
index f973de6..a44f38b 100644
--- a/public_html/gu-IN/opds-Fedora_Core.xml
+++ b/public_html/gu-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/gu-IN/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/gu-IN/opds-Fedora_Draft_Documentation.xml b/public_html/gu-IN/opds-Fedora_Draft_Documentation.xml
index 26d4312..0e9d814 100644
--- a/public_html/gu-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/gu-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/gu-IN/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/gu-IN/opds-Fedora_Security_Team.xml b/public_html/gu-IN/opds-Fedora_Security_Team.xml
index c1e2b94..ca1a677 100644
--- a/public_html/gu-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/gu-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/gu-IN/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>gu-IN</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>gu-IN</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/gu-IN/opds.xml b/public_html/gu-IN/opds.xml
index 1e02987..87b8891 100644
--- a/public_html/gu-IN/opds.xml
+++ b/public_html/gu-IN/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/gu-IN/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/gu-IN/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>gu-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/gu-IN/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>gu-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/gu-IN/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>gu-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/gu-IN/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>gu-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/gu-IN/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>gu-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/gu-IN/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>gu-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/gu-IN/toc.html b/public_html/gu-IN/toc.html
index 784bc3b..2970bef 100644
--- a/public_html/gu-IN/toc.html
+++ b/public_html/gu-IN/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/he-IL/Site_Statistics.html b/public_html/he-IL/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/he-IL/Site_Statistics.html
+++ b/public_html/he-IL/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/he-IL/opds-Community_Services_Infrastructure.xml b/public_html/he-IL/opds-Community_Services_Infrastructure.xml
index 1c657af..4cc8439 100644
--- a/public_html/he-IL/opds-Community_Services_Infrastructure.xml
+++ b/public_html/he-IL/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/he-IL/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/he-IL/opds-Fedora.xml b/public_html/he-IL/opds-Fedora.xml
index 63f87d7..d150a91 100644
--- a/public_html/he-IL/opds-Fedora.xml
+++ b/public_html/he-IL/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/he-IL/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/he-IL/opds-Fedora_Contributor_Documentation.xml b/public_html/he-IL/opds-Fedora_Contributor_Documentation.xml
index dea751c..aa2f4e7 100644
--- a/public_html/he-IL/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/he-IL/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/he-IL/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/he-IL/opds-Fedora_Core.xml b/public_html/he-IL/opds-Fedora_Core.xml
index 67dbe76..ba25b22 100644
--- a/public_html/he-IL/opds-Fedora_Core.xml
+++ b/public_html/he-IL/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/he-IL/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/he-IL/opds-Fedora_Draft_Documentation.xml b/public_html/he-IL/opds-Fedora_Draft_Documentation.xml
index 5570d9b..8a4b5e9 100644
--- a/public_html/he-IL/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/he-IL/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/he-IL/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/he-IL/opds-Fedora_Security_Team.xml b/public_html/he-IL/opds-Fedora_Security_Team.xml
index b374ce4..30c86d0 100644
--- a/public_html/he-IL/opds-Fedora_Security_Team.xml
+++ b/public_html/he-IL/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/he-IL/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>he-IL</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>he-IL</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/he-IL/opds.xml b/public_html/he-IL/opds.xml
index 18509c2..60d674e 100644
--- a/public_html/he-IL/opds.xml
+++ b/public_html/he-IL/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/he-IL/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/he-IL/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>he-IL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/he-IL/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>he-IL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/he-IL/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>he-IL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/he-IL/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>he-IL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/he-IL/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>he-IL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/he-IL/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>he-IL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/he-IL/toc.html b/public_html/he-IL/toc.html
index 81975bf..ff90575 100644
--- a/public_html/he-IL/toc.html
+++ b/public_html/he-IL/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -567,7 +567,7 @@
 							<a class="type" href="./Fedora/15/epub/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-he-IL.epub" >epub</a>
 							<a class="type" href="./Fedora/15/html/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/15/html/Burning_ISO_images_to_disc/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/15/html-single/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/15/html-single/Burning_ISO_images_to_disc/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-he-IL.pdf" onclick="window.top.location='./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-he-IL.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-he-IL.pdf" onclick="window.top.location='./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-he-IL.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.15' class="version collapsed untranslated" onclick="toggle(event, 'Fedora.15.untrans_books');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/hi-IN/Site_Statistics.html b/public_html/hi-IN/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/hi-IN/Site_Statistics.html
+++ b/public_html/hi-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/hi-IN/opds-Community_Services_Infrastructure.xml b/public_html/hi-IN/opds-Community_Services_Infrastructure.xml
index 86361d1..809d2be 100644
--- a/public_html/hi-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/hi-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/hi-IN/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/hi-IN/opds-Fedora.xml b/public_html/hi-IN/opds-Fedora.xml
index 847594f..bf46ec9 100644
--- a/public_html/hi-IN/opds-Fedora.xml
+++ b/public_html/hi-IN/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/hi-IN/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/hi-IN/opds-Fedora_Contributor_Documentation.xml b/public_html/hi-IN/opds-Fedora_Contributor_Documentation.xml
index d086fda..14fc2ca 100644
--- a/public_html/hi-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/hi-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/hi-IN/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/hi-IN/opds-Fedora_Core.xml b/public_html/hi-IN/opds-Fedora_Core.xml
index d7883f4..8b5ade4 100644
--- a/public_html/hi-IN/opds-Fedora_Core.xml
+++ b/public_html/hi-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/hi-IN/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/hi-IN/opds-Fedora_Draft_Documentation.xml b/public_html/hi-IN/opds-Fedora_Draft_Documentation.xml
index 9b9099a..9f851da 100644
--- a/public_html/hi-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/hi-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/hi-IN/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/hi-IN/opds-Fedora_Security_Team.xml b/public_html/hi-IN/opds-Fedora_Security_Team.xml
index b085346..591d182 100644
--- a/public_html/hi-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/hi-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/hi-IN/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>hi-IN</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>hi-IN</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/hi-IN/opds.xml b/public_html/hi-IN/opds.xml
index 2e26fc0..b9f0eea 100644
--- a/public_html/hi-IN/opds.xml
+++ b/public_html/hi-IN/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/hi-IN/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/hi-IN/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>hi-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/hi-IN/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>hi-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/hi-IN/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>hi-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/hi-IN/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>hi-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/hi-IN/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>hi-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/hi-IN/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>hi-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/hi-IN/toc.html b/public_html/hi-IN/toc.html
index 59d2e9d..1122d73 100644
--- a/public_html/hi-IN/toc.html
+++ b/public_html/hi-IN/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/hu-HU/Site_Statistics.html b/public_html/hu-HU/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/hu-HU/Site_Statistics.html
+++ b/public_html/hu-HU/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/hu-HU/opds-Community_Services_Infrastructure.xml b/public_html/hu-HU/opds-Community_Services_Infrastructure.xml
index 3f3ab45..950eadc 100644
--- a/public_html/hu-HU/opds-Community_Services_Infrastructure.xml
+++ b/public_html/hu-HU/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/hu-HU/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:02</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/hu-HU/opds-Fedora.xml b/public_html/hu-HU/opds-Fedora.xml
index 670fa9a..b2b6cb0 100644
--- a/public_html/hu-HU/opds-Fedora.xml
+++ b/public_html/hu-HU/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/hu-HU/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/hu-HU/opds-Fedora_Contributor_Documentation.xml b/public_html/hu-HU/opds-Fedora_Contributor_Documentation.xml
index 6192f55..68a0633 100644
--- a/public_html/hu-HU/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/hu-HU/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/hu-HU/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/hu-HU/opds-Fedora_Core.xml b/public_html/hu-HU/opds-Fedora_Core.xml
index ebcb57e..9ef5df2 100644
--- a/public_html/hu-HU/opds-Fedora_Core.xml
+++ b/public_html/hu-HU/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/hu-HU/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/hu-HU/opds-Fedora_Draft_Documentation.xml b/public_html/hu-HU/opds-Fedora_Draft_Documentation.xml
index 330fc19..87ed3a0 100644
--- a/public_html/hu-HU/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/hu-HU/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/hu-HU/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/hu-HU/opds-Fedora_Security_Team.xml b/public_html/hu-HU/opds-Fedora_Security_Team.xml
index 2f54f78..0dfcdca 100644
--- a/public_html/hu-HU/opds-Fedora_Security_Team.xml
+++ b/public_html/hu-HU/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/hu-HU/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>hu-HU</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>hu-HU</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/hu-HU/opds.xml b/public_html/hu-HU/opds.xml
index 5dde6b9..d636183 100644
--- a/public_html/hu-HU/opds.xml
+++ b/public_html/hu-HU/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/hu-HU/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/hu-HU/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>hu-HU</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/hu-HU/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>hu-HU</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/hu-HU/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>hu-HU</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/hu-HU/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>hu-HU</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/hu-HU/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>hu-HU</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/hu-HU/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>hu-HU</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/hu-HU/toc.html b/public_html/hu-HU/toc.html
index 55c2553..91a9567 100644
--- a/public_html/hu-HU/toc.html
+++ b/public_html/hu-HU/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/ia/Site_Statistics.html b/public_html/ia/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/ia/Site_Statistics.html
+++ b/public_html/ia/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/ia/opds-Community_Services_Infrastructure.xml b/public_html/ia/opds-Community_Services_Infrastructure.xml
index cdfe8dc..97a6f60 100644
--- a/public_html/ia/opds-Community_Services_Infrastructure.xml
+++ b/public_html/ia/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ia/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ia/opds-Fedora.xml b/public_html/ia/opds-Fedora.xml
index 2e7ddb5..3938234 100644
--- a/public_html/ia/opds-Fedora.xml
+++ b/public_html/ia/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ia/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ia/opds-Fedora_Contributor_Documentation.xml b/public_html/ia/opds-Fedora_Contributor_Documentation.xml
index c1da09e..e2e1938 100644
--- a/public_html/ia/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/ia/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ia/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ia/opds-Fedora_Core.xml b/public_html/ia/opds-Fedora_Core.xml
index 80a55fe..2bff13c 100644
--- a/public_html/ia/opds-Fedora_Core.xml
+++ b/public_html/ia/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ia/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ia/opds-Fedora_Draft_Documentation.xml b/public_html/ia/opds-Fedora_Draft_Documentation.xml
index 03ba384..7f7128e 100644
--- a/public_html/ia/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/ia/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ia/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ia/opds-Fedora_Security_Team.xml b/public_html/ia/opds-Fedora_Security_Team.xml
index ae8dbb4..a4a31f4 100644
--- a/public_html/ia/opds-Fedora_Security_Team.xml
+++ b/public_html/ia/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ia/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>ia</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>ia</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/ia/opds.xml b/public_html/ia/opds.xml
index d96244f..30a949a 100644
--- a/public_html/ia/opds.xml
+++ b/public_html/ia/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/ia/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/ia/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>ia</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/ia/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>ia</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/ia/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>ia</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/ia/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>ia</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/ia/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>ia</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/ia/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>ia</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/ia/toc.html b/public_html/ia/toc.html
index 1c84e3f..4f9ba11 100644
--- a/public_html/ia/toc.html
+++ b/public_html/ia/toc.html
@@ -279,7 +279,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/id-ID/Site_Statistics.html b/public_html/id-ID/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/id-ID/Site_Statistics.html
+++ b/public_html/id-ID/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/id-ID/opds-Community_Services_Infrastructure.xml b/public_html/id-ID/opds-Community_Services_Infrastructure.xml
index 94f502b..2eef4cb 100644
--- a/public_html/id-ID/opds-Community_Services_Infrastructure.xml
+++ b/public_html/id-ID/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/id-ID/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/id-ID/opds-Fedora.xml b/public_html/id-ID/opds-Fedora.xml
index a7af909..7b52b00 100644
--- a/public_html/id-ID/opds-Fedora.xml
+++ b/public_html/id-ID/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/id-ID/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/id-ID/opds-Fedora_Contributor_Documentation.xml b/public_html/id-ID/opds-Fedora_Contributor_Documentation.xml
index 27f556a..b16237e 100644
--- a/public_html/id-ID/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/id-ID/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/id-ID/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/id-ID/opds-Fedora_Core.xml b/public_html/id-ID/opds-Fedora_Core.xml
index c8fbe22..17fa937 100644
--- a/public_html/id-ID/opds-Fedora_Core.xml
+++ b/public_html/id-ID/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/id-ID/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/id-ID/opds-Fedora_Draft_Documentation.xml b/public_html/id-ID/opds-Fedora_Draft_Documentation.xml
index c4d0848..20b38eb 100644
--- a/public_html/id-ID/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/id-ID/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/id-ID/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/id-ID/opds-Fedora_Security_Team.xml b/public_html/id-ID/opds-Fedora_Security_Team.xml
index a14605f..10aaac9 100644
--- a/public_html/id-ID/opds-Fedora_Security_Team.xml
+++ b/public_html/id-ID/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/id-ID/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:33</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>id-ID</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>id-ID</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/id-ID/opds.xml b/public_html/id-ID/opds.xml
index 4ab08c0..f459dac 100644
--- a/public_html/id-ID/opds.xml
+++ b/public_html/id-ID/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/id-ID/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:34</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/id-ID/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>id-ID</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/id-ID/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>id-ID</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/id-ID/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>id-ID</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/id-ID/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>id-ID</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/id-ID/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>id-ID</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/id-ID/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>id-ID</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/id-ID/toc.html b/public_html/id-ID/toc.html
index 30132e1..fc20c77 100644
--- a/public_html/id-ID/toc.html
+++ b/public_html/id-ID/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -567,7 +567,7 @@
 							<a class="type" href="./Fedora/15/epub/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-id-ID.epub" >epub</a>
 							<a class="type" href="./Fedora/15/html/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/15/html/Burning_ISO_images_to_disc/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/15/html-single/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/15/html-single/Burning_ISO_images_to_disc/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-id-ID.pdf" onclick="window.top.location='./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-id-ID.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-id-ID.pdf" onclick="window.top.location='./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-id-ID.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.15' class="version collapsed untranslated" onclick="toggle(event, 'Fedora.15.untrans_books');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/it-IT/Site_Statistics.html b/public_html/it-IT/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/it-IT/Site_Statistics.html
+++ b/public_html/it-IT/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/it-IT/opds-Community_Services_Infrastructure.xml b/public_html/it-IT/opds-Community_Services_Infrastructure.xml
index 16b914a..a89803d 100644
--- a/public_html/it-IT/opds-Community_Services_Infrastructure.xml
+++ b/public_html/it-IT/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/it-IT/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:34</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/it-IT/opds-Fedora.xml b/public_html/it-IT/opds-Fedora.xml
index 125284d..9e3322f 100644
--- a/public_html/it-IT/opds-Fedora.xml
+++ b/public_html/it-IT/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/it-IT/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:34</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/it-IT/opds-Fedora_Contributor_Documentation.xml b/public_html/it-IT/opds-Fedora_Contributor_Documentation.xml
index 6ccc8c3..4b1dc4f 100644
--- a/public_html/it-IT/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/it-IT/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/it-IT/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Documentazione Collaboratori Fedora</title>
   <subtitle>Documentazione Collaboratori Fedora</subtitle>
-  <updated>2013-08-21T20:19:34</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/it-IT/opds-Fedora_Core.xml b/public_html/it-IT/opds-Fedora_Core.xml
index 4f52ed5..8787df0 100644
--- a/public_html/it-IT/opds-Fedora_Core.xml
+++ b/public_html/it-IT/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/it-IT/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:34</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/it-IT/opds-Fedora_Draft_Documentation.xml b/public_html/it-IT/opds-Fedora_Draft_Documentation.xml
index 39699c2..693bc32 100644
--- a/public_html/it-IT/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/it-IT/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/it-IT/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:34</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/it-IT/opds-Fedora_Security_Team.xml b/public_html/it-IT/opds-Fedora_Security_Team.xml
index dbbed6f..0d9c631 100644
--- a/public_html/it-IT/opds-Fedora_Security_Team.xml
+++ b/public_html/it-IT/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/it-IT/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:34</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>it-IT</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>it-IT</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/it-IT/opds.xml b/public_html/it-IT/opds.xml
index 922c3e0..0dc53c2 100644
--- a/public_html/it-IT/opds.xml
+++ b/public_html/it-IT/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/it-IT/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:34</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/it-IT/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:34</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>it-IT</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/it-IT/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:34</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>it-IT</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Documentazione Collaboratori Fedora</title>
     <id>http://docs.fedoraproject.org/it-IT/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:34</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>it-IT</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/it-IT/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:34</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>it-IT</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/it-IT/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:34</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>it-IT</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/it-IT/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:34</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>it-IT</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/it-IT/toc.html b/public_html/it-IT/toc.html
index ff92204..61a098a 100644
--- a/public_html/it-IT/toc.html
+++ b/public_html/it-IT/toc.html
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -567,7 +567,7 @@
 							<a class="type" href="./Fedora/15/epub/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-it-IT.epub" >epub</a>
 							<a class="type" href="./Fedora/15/html/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/15/html/Burning_ISO_images_to_disc/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/15/html-single/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/15/html-single/Burning_ISO_images_to_disc/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-it-IT.pdf" onclick="window.top.location='./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-it-IT.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-it-IT.pdf" onclick="window.top.location='./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-it-IT.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.15.Fedora_Live_Images' class="book collapsed">
@@ -789,7 +789,7 @@
 							<a class="type" href="./Fedora/13/epub/Accessibility_Guide/Fedora-13-Accessibility_Guide-it-IT.epub" >epub</a>
 							<a class="type" href="./Fedora/13/html/Accessibility_Guide/index.html" onclick="window.top.location='./Fedora/13/html/Accessibility_Guide/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/13/html-single/Accessibility_Guide/index.html" onclick="window.top.location='./Fedora/13/html-single/Accessibility_Guide/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/13/pdf/Accessibility_Guide/fedora-13-Accessibility_Guide-it-IT.pdf" onclick="window.top.location='./Fedora/13/pdf/Accessibility_Guide/fedora-13-Accessibility_Guide-it-IT.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/13/pdf/Accessibility_Guide/Fedora-13-Accessibility_Guide-it-IT.pdf" onclick="window.top.location='./Fedora/13/pdf/Accessibility_Guide/Fedora-13-Accessibility_Guide-it-IT.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.13.Fedora_Live_Images' class="book collapsed">
@@ -1109,7 +1109,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1209,7 +1209,7 @@
 									<a class="type" href="../en-US/./Fedora/10/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/10/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/10/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/10/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/10/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/10/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/10/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/10/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/10/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.10.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.10.User_Guide.types');">
@@ -1309,7 +1309,7 @@
 									<a class="type" href="../en-US/./Fedora/9/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/9/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/9/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/9/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/9/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/9/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/9/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/9/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/9/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.9.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.9.User_Guide.types');">
@@ -1418,7 +1418,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.8.User_Guide.types');">
@@ -1523,7 +1523,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1541,7 +1541,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1867,7 +1867,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1898,23 +1898,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/ja-JP/Site_Statistics.html b/public_html/ja-JP/Site_Statistics.html
index 7ea921b..0b88e57 100644
--- a/public_html/ja-JP/Site_Statistics.html
+++ b/public_html/ja-JP/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>言語数の合計: </b>44<br />
-	<b>パッケージ数の合計: </b>880
+	<b>パッケージ数の合計: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/ja-JP/opds-Community_Services_Infrastructure.xml b/public_html/ja-JP/opds-Community_Services_Infrastructure.xml
index a870995..631335e 100644
--- a/public_html/ja-JP/opds-Community_Services_Infrastructure.xml
+++ b/public_html/ja-JP/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ja-JP/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:34</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ja-JP/opds-Fedora.xml b/public_html/ja-JP/opds-Fedora.xml
index 32eca1e..d190f92 100644
--- a/public_html/ja-JP/opds-Fedora.xml
+++ b/public_html/ja-JP/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ja-JP/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:34</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ja-JP/opds-Fedora_Contributor_Documentation.xml b/public_html/ja-JP/opds-Fedora_Contributor_Documentation.xml
index 8c09765..e97d69f 100644
--- a/public_html/ja-JP/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/ja-JP/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ja-JP/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora コントリビュータ用ドキュメント</title>
   <subtitle>Fedora コントリビュータ用ドキュメント</subtitle>
-  <updated>2013-08-21T20:19:34</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ja-JP/opds-Fedora_Core.xml b/public_html/ja-JP/opds-Fedora_Core.xml
index 0e73093..7196354 100644
--- a/public_html/ja-JP/opds-Fedora_Core.xml
+++ b/public_html/ja-JP/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ja-JP/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:34</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ja-JP/opds-Fedora_Draft_Documentation.xml b/public_html/ja-JP/opds-Fedora_Draft_Documentation.xml
index a939f6c..9f3b409 100644
--- a/public_html/ja-JP/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/ja-JP/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ja-JP/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora ドラフト文書</title>
   <subtitle>Fedora ドラフト文書</subtitle>
-  <updated>2013-08-21T20:19:34</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ja-JP/opds-Fedora_Security_Team.xml b/public_html/ja-JP/opds-Fedora_Security_Team.xml
index 1d52fb2..880c982 100644
--- a/public_html/ja-JP/opds-Fedora_Security_Team.xml
+++ b/public_html/ja-JP/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ja-JP/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:34</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>ja-JP</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>ja-JP</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/ja-JP/opds.xml b/public_html/ja-JP/opds.xml
index 26d28bd..3d1aa23 100644
--- a/public_html/ja-JP/opds.xml
+++ b/public_html/ja-JP/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/ja-JP/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:34</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/ja-JP/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:34</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>ja-JP</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/ja-JP/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:34</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>ja-JP</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora コントリビュータ用ドキュメント</title>
     <id>http://docs.fedoraproject.org/ja-JP/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:34</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>ja-JP</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/ja-JP/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:34</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>ja-JP</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora ドラフト文書</title>
     <id>http://docs.fedoraproject.org/ja-JP/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:34</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>ja-JP</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/ja-JP/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:34</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>ja-JP</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/ja-JP/toc.html b/public_html/ja-JP/toc.html
index bd287ce..077c9c3 100644
--- a/public_html/ja-JP/toc.html
+++ b/public_html/ja-JP/toc.html
@@ -434,7 +434,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.Wireless_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.Wireless_Guide.types');">
@@ -457,7 +457,7 @@
 							<a class="type" href="./Fedora/16/epub/Accessibility_Guide/Fedora-16-Accessibility_Guide-ja-JP.epub" >epub</a>
 							<a class="type" href="./Fedora/16/html/Accessibility_Guide/index.html" onclick="window.top.location='./Fedora/16/html/Accessibility_Guide/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/16/html-single/Accessibility_Guide/index.html" onclick="window.top.location='./Fedora/16/html-single/Accessibility_Guide/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/16/pdf/Accessibility_Guide/Fedora-14-Accessibility_Guide-ja-JP.pdf" onclick="window.top.location='./Fedora/16/pdf/Accessibility_Guide/Fedora-14-Accessibility_Guide-ja-JP.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/16/pdf/Accessibility_Guide/Fedora-16-Accessibility_Guide-ja-JP.pdf" onclick="window.top.location='./Fedora/16/pdf/Accessibility_Guide/Fedora-16-Accessibility_Guide-ja-JP.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.16.Amateur_Radio_Guide' class="book collapsed">
@@ -475,7 +475,7 @@
 							<a class="type" href="./Fedora/16/epub/Burning_ISO_images_to_disc/Fedora-16-Burning_ISO_images_to_disc-ja-JP.epub" >epub</a>
 							<a class="type" href="./Fedora/16/html/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/16/html/Burning_ISO_images_to_disc/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/16/html-single/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/16/html-single/Burning_ISO_images_to_disc/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/16/pdf/Burning_ISO_images_to_disc/Fedora_Draft_Documentation-0.1-Burning_ISO_images_to_disc-ja-JP.pdf" onclick="window.top.location='./Fedora/16/pdf/Burning_ISO_images_to_disc/Fedora_Draft_Documentation-0.1-Burning_ISO_images_to_disc-ja-JP.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/16/pdf/Burning_ISO_images_to_disc/Fedora-16-Burning_ISO_images_to_disc-ja-JP.pdf" onclick="window.top.location='./Fedora/16/pdf/Burning_ISO_images_to_disc/Fedora-16-Burning_ISO_images_to_disc-ja-JP.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.16.Fedora_Live_Images' class="book collapsed">
@@ -1120,7 +1120,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1267,7 +1267,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.SELinux_FAQ' class="book collapsed" onclick="toggle(event, 'Fedora.8.SELinux_FAQ.types');">
@@ -1381,7 +1381,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1399,7 +1399,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1727,7 +1727,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1758,23 +1758,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">未翻訳</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">未翻訳</span>
diff --git a/public_html/kn-IN/Site_Statistics.html b/public_html/kn-IN/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/kn-IN/Site_Statistics.html
+++ b/public_html/kn-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/kn-IN/opds-Community_Services_Infrastructure.xml b/public_html/kn-IN/opds-Community_Services_Infrastructure.xml
index 5bd7c41..476c250 100644
--- a/public_html/kn-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/kn-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/kn-IN/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:34</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/kn-IN/opds-Fedora.xml b/public_html/kn-IN/opds-Fedora.xml
index cfa2a73..6a83be4 100644
--- a/public_html/kn-IN/opds-Fedora.xml
+++ b/public_html/kn-IN/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/kn-IN/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:03</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/kn-IN/opds-Fedora_Contributor_Documentation.xml b/public_html/kn-IN/opds-Fedora_Contributor_Documentation.xml
index 6a6cc63..7c8dd30 100644
--- a/public_html/kn-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/kn-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/kn-IN/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/kn-IN/opds-Fedora_Core.xml b/public_html/kn-IN/opds-Fedora_Core.xml
index e4eb176..3404227 100644
--- a/public_html/kn-IN/opds-Fedora_Core.xml
+++ b/public_html/kn-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/kn-IN/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/kn-IN/opds-Fedora_Draft_Documentation.xml b/public_html/kn-IN/opds-Fedora_Draft_Documentation.xml
index 92f9902..295c203 100644
--- a/public_html/kn-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/kn-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/kn-IN/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/kn-IN/opds-Fedora_Security_Team.xml b/public_html/kn-IN/opds-Fedora_Security_Team.xml
index 2194d23..7e3e886 100644
--- a/public_html/kn-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/kn-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/kn-IN/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>kn-IN</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>kn-IN</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/kn-IN/opds.xml b/public_html/kn-IN/opds.xml
index 2f6641f..40588f3 100644
--- a/public_html/kn-IN/opds.xml
+++ b/public_html/kn-IN/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/kn-IN/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/kn-IN/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:34</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>kn-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/kn-IN/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>kn-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/kn-IN/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>kn-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/kn-IN/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>kn-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/kn-IN/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>kn-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/kn-IN/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>kn-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/kn-IN/toc.html b/public_html/kn-IN/toc.html
index 4a2f177..cbf4679 100644
--- a/public_html/kn-IN/toc.html
+++ b/public_html/kn-IN/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/ko-KR/Site_Statistics.html b/public_html/ko-KR/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/ko-KR/Site_Statistics.html
+++ b/public_html/ko-KR/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/ko-KR/opds-Community_Services_Infrastructure.xml b/public_html/ko-KR/opds-Community_Services_Infrastructure.xml
index e80096f..ebe55f2 100644
--- a/public_html/ko-KR/opds-Community_Services_Infrastructure.xml
+++ b/public_html/ko-KR/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ko-KR/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ko-KR/opds-Fedora.xml b/public_html/ko-KR/opds-Fedora.xml
index 278cf10..c1063cd 100644
--- a/public_html/ko-KR/opds-Fedora.xml
+++ b/public_html/ko-KR/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ko-KR/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ko-KR/opds-Fedora_Contributor_Documentation.xml b/public_html/ko-KR/opds-Fedora_Contributor_Documentation.xml
index 0032001..e60ec3f 100644
--- a/public_html/ko-KR/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/ko-KR/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ko-KR/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ko-KR/opds-Fedora_Core.xml b/public_html/ko-KR/opds-Fedora_Core.xml
index 8bc0f62..87e6057 100644
--- a/public_html/ko-KR/opds-Fedora_Core.xml
+++ b/public_html/ko-KR/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ko-KR/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ko-KR/opds-Fedora_Draft_Documentation.xml b/public_html/ko-KR/opds-Fedora_Draft_Documentation.xml
index 0aeb06e..538b7e5 100644
--- a/public_html/ko-KR/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/ko-KR/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ko-KR/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ko-KR/opds-Fedora_Security_Team.xml b/public_html/ko-KR/opds-Fedora_Security_Team.xml
index 059d1f9..498e420 100644
--- a/public_html/ko-KR/opds-Fedora_Security_Team.xml
+++ b/public_html/ko-KR/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ko-KR/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>ko-KR</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>ko-KR</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/ko-KR/opds.xml b/public_html/ko-KR/opds.xml
index ccdd4aa..b0a68b7 100644
--- a/public_html/ko-KR/opds.xml
+++ b/public_html/ko-KR/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/ko-KR/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/ko-KR/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>ko-KR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/ko-KR/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>ko-KR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/ko-KR/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>ko-KR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/ko-KR/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>ko-KR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/ko-KR/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>ko-KR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/ko-KR/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>ko-KR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/ko-KR/toc.html b/public_html/ko-KR/toc.html
index e27fa4c..31bf334 100644
--- a/public_html/ko-KR/toc.html
+++ b/public_html/ko-KR/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/ml-IN/Site_Statistics.html b/public_html/ml-IN/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/ml-IN/Site_Statistics.html
+++ b/public_html/ml-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/ml-IN/opds-Community_Services_Infrastructure.xml b/public_html/ml-IN/opds-Community_Services_Infrastructure.xml
index f964291..c1c8636 100644
--- a/public_html/ml-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/ml-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ml-IN/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ml-IN/opds-Fedora.xml b/public_html/ml-IN/opds-Fedora.xml
index 2cd100e..db3604c 100644
--- a/public_html/ml-IN/opds-Fedora.xml
+++ b/public_html/ml-IN/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ml-IN/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ml-IN/opds-Fedora_Contributor_Documentation.xml b/public_html/ml-IN/opds-Fedora_Contributor_Documentation.xml
index ccbd180..5f1bd4b 100644
--- a/public_html/ml-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/ml-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ml-IN/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ml-IN/opds-Fedora_Core.xml b/public_html/ml-IN/opds-Fedora_Core.xml
index 7cb9bd3..eef03c2 100644
--- a/public_html/ml-IN/opds-Fedora_Core.xml
+++ b/public_html/ml-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ml-IN/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ml-IN/opds-Fedora_Draft_Documentation.xml b/public_html/ml-IN/opds-Fedora_Draft_Documentation.xml
index 09d8794..2117aac 100644
--- a/public_html/ml-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/ml-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ml-IN/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ml-IN/opds-Fedora_Security_Team.xml b/public_html/ml-IN/opds-Fedora_Security_Team.xml
index 60f7611..f67dac7 100644
--- a/public_html/ml-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/ml-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ml-IN/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>ml-IN</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>ml-IN</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/ml-IN/opds.xml b/public_html/ml-IN/opds.xml
index 328545f..b4cbfc8 100644
--- a/public_html/ml-IN/opds.xml
+++ b/public_html/ml-IN/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/ml-IN/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/ml-IN/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>ml-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/ml-IN/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>ml-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/ml-IN/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>ml-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/ml-IN/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>ml-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/ml-IN/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>ml-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/ml-IN/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>ml-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/ml-IN/toc.html b/public_html/ml-IN/toc.html
index 623c591..aacd27c 100644
--- a/public_html/ml-IN/toc.html
+++ b/public_html/ml-IN/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/mr-IN/Site_Statistics.html b/public_html/mr-IN/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/mr-IN/Site_Statistics.html
+++ b/public_html/mr-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/mr-IN/opds-Community_Services_Infrastructure.xml b/public_html/mr-IN/opds-Community_Services_Infrastructure.xml
index 78eb2a5..55e0af9 100644
--- a/public_html/mr-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/mr-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/mr-IN/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/mr-IN/opds-Fedora.xml b/public_html/mr-IN/opds-Fedora.xml
index 93cad3e..3792c71 100644
--- a/public_html/mr-IN/opds-Fedora.xml
+++ b/public_html/mr-IN/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/mr-IN/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/mr-IN/opds-Fedora_Contributor_Documentation.xml b/public_html/mr-IN/opds-Fedora_Contributor_Documentation.xml
index 49e7516..1192325 100644
--- a/public_html/mr-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/mr-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/mr-IN/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/mr-IN/opds-Fedora_Core.xml b/public_html/mr-IN/opds-Fedora_Core.xml
index 133d563..98235ff 100644
--- a/public_html/mr-IN/opds-Fedora_Core.xml
+++ b/public_html/mr-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/mr-IN/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/mr-IN/opds-Fedora_Draft_Documentation.xml b/public_html/mr-IN/opds-Fedora_Draft_Documentation.xml
index 90b2baa..ef1b519 100644
--- a/public_html/mr-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/mr-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/mr-IN/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/mr-IN/opds-Fedora_Security_Team.xml b/public_html/mr-IN/opds-Fedora_Security_Team.xml
index 0b18116..9440731 100644
--- a/public_html/mr-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/mr-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/mr-IN/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>mr-IN</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>mr-IN</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/mr-IN/opds.xml b/public_html/mr-IN/opds.xml
index 00f41a0..bb43baf 100644
--- a/public_html/mr-IN/opds.xml
+++ b/public_html/mr-IN/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/mr-IN/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/mr-IN/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>mr-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/mr-IN/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>mr-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/mr-IN/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>mr-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/mr-IN/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>mr-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/mr-IN/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>mr-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/mr-IN/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>mr-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/mr-IN/toc.html b/public_html/mr-IN/toc.html
index c521a2b..17935ad 100644
--- a/public_html/mr-IN/toc.html
+++ b/public_html/mr-IN/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/nb-NO/Site_Statistics.html b/public_html/nb-NO/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/nb-NO/Site_Statistics.html
+++ b/public_html/nb-NO/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/nb-NO/opds-Community_Services_Infrastructure.xml b/public_html/nb-NO/opds-Community_Services_Infrastructure.xml
index 60d5759..56b0e12 100644
--- a/public_html/nb-NO/opds-Community_Services_Infrastructure.xml
+++ b/public_html/nb-NO/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/nb-NO/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/nb-NO/opds-Fedora.xml b/public_html/nb-NO/opds-Fedora.xml
index 5be993d..0eb2e6e 100644
--- a/public_html/nb-NO/opds-Fedora.xml
+++ b/public_html/nb-NO/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/nb-NO/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/nb-NO/opds-Fedora_Contributor_Documentation.xml b/public_html/nb-NO/opds-Fedora_Contributor_Documentation.xml
index 728aba1..37456a2 100644
--- a/public_html/nb-NO/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/nb-NO/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/nb-NO/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/nb-NO/opds-Fedora_Core.xml b/public_html/nb-NO/opds-Fedora_Core.xml
index 6b71f31..e16c4d5 100644
--- a/public_html/nb-NO/opds-Fedora_Core.xml
+++ b/public_html/nb-NO/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/nb-NO/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/nb-NO/opds-Fedora_Draft_Documentation.xml b/public_html/nb-NO/opds-Fedora_Draft_Documentation.xml
index f97b2a7..634581c 100644
--- a/public_html/nb-NO/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/nb-NO/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/nb-NO/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/nb-NO/opds-Fedora_Security_Team.xml b/public_html/nb-NO/opds-Fedora_Security_Team.xml
index 856c8c5..56d4f6b 100644
--- a/public_html/nb-NO/opds-Fedora_Security_Team.xml
+++ b/public_html/nb-NO/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/nb-NO/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>nb-NO</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>nb-NO</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/nb-NO/opds.xml b/public_html/nb-NO/opds.xml
index 9fa4d58..c03c4f6 100644
--- a/public_html/nb-NO/opds.xml
+++ b/public_html/nb-NO/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/nb-NO/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/nb-NO/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>nb-NO</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/nb-NO/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>nb-NO</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/nb-NO/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>nb-NO</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/nb-NO/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>nb-NO</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/nb-NO/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>nb-NO</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/nb-NO/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>nb-NO</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/nb-NO/toc.html b/public_html/nb-NO/toc.html
index 29db9d4..80077cb 100644
--- a/public_html/nb-NO/toc.html
+++ b/public_html/nb-NO/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1249,7 +1249,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Release_Notes' class="book collapsed" onclick="toggle(event, 'Fedora.8.Release_Notes.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/nl-NL/Site_Statistics.html b/public_html/nl-NL/Site_Statistics.html
index 1a2ffbc..0f0237c 100644
--- a/public_html/nl-NL/Site_Statistics.html
+++ b/public_html/nl-NL/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Totaal talen: </b>44<br />
-	<b>Totaal pakketten: </b>880
+	<b>Totaal pakketten: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/nl-NL/opds-Community_Services_Infrastructure.xml b/public_html/nl-NL/opds-Community_Services_Infrastructure.xml
index 6e69541..fa37bee 100644
--- a/public_html/nl-NL/opds-Community_Services_Infrastructure.xml
+++ b/public_html/nl-NL/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/nl-NL/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:35</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/nl-NL/opds-Fedora.xml b/public_html/nl-NL/opds-Fedora.xml
index 86aab8d..2890a43 100644
--- a/public_html/nl-NL/opds-Fedora.xml
+++ b/public_html/nl-NL/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/nl-NL/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/nl-NL/opds-Fedora_Contributor_Documentation.xml b/public_html/nl-NL/opds-Fedora_Contributor_Documentation.xml
index 3f3973f..f7b3b95 100644
--- a/public_html/nl-NL/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/nl-NL/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/nl-NL/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/nl-NL/opds-Fedora_Core.xml b/public_html/nl-NL/opds-Fedora_Core.xml
index 0827b07..67bf070 100644
--- a/public_html/nl-NL/opds-Fedora_Core.xml
+++ b/public_html/nl-NL/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/nl-NL/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/nl-NL/opds-Fedora_Draft_Documentation.xml b/public_html/nl-NL/opds-Fedora_Draft_Documentation.xml
index 0c3d719..5ab4afb 100644
--- a/public_html/nl-NL/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/nl-NL/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/nl-NL/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/nl-NL/opds-Fedora_Security_Team.xml b/public_html/nl-NL/opds-Fedora_Security_Team.xml
index 4c96c02..99dae7b 100644
--- a/public_html/nl-NL/opds-Fedora_Security_Team.xml
+++ b/public_html/nl-NL/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/nl-NL/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>nl-NL</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>nl-NL</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/nl-NL/opds.xml b/public_html/nl-NL/opds.xml
index 5a646f2..4f3a6cc 100644
--- a/public_html/nl-NL/opds.xml
+++ b/public_html/nl-NL/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/nl-NL/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:04</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/nl-NL/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>nl-NL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/nl-NL/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>nl-NL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/nl-NL/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>nl-NL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/nl-NL/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>nl-NL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/nl-NL/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>nl-NL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/nl-NL/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>nl-NL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/nl-NL/toc.html b/public_html/nl-NL/toc.html
index d0a5219..8ab4dba 100644
--- a/public_html/nl-NL/toc.html
+++ b/public_html/nl-NL/toc.html
@@ -288,7 +288,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1151,7 +1151,7 @@
 							<a class="type" href="./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-nl-NL.epub" >epub</a>
 							<a class="type" href="./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-nl-NL.pdf" onclick="window.top.location='./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-nl-NL.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-nl-NL.pdf" onclick="window.top.location='./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-nl-NL.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.11.User_Guide' class="book collapsed">
@@ -1550,7 +1550,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1577,7 +1577,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1903,7 +1903,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1934,23 +1934,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Onvertaald</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Onvertaald</span>
diff --git a/public_html/opds.xml b/public_html/opds.xml
index 26c2853..df5464d 100644
--- a/public_html/opds.xml
+++ b/public_html/opds.xml
@@ -7,7 +7,7 @@
   <link rel="start" href="http://docs.fedoraproject.org/opds.xml" type="application/atom+xml;type=feed;profile=opds-catalog"/>
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <title>Fedora Documentation</title>
-  <updated>2013-08-21T20:19:40</updated>
+  <updated>2013-09-05T15:02:08</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -16,7 +16,7 @@
   <entry>
     <title>অসমীয়া</title>
     <id>as-IN/opds.xml</id>
-    <updated>2013-08-21T20:19:29</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>as-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="as-IN/opds.xml"/>
@@ -24,7 +24,7 @@
   <entry>
     <title>български</title>
     <id>bg-BG/opds.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bg-BG</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="bg-BG/opds.xml"/>
@@ -32,7 +32,7 @@
   <entry>
     <title>বাংলা</title>
     <id>bn-IN/opds.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bn-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="bn-IN/opds.xml"/>
@@ -40,7 +40,7 @@
   <entry>
     <title>Bosanski</title>
     <id>bs-BA/opds.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>bs-BA</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="bs-BA/opds.xml"/>
@@ -48,7 +48,7 @@
   <entry>
     <title>Català</title>
     <id>ca-ES/opds.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:00</updated>
     <dc:language>ca-ES</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="ca-ES/opds.xml"/>
@@ -56,7 +56,7 @@
   <entry>
     <title>Čeština</title>
     <id>cs-CZ/opds.xml</id>
-    <updated>2013-08-21T20:19:30</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>cs-CZ</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="cs-CZ/opds.xml"/>
@@ -64,7 +64,7 @@
   <entry>
     <title>Dansk</title>
     <id>da-DK/opds.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>da-DK</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="da-DK/opds.xml"/>
@@ -72,7 +72,7 @@
   <entry>
     <title>Deutsch</title>
     <id>de-DE/opds.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>de-DE</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="de-DE/opds.xml"/>
@@ -80,7 +80,7 @@
   <entry>
     <title>Ελληνικά</title>
     <id>el-GR/opds.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>el-GR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="el-GR/opds.xml"/>
@@ -88,7 +88,7 @@
   <entry>
     <title>English</title>
     <id>en-US/opds.xml</id>
-    <updated>2013-08-21T20:19:31</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>en-US</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="en-US/opds.xml"/>
@@ -96,7 +96,7 @@
   <entry>
     <title>Español</title>
     <id>es-ES/opds.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:01</updated>
     <dc:language>es-ES</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="es-ES/opds.xml"/>
@@ -104,7 +104,7 @@
   <entry>
     <title>فارسی</title>
     <id>fa-IR/opds.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fa-IR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="fa-IR/opds.xml"/>
@@ -112,7 +112,7 @@
   <entry>
     <title>Suomi</title>
     <id>fi-FI/opds.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fi-FI</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="fi-FI/opds.xml"/>
@@ -120,7 +120,7 @@
   <entry>
     <title>Français</title>
     <id>fr-FR/opds.xml</id>
-    <updated>2013-08-21T20:19:32</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>fr-FR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="fr-FR/opds.xml"/>
@@ -128,7 +128,7 @@
   <entry>
     <title>ગુજરાતી</title>
     <id>gu-IN/opds.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>gu-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="gu-IN/opds.xml"/>
@@ -136,7 +136,7 @@
   <entry>
     <title>עברית</title>
     <id>he-IL/opds.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>he-IL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="he-IL/opds.xml"/>
@@ -144,7 +144,7 @@
   <entry>
     <title>हिन्दी</title>
     <id>hi-IN/opds.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:02</updated>
     <dc:language>hi-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="hi-IN/opds.xml"/>
@@ -152,7 +152,7 @@
   <entry>
     <title>Magyar</title>
     <id>hu-HU/opds.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>hu-HU</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="hu-HU/opds.xml"/>
@@ -160,7 +160,7 @@
   <entry>
     <title>Interlingua (International Auxiliary Language Association)</title>
     <id>ia/opds.xml</id>
-    <updated>2013-08-21T20:19:33</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>ia</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="ia/opds.xml"/>
@@ -168,7 +168,7 @@
   <entry>
     <title>Indonesia</title>
     <id>id-ID/opds.xml</id>
-    <updated>2013-08-21T20:19:34</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>id-ID</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="id-ID/opds.xml"/>
@@ -176,7 +176,7 @@
   <entry>
     <title>Italiano</title>
     <id>it-IT/opds.xml</id>
-    <updated>2013-08-21T20:19:34</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>it-IT</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="it-IT/opds.xml"/>
@@ -184,7 +184,7 @@
   <entry>
     <title>日本語</title>
     <id>ja-JP/opds.xml</id>
-    <updated>2013-08-21T20:19:34</updated>
+    <updated>2013-09-05T15:02:03</updated>
     <dc:language>ja-JP</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="ja-JP/opds.xml"/>
@@ -192,7 +192,7 @@
   <entry>
     <title>ಕನ್ನಡ</title>
     <id>kn-IN/opds.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>kn-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="kn-IN/opds.xml"/>
@@ -200,7 +200,7 @@
   <entry>
     <title>한국어</title>
     <id>ko-KR/opds.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>ko-KR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="ko-KR/opds.xml"/>
@@ -208,7 +208,7 @@
   <entry>
     <title>മലയാളം</title>
     <id>ml-IN/opds.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>ml-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="ml-IN/opds.xml"/>
@@ -216,7 +216,7 @@
   <entry>
     <title>मराठी</title>
     <id>mr-IN/opds.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>mr-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="mr-IN/opds.xml"/>
@@ -224,7 +224,7 @@
   <entry>
     <title>Norsk (bokmål)</title>
     <id>nb-NO/opds.xml</id>
-    <updated>2013-08-21T20:19:35</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>nb-NO</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="nb-NO/opds.xml"/>
@@ -232,7 +232,7 @@
   <entry>
     <title>Nederlands</title>
     <id>nl-NL/opds.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:04</updated>
     <dc:language>nl-NL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="nl-NL/opds.xml"/>
@@ -240,7 +240,7 @@
   <entry>
     <title>ଓଡ଼ିଆ</title>
     <id>or-IN/opds.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>or-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="or-IN/opds.xml"/>
@@ -248,7 +248,7 @@
   <entry>
     <title>ਪੰਜਾਬੀ</title>
     <id>pa-IN/opds.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pa-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="pa-IN/opds.xml"/>
@@ -256,7 +256,7 @@
   <entry>
     <title>Polski</title>
     <id>pl-PL/opds.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pl-PL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="pl-PL/opds.xml"/>
@@ -264,7 +264,7 @@
   <entry>
     <title>Português Brasileiro</title>
     <id>pt-BR/opds.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pt-BR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="pt-BR/opds.xml"/>
@@ -272,7 +272,7 @@
   <entry>
     <title>Português</title>
     <id>pt-PT/opds.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pt-PT</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="pt-PT/opds.xml"/>
@@ -280,7 +280,7 @@
   <entry>
     <title>Romanian</title>
     <id>ro/opds.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>ro</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="ro/opds.xml"/>
@@ -288,7 +288,7 @@
   <entry>
     <title>Русский</title>
     <id>ru-RU/opds.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>ru-RU</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="ru-RU/opds.xml"/>
@@ -296,7 +296,7 @@
   <entry>
     <title>Slovenščina</title>
     <id>sk-SK/opds.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sk-SK</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="sk-SK/opds.xml"/>
@@ -304,7 +304,7 @@
   <entry>
     <title>Srpski (latinica)</title>
     <id>sr-Latn-RS/opds.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sr-Latn-RS</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="sr-Latn-RS/opds.xml"/>
@@ -312,7 +312,7 @@
   <entry>
     <title>Српски</title>
     <id>sr-RS/opds.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sr-RS</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="sr-RS/opds.xml"/>
@@ -320,7 +320,7 @@
   <entry>
     <title>Svenska</title>
     <id>sv-SE/opds.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sv-SE</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="sv-SE/opds.xml"/>
@@ -328,7 +328,7 @@
   <entry>
     <title>தமிழ்</title>
     <id>ta-IN/opds.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>ta-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="ta-IN/opds.xml"/>
@@ -336,7 +336,7 @@
   <entry>
     <title>తెలుగు</title>
     <id>te-IN/opds.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>te-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="te-IN/opds.xml"/>
@@ -344,7 +344,7 @@
   <entry>
     <title>Українська</title>
     <id>uk-UA/opds.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>uk-UA</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="uk-UA/opds.xml"/>
@@ -352,7 +352,7 @@
   <entry>
     <title>简体中文</title>
     <id>zh-CN/opds.xml</id>
-    <updated>2013-08-21T20:19:40</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>zh-CN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="zh-CN/opds.xml"/>
@@ -360,7 +360,7 @@
   <entry>
     <title>繁體中文</title>
     <id>zh-TW/opds.xml</id>
-    <updated>2013-08-21T20:19:40</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>zh-TW</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="zh-TW/opds.xml"/>
diff --git a/public_html/or-IN/Site_Statistics.html b/public_html/or-IN/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/or-IN/Site_Statistics.html
+++ b/public_html/or-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/or-IN/opds-Community_Services_Infrastructure.xml b/public_html/or-IN/opds-Community_Services_Infrastructure.xml
index 5dd1fd6..dd1f11a 100644
--- a/public_html/or-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/or-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/or-IN/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/or-IN/opds-Fedora.xml b/public_html/or-IN/opds-Fedora.xml
index eff6f35..e3150fc 100644
--- a/public_html/or-IN/opds-Fedora.xml
+++ b/public_html/or-IN/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/or-IN/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/or-IN/opds-Fedora_Contributor_Documentation.xml b/public_html/or-IN/opds-Fedora_Contributor_Documentation.xml
index 1b67fae..bf8b1dc 100644
--- a/public_html/or-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/or-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/or-IN/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/or-IN/opds-Fedora_Core.xml b/public_html/or-IN/opds-Fedora_Core.xml
index 098dced..4d29d27 100644
--- a/public_html/or-IN/opds-Fedora_Core.xml
+++ b/public_html/or-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/or-IN/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/or-IN/opds-Fedora_Draft_Documentation.xml b/public_html/or-IN/opds-Fedora_Draft_Documentation.xml
index 9ffea8f..e6b96bd 100644
--- a/public_html/or-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/or-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/or-IN/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/or-IN/opds-Fedora_Security_Team.xml b/public_html/or-IN/opds-Fedora_Security_Team.xml
index b91e29e..c49aab6 100644
--- a/public_html/or-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/or-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/or-IN/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>or-IN</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>or-IN</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/or-IN/opds.xml b/public_html/or-IN/opds.xml
index bbbe5f5..e1c3854 100644
--- a/public_html/or-IN/opds.xml
+++ b/public_html/or-IN/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/or-IN/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/or-IN/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>or-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/or-IN/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>or-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/or-IN/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>or-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/or-IN/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>or-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/or-IN/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>or-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/or-IN/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>or-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/or-IN/toc.html b/public_html/or-IN/toc.html
index 0ced850..ebe910d 100644
--- a/public_html/or-IN/toc.html
+++ b/public_html/or-IN/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/pa-IN/Site_Statistics.html b/public_html/pa-IN/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/pa-IN/Site_Statistics.html
+++ b/public_html/pa-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/pa-IN/opds-Community_Services_Infrastructure.xml b/public_html/pa-IN/opds-Community_Services_Infrastructure.xml
index 08f493e..9c8aaf3 100644
--- a/public_html/pa-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/pa-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pa-IN/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pa-IN/opds-Fedora.xml b/public_html/pa-IN/opds-Fedora.xml
index bccdcd9..8c55a44 100644
--- a/public_html/pa-IN/opds-Fedora.xml
+++ b/public_html/pa-IN/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pa-IN/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pa-IN/opds-Fedora_Contributor_Documentation.xml b/public_html/pa-IN/opds-Fedora_Contributor_Documentation.xml
index 2461e42..2c7dc9f 100644
--- a/public_html/pa-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/pa-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pa-IN/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pa-IN/opds-Fedora_Core.xml b/public_html/pa-IN/opds-Fedora_Core.xml
index e212519..54b73e0 100644
--- a/public_html/pa-IN/opds-Fedora_Core.xml
+++ b/public_html/pa-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pa-IN/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pa-IN/opds-Fedora_Draft_Documentation.xml b/public_html/pa-IN/opds-Fedora_Draft_Documentation.xml
index 42d61b0..a7e88dd 100644
--- a/public_html/pa-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/pa-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pa-IN/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pa-IN/opds-Fedora_Security_Team.xml b/public_html/pa-IN/opds-Fedora_Security_Team.xml
index dad3e2c..f285a17 100644
--- a/public_html/pa-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/pa-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pa-IN/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>pa-IN</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>pa-IN</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/pa-IN/opds.xml b/public_html/pa-IN/opds.xml
index f5c6825..0ec5309 100644
--- a/public_html/pa-IN/opds.xml
+++ b/public_html/pa-IN/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/pa-IN/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/pa-IN/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pa-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/pa-IN/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pa-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/pa-IN/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pa-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/pa-IN/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pa-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/pa-IN/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pa-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/pa-IN/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pa-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/pa-IN/toc.html b/public_html/pa-IN/toc.html
index e84efb2..2350284 100644
--- a/public_html/pa-IN/toc.html
+++ b/public_html/pa-IN/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/pl-PL/Site_Statistics.html b/public_html/pl-PL/Site_Statistics.html
index c9ced42..b45a8f4 100644
--- a/public_html/pl-PL/Site_Statistics.html
+++ b/public_html/pl-PL/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Razem języków: </b>44<br />
-	<b>Razem pakietów: </b>880
+	<b>Razem pakietów: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/pl-PL/opds-Community_Services_Infrastructure.xml b/public_html/pl-PL/opds-Community_Services_Infrastructure.xml
index 15cc959..1d0a348 100644
--- a/public_html/pl-PL/opds-Community_Services_Infrastructure.xml
+++ b/public_html/pl-PL/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pl-PL/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pl-PL/opds-Fedora.xml b/public_html/pl-PL/opds-Fedora.xml
index 7cec06e..df1e598 100644
--- a/public_html/pl-PL/opds-Fedora.xml
+++ b/public_html/pl-PL/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pl-PL/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pl-PL/opds-Fedora_Contributor_Documentation.xml b/public_html/pl-PL/opds-Fedora_Contributor_Documentation.xml
index 8a72fe0..612a5ac 100644
--- a/public_html/pl-PL/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/pl-PL/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pl-PL/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Dokumentacja dla współtwórców Fedory</title>
   <subtitle>Dokumentacja dla współtwórców Fedory</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pl-PL/opds-Fedora_Core.xml b/public_html/pl-PL/opds-Fedora_Core.xml
index df41726..70d8f42 100644
--- a/public_html/pl-PL/opds-Fedora_Core.xml
+++ b/public_html/pl-PL/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pl-PL/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pl-PL/opds-Fedora_Draft_Documentation.xml b/public_html/pl-PL/opds-Fedora_Draft_Documentation.xml
index 47719c9..08442aa 100644
--- a/public_html/pl-PL/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/pl-PL/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pl-PL/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pl-PL/opds-Fedora_Security_Team.xml b/public_html/pl-PL/opds-Fedora_Security_Team.xml
index 303f5bd..f781e40 100644
--- a/public_html/pl-PL/opds-Fedora_Security_Team.xml
+++ b/public_html/pl-PL/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pl-PL/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>pl-PL</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>pl-PL</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/pl-PL/opds.xml b/public_html/pl-PL/opds.xml
index 1aae878..9b396de 100644
--- a/public_html/pl-PL/opds.xml
+++ b/public_html/pl-PL/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/pl-PL/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:36</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/pl-PL/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pl-PL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/pl-PL/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pl-PL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Dokumentacja dla współtwórców Fedory</title>
     <id>http://docs.fedoraproject.org/pl-PL/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pl-PL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/pl-PL/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pl-PL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/pl-PL/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pl-PL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/pl-PL/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:36</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pl-PL</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/pl-PL/toc.html b/public_html/pl-PL/toc.html
index ec6958e..35c45bf 100644
--- a/public_html/pl-PL/toc.html
+++ b/public_html/pl-PL/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1193,7 +1193,7 @@
 									<a class="type" href="../en-US/./Fedora/10/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/10/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/10/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/10/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/10/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/10/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/10/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/10/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/10/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.10.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.10.User_Guide.types');">
@@ -1275,7 +1275,7 @@
 									<a class="type" href="../en-US/./Fedora/9/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/9/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/9/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/9/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/9/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/9/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/9/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/9/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/9/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.9.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.9.User_Guide.types');">
@@ -1407,7 +1407,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1425,7 +1425,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1751,7 +1751,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1782,23 +1782,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Nieprzetłumaczone</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Nieprzetłumaczone</span>
diff --git a/public_html/pt-BR/Site_Statistics.html b/public_html/pt-BR/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/pt-BR/Site_Statistics.html
+++ b/public_html/pt-BR/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/pt-BR/opds-Community_Services_Infrastructure.xml b/public_html/pt-BR/opds-Community_Services_Infrastructure.xml
index fb03a59..490ea08 100644
--- a/public_html/pt-BR/opds-Community_Services_Infrastructure.xml
+++ b/public_html/pt-BR/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pt-BR/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pt-BR/opds-Fedora.xml b/public_html/pt-BR/opds-Fedora.xml
index 31fcea2..aef899f 100644
--- a/public_html/pt-BR/opds-Fedora.xml
+++ b/public_html/pt-BR/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pt-BR/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pt-BR/opds-Fedora_Contributor_Documentation.xml b/public_html/pt-BR/opds-Fedora_Contributor_Documentation.xml
index 98ab847..fc3ac14 100644
--- a/public_html/pt-BR/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/pt-BR/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pt-BR/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pt-BR/opds-Fedora_Core.xml b/public_html/pt-BR/opds-Fedora_Core.xml
index 50211eb..31bf9d2 100644
--- a/public_html/pt-BR/opds-Fedora_Core.xml
+++ b/public_html/pt-BR/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pt-BR/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pt-BR/opds-Fedora_Draft_Documentation.xml b/public_html/pt-BR/opds-Fedora_Draft_Documentation.xml
index c2a02b5..09ac8a6 100644
--- a/public_html/pt-BR/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/pt-BR/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pt-BR/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pt-BR/opds-Fedora_Security_Team.xml b/public_html/pt-BR/opds-Fedora_Security_Team.xml
index 215603d..a99579f 100644
--- a/public_html/pt-BR/opds-Fedora_Security_Team.xml
+++ b/public_html/pt-BR/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pt-BR/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>pt-BR</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>pt-BR</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/pt-BR/opds.xml b/public_html/pt-BR/opds.xml
index 92ab43c..883d705 100644
--- a/public_html/pt-BR/opds.xml
+++ b/public_html/pt-BR/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/pt-BR/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/pt-BR/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pt-BR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/pt-BR/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pt-BR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/pt-BR/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pt-BR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/pt-BR/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pt-BR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/pt-BR/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pt-BR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/pt-BR/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pt-BR</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/pt-BR/toc.html b/public_html/pt-BR/toc.html
index 6a90a71..1978d58 100644
--- a/public_html/pt-BR/toc.html
+++ b/public_html/pt-BR/toc.html
@@ -279,7 +279,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1335,7 +1335,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1362,7 +1362,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1688,7 +1688,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1719,23 +1719,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/pt-PT/Site_Statistics.html b/public_html/pt-PT/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/pt-PT/Site_Statistics.html
+++ b/public_html/pt-PT/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/pt-PT/opds-Community_Services_Infrastructure.xml b/public_html/pt-PT/opds-Community_Services_Infrastructure.xml
index a41ddc1..cd2c101 100644
--- a/public_html/pt-PT/opds-Community_Services_Infrastructure.xml
+++ b/public_html/pt-PT/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pt-PT/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pt-PT/opds-Fedora.xml b/public_html/pt-PT/opds-Fedora.xml
index e6b7030..a629379 100644
--- a/public_html/pt-PT/opds-Fedora.xml
+++ b/public_html/pt-PT/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pt-PT/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pt-PT/opds-Fedora_Contributor_Documentation.xml b/public_html/pt-PT/opds-Fedora_Contributor_Documentation.xml
index 0ef3f6d..75fed8c 100644
--- a/public_html/pt-PT/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/pt-PT/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pt-PT/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pt-PT/opds-Fedora_Core.xml b/public_html/pt-PT/opds-Fedora_Core.xml
index 84e026b..ef6784a 100644
--- a/public_html/pt-PT/opds-Fedora_Core.xml
+++ b/public_html/pt-PT/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pt-PT/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pt-PT/opds-Fedora_Draft_Documentation.xml b/public_html/pt-PT/opds-Fedora_Draft_Documentation.xml
index c5945cc..17ab5de 100644
--- a/public_html/pt-PT/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/pt-PT/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pt-PT/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/pt-PT/opds-Fedora_Security_Team.xml b/public_html/pt-PT/opds-Fedora_Security_Team.xml
index 7ab1718..80b2401 100644
--- a/public_html/pt-PT/opds-Fedora_Security_Team.xml
+++ b/public_html/pt-PT/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/pt-PT/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>pt-PT</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>pt-PT</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/pt-PT/opds.xml b/public_html/pt-PT/opds.xml
index c318803..5f408d6 100644
--- a/public_html/pt-PT/opds.xml
+++ b/public_html/pt-PT/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/pt-PT/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/pt-PT/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pt-PT</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/pt-PT/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pt-PT</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/pt-PT/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pt-PT</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/pt-PT/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pt-PT</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/pt-PT/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pt-PT</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/pt-PT/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>pt-PT</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/pt-PT/toc.html b/public_html/pt-PT/toc.html
index 462d7f0..56f985e 100644
--- a/public_html/pt-PT/toc.html
+++ b/public_html/pt-PT/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1335,7 +1335,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1362,7 +1362,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1678,7 +1678,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1709,23 +1709,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/ro/Site_Statistics.html b/public_html/ro/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/ro/Site_Statistics.html
+++ b/public_html/ro/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/ro/opds-Community_Services_Infrastructure.xml b/public_html/ro/opds-Community_Services_Infrastructure.xml
index 54f6813..28bf171 100644
--- a/public_html/ro/opds-Community_Services_Infrastructure.xml
+++ b/public_html/ro/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ro/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ro/opds-Fedora.xml b/public_html/ro/opds-Fedora.xml
index 6ca2f57..b4a4240 100644
--- a/public_html/ro/opds-Fedora.xml
+++ b/public_html/ro/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ro/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ro/opds-Fedora_Contributor_Documentation.xml b/public_html/ro/opds-Fedora_Contributor_Documentation.xml
index 86c29c7..5cfbfd5 100644
--- a/public_html/ro/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/ro/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ro/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:05</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ro/opds-Fedora_Core.xml b/public_html/ro/opds-Fedora_Core.xml
index d336d84..82df482 100644
--- a/public_html/ro/opds-Fedora_Core.xml
+++ b/public_html/ro/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ro/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ro/opds-Fedora_Draft_Documentation.xml b/public_html/ro/opds-Fedora_Draft_Documentation.xml
index 794c827..469f744 100644
--- a/public_html/ro/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/ro/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ro/opds-Fedora_Draft_Documentation.xml</id>
   <title>Schiță Documentație Fedora</title>
   <subtitle>Schiță Documentație Fedora</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ro/opds-Fedora_Security_Team.xml b/public_html/ro/opds-Fedora_Security_Team.xml
index be386ed..3d3ebbe 100644
--- a/public_html/ro/opds-Fedora_Security_Team.xml
+++ b/public_html/ro/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ro/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>ro</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>ro</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/ro/opds.xml b/public_html/ro/opds.xml
index a6cc3df..a1ea1bb 100644
--- a/public_html/ro/opds.xml
+++ b/public_html/ro/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/ro/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/ro/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>ro</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/ro/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>ro</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/ro/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:05</updated>
     <dc:language>ro</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/ro/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>ro</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Schiță Documentație Fedora</title>
     <id>http://docs.fedoraproject.org/ro/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>ro</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/ro/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>ro</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/ro/toc.html b/public_html/ro/toc.html
index 99f212e..9b6d6c8 100644
--- a/public_html/ro/toc.html
+++ b/public_html/ro/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/ru-RU/Site_Statistics.html b/public_html/ru-RU/Site_Statistics.html
index bde605b..381bb18 100644
--- a/public_html/ru-RU/Site_Statistics.html
+++ b/public_html/ru-RU/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Всего языков: </b>44<br />
-	<b>Всего пакетов: </b>880
+	<b>Всего пакетов: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/ru-RU/opds-Community_Services_Infrastructure.xml b/public_html/ru-RU/opds-Community_Services_Infrastructure.xml
index 1b1c6e9..c63d61d 100644
--- a/public_html/ru-RU/opds-Community_Services_Infrastructure.xml
+++ b/public_html/ru-RU/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ru-RU/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ru-RU/opds-Fedora.xml b/public_html/ru-RU/opds-Fedora.xml
index bd11317..100225a 100644
--- a/public_html/ru-RU/opds-Fedora.xml
+++ b/public_html/ru-RU/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ru-RU/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ru-RU/opds-Fedora_Contributor_Documentation.xml b/public_html/ru-RU/opds-Fedora_Contributor_Documentation.xml
index 8f2e3fd..5c7617e 100644
--- a/public_html/ru-RU/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/ru-RU/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ru-RU/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Документация участника Fedora</title>
   <subtitle>Документация участника Fedora</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ru-RU/opds-Fedora_Core.xml b/public_html/ru-RU/opds-Fedora_Core.xml
index 85ec143..5f60eb9 100644
--- a/public_html/ru-RU/opds-Fedora_Core.xml
+++ b/public_html/ru-RU/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ru-RU/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ru-RU/opds-Fedora_Draft_Documentation.xml b/public_html/ru-RU/opds-Fedora_Draft_Documentation.xml
index 05361fb..e2f172e 100644
--- a/public_html/ru-RU/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/ru-RU/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ru-RU/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ru-RU/opds-Fedora_Security_Team.xml b/public_html/ru-RU/opds-Fedora_Security_Team.xml
index 78e02c7..e84e45d 100644
--- a/public_html/ru-RU/opds-Fedora_Security_Team.xml
+++ b/public_html/ru-RU/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ru-RU/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:37</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>ru-RU</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>ru-RU</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/ru-RU/opds.xml b/public_html/ru-RU/opds.xml
index 5c755d2..ffcfa09 100644
--- a/public_html/ru-RU/opds.xml
+++ b/public_html/ru-RU/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/ru-RU/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/ru-RU/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>ru-RU</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/ru-RU/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>ru-RU</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Документация участника Fedora</title>
     <id>http://docs.fedoraproject.org/ru-RU/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>ru-RU</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/ru-RU/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>ru-RU</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/ru-RU/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>ru-RU</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/ru-RU/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:37</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>ru-RU</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/ru-RU/toc.html b/public_html/ru-RU/toc.html
index b993c05..eb30857 100644
--- a/public_html/ru-RU/toc.html
+++ b/public_html/ru-RU/toc.html
@@ -197,7 +197,7 @@
 							<a class="type" href="./Fedora/18/epub/Burning_ISO_images_to_disc/Fedora-18-Burning_ISO_images_to_disc-ru-RU.epub" >epub</a>
 							<a class="type" href="./Fedora/18/html/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/18/html/Burning_ISO_images_to_disc/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/18/html-single/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/18/html-single/Burning_ISO_images_to_disc/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/18/pdf/Burning_ISO_images_to_disc/Fedora-18-Burning_ISO_images_to_disc-ru-RU.pdf" onclick="window.top.location='./Fedora/18/pdf/Burning_ISO_images_to_disc/Fedora-18-Burning_ISO_images_to_disc-ru-RU.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/18/pdf/Burning_ISO_images_to_disc/Fedora-17-Burning_ISO_images_to_disc-ru-RU.pdf" onclick="window.top.location='./Fedora/18/pdf/Burning_ISO_images_to_disc/Fedora-17-Burning_ISO_images_to_disc-ru-RU.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.18.Fedora_Live_Images' class="book collapsed">
@@ -279,7 +279,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Не переведено</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Не переведено</span>
diff --git a/public_html/sk-SK/Site_Statistics.html b/public_html/sk-SK/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/sk-SK/Site_Statistics.html
+++ b/public_html/sk-SK/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/sk-SK/opds-Community_Services_Infrastructure.xml b/public_html/sk-SK/opds-Community_Services_Infrastructure.xml
index 1e6173d..d8c3d16 100644
--- a/public_html/sk-SK/opds-Community_Services_Infrastructure.xml
+++ b/public_html/sk-SK/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sk-SK/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sk-SK/opds-Fedora.xml b/public_html/sk-SK/opds-Fedora.xml
index 34cd364..087053b 100644
--- a/public_html/sk-SK/opds-Fedora.xml
+++ b/public_html/sk-SK/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sk-SK/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sk-SK/opds-Fedora_Contributor_Documentation.xml b/public_html/sk-SK/opds-Fedora_Contributor_Documentation.xml
index fcba0bb..78e6f30 100644
--- a/public_html/sk-SK/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/sk-SK/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sk-SK/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sk-SK/opds-Fedora_Core.xml b/public_html/sk-SK/opds-Fedora_Core.xml
index 47b5755..d01535b 100644
--- a/public_html/sk-SK/opds-Fedora_Core.xml
+++ b/public_html/sk-SK/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sk-SK/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sk-SK/opds-Fedora_Draft_Documentation.xml b/public_html/sk-SK/opds-Fedora_Draft_Documentation.xml
index 698fe3b..8dfde73 100644
--- a/public_html/sk-SK/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/sk-SK/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sk-SK/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sk-SK/opds-Fedora_Security_Team.xml b/public_html/sk-SK/opds-Fedora_Security_Team.xml
index ec8c7e4..4a7da67 100644
--- a/public_html/sk-SK/opds-Fedora_Security_Team.xml
+++ b/public_html/sk-SK/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sk-SK/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>sk-SK</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>sk-SK</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/sk-SK/opds.xml b/public_html/sk-SK/opds.xml
index 4ed6f57..b9c41f9 100644
--- a/public_html/sk-SK/opds.xml
+++ b/public_html/sk-SK/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/sk-SK/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/sk-SK/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sk-SK</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/sk-SK/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sk-SK</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/sk-SK/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sk-SK</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/sk-SK/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sk-SK</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/sk-SK/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sk-SK</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/sk-SK/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sk-SK</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/sk-SK/toc.html b/public_html/sk-SK/toc.html
index da199de..5baa5e3 100644
--- a/public_html/sk-SK/toc.html
+++ b/public_html/sk-SK/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1249,7 +1249,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/sr-Latn-RS/Site_Statistics.html b/public_html/sr-Latn-RS/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/sr-Latn-RS/Site_Statistics.html
+++ b/public_html/sr-Latn-RS/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/sr-Latn-RS/opds-Community_Services_Infrastructure.xml b/public_html/sr-Latn-RS/opds-Community_Services_Infrastructure.xml
index 720eb96..e0516bf 100644
--- a/public_html/sr-Latn-RS/opds-Community_Services_Infrastructure.xml
+++ b/public_html/sr-Latn-RS/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sr-Latn-RS/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sr-Latn-RS/opds-Fedora.xml b/public_html/sr-Latn-RS/opds-Fedora.xml
index 3389389..7a72f80 100644
--- a/public_html/sr-Latn-RS/opds-Fedora.xml
+++ b/public_html/sr-Latn-RS/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sr-Latn-RS/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sr-Latn-RS/opds-Fedora_Contributor_Documentation.xml b/public_html/sr-Latn-RS/opds-Fedora_Contributor_Documentation.xml
index 2e67886..426c508 100644
--- a/public_html/sr-Latn-RS/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/sr-Latn-RS/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sr-Latn-RS/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sr-Latn-RS/opds-Fedora_Core.xml b/public_html/sr-Latn-RS/opds-Fedora_Core.xml
index 6e8c4ba..df81a69 100644
--- a/public_html/sr-Latn-RS/opds-Fedora_Core.xml
+++ b/public_html/sr-Latn-RS/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sr-Latn-RS/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sr-Latn-RS/opds-Fedora_Draft_Documentation.xml b/public_html/sr-Latn-RS/opds-Fedora_Draft_Documentation.xml
index 671c053..7e4673a 100644
--- a/public_html/sr-Latn-RS/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/sr-Latn-RS/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sr-Latn-RS/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sr-Latn-RS/opds-Fedora_Security_Team.xml b/public_html/sr-Latn-RS/opds-Fedora_Security_Team.xml
index dc7fbb0..cdc546b 100644
--- a/public_html/sr-Latn-RS/opds-Fedora_Security_Team.xml
+++ b/public_html/sr-Latn-RS/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sr-Latn-RS/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>sr-Latn-RS</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>sr-Latn-RS</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/sr-Latn-RS/opds.xml b/public_html/sr-Latn-RS/opds.xml
index 683b515..b08a482 100644
--- a/public_html/sr-Latn-RS/opds.xml
+++ b/public_html/sr-Latn-RS/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/sr-Latn-RS/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/sr-Latn-RS/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sr-Latn-RS</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/sr-Latn-RS/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sr-Latn-RS</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/sr-Latn-RS/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sr-Latn-RS</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/sr-Latn-RS/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sr-Latn-RS</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/sr-Latn-RS/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sr-Latn-RS</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/sr-Latn-RS/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sr-Latn-RS</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/sr-Latn-RS/toc.html b/public_html/sr-Latn-RS/toc.html
index b864521..44480be 100644
--- a/public_html/sr-Latn-RS/toc.html
+++ b/public_html/sr-Latn-RS/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/sr-RS/Site_Statistics.html b/public_html/sr-RS/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/sr-RS/Site_Statistics.html
+++ b/public_html/sr-RS/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/sr-RS/opds-Community_Services_Infrastructure.xml b/public_html/sr-RS/opds-Community_Services_Infrastructure.xml
index aa5e7a1..3a22397 100644
--- a/public_html/sr-RS/opds-Community_Services_Infrastructure.xml
+++ b/public_html/sr-RS/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sr-RS/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sr-RS/opds-Fedora.xml b/public_html/sr-RS/opds-Fedora.xml
index 9f88e51..a716839 100644
--- a/public_html/sr-RS/opds-Fedora.xml
+++ b/public_html/sr-RS/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sr-RS/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sr-RS/opds-Fedora_Contributor_Documentation.xml b/public_html/sr-RS/opds-Fedora_Contributor_Documentation.xml
index 373a8f2..689dfa7 100644
--- a/public_html/sr-RS/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/sr-RS/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sr-RS/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sr-RS/opds-Fedora_Core.xml b/public_html/sr-RS/opds-Fedora_Core.xml
index c551ce1..5d05070 100644
--- a/public_html/sr-RS/opds-Fedora_Core.xml
+++ b/public_html/sr-RS/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sr-RS/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sr-RS/opds-Fedora_Draft_Documentation.xml b/public_html/sr-RS/opds-Fedora_Draft_Documentation.xml
index 969b35b..2a7d92d 100644
--- a/public_html/sr-RS/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/sr-RS/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sr-RS/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sr-RS/opds-Fedora_Security_Team.xml b/public_html/sr-RS/opds-Fedora_Security_Team.xml
index 33e1555..dcf0419 100644
--- a/public_html/sr-RS/opds-Fedora_Security_Team.xml
+++ b/public_html/sr-RS/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sr-RS/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>sr-RS</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>sr-RS</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/sr-RS/opds.xml b/public_html/sr-RS/opds.xml
index 2587115..0bf6fb1 100644
--- a/public_html/sr-RS/opds.xml
+++ b/public_html/sr-RS/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/sr-RS/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/sr-RS/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sr-RS</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/sr-RS/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sr-RS</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/sr-RS/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sr-RS</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/sr-RS/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sr-RS</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/sr-RS/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sr-RS</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/sr-RS/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sr-RS</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/sr-RS/toc.html b/public_html/sr-RS/toc.html
index 3a2d873..a62f6fc 100644
--- a/public_html/sr-RS/toc.html
+++ b/public_html/sr-RS/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1335,7 +1335,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1362,7 +1362,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1688,7 +1688,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1719,23 +1719,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/sv-SE/Site_Statistics.html b/public_html/sv-SE/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/sv-SE/Site_Statistics.html
+++ b/public_html/sv-SE/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/sv-SE/opds-Community_Services_Infrastructure.xml b/public_html/sv-SE/opds-Community_Services_Infrastructure.xml
index 968214d..abdd213 100644
--- a/public_html/sv-SE/opds-Community_Services_Infrastructure.xml
+++ b/public_html/sv-SE/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sv-SE/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sv-SE/opds-Fedora.xml b/public_html/sv-SE/opds-Fedora.xml
index 33d4f08..49f520a 100644
--- a/public_html/sv-SE/opds-Fedora.xml
+++ b/public_html/sv-SE/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sv-SE/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sv-SE/opds-Fedora_Contributor_Documentation.xml b/public_html/sv-SE/opds-Fedora_Contributor_Documentation.xml
index 8562942..8ef860d 100644
--- a/public_html/sv-SE/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/sv-SE/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sv-SE/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sv-SE/opds-Fedora_Core.xml b/public_html/sv-SE/opds-Fedora_Core.xml
index b1f22ee..886ce40 100644
--- a/public_html/sv-SE/opds-Fedora_Core.xml
+++ b/public_html/sv-SE/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sv-SE/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sv-SE/opds-Fedora_Draft_Documentation.xml b/public_html/sv-SE/opds-Fedora_Draft_Documentation.xml
index 26e6414..9f00d6a 100644
--- a/public_html/sv-SE/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/sv-SE/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sv-SE/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/sv-SE/opds-Fedora_Security_Team.xml b/public_html/sv-SE/opds-Fedora_Security_Team.xml
index 6c0df9d..9092de0 100644
--- a/public_html/sv-SE/opds-Fedora_Security_Team.xml
+++ b/public_html/sv-SE/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/sv-SE/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>sv-SE</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>sv-SE</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/sv-SE/opds.xml b/public_html/sv-SE/opds.xml
index f680027..23f4880 100644
--- a/public_html/sv-SE/opds.xml
+++ b/public_html/sv-SE/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/sv-SE/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/sv-SE/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sv-SE</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/sv-SE/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sv-SE</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/sv-SE/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sv-SE</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/sv-SE/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sv-SE</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/sv-SE/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sv-SE</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/sv-SE/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>sv-SE</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/sv-SE/toc.html b/public_html/sv-SE/toc.html
index 66f3b18..92e3f69 100644
--- a/public_html/sv-SE/toc.html
+++ b/public_html/sv-SE/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1322,7 +1322,7 @@
 									<a class="type" href="../en-US/./Fedora/7/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/7/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/7/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/7/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/7/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/7/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/7/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/7/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/7/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.7.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.7.Making_Fedora_Discs.types');">
@@ -1371,7 +1371,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1398,7 +1398,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1724,7 +1724,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1755,23 +1755,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/ta-IN/Site_Statistics.html b/public_html/ta-IN/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/ta-IN/Site_Statistics.html
+++ b/public_html/ta-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/ta-IN/opds-Community_Services_Infrastructure.xml b/public_html/ta-IN/opds-Community_Services_Infrastructure.xml
index cf78f3a..4aaaecb 100644
--- a/public_html/ta-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/ta-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ta-IN/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:38</updated>
+  <updated>2013-09-05T15:02:06</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ta-IN/opds-Fedora.xml b/public_html/ta-IN/opds-Fedora.xml
index 842aae9..b6aa935 100644
--- a/public_html/ta-IN/opds-Fedora.xml
+++ b/public_html/ta-IN/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ta-IN/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ta-IN/opds-Fedora_Contributor_Documentation.xml b/public_html/ta-IN/opds-Fedora_Contributor_Documentation.xml
index 7748ae0..e63698f 100644
--- a/public_html/ta-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/ta-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ta-IN/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ta-IN/opds-Fedora_Core.xml b/public_html/ta-IN/opds-Fedora_Core.xml
index a636f0e..13b2749 100644
--- a/public_html/ta-IN/opds-Fedora_Core.xml
+++ b/public_html/ta-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ta-IN/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ta-IN/opds-Fedora_Draft_Documentation.xml b/public_html/ta-IN/opds-Fedora_Draft_Documentation.xml
index d194d7d..e87c39b 100644
--- a/public_html/ta-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/ta-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ta-IN/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/ta-IN/opds-Fedora_Security_Team.xml b/public_html/ta-IN/opds-Fedora_Security_Team.xml
index 61bc985..7e7b390 100644
--- a/public_html/ta-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/ta-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/ta-IN/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>ta-IN</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>ta-IN</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/ta-IN/opds.xml b/public_html/ta-IN/opds.xml
index 8b4aa0e..7441bbd 100644
--- a/public_html/ta-IN/opds.xml
+++ b/public_html/ta-IN/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/ta-IN/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/ta-IN/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:38</updated>
+    <updated>2013-09-05T15:02:06</updated>
     <dc:language>ta-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/ta-IN/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>ta-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/ta-IN/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>ta-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/ta-IN/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>ta-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/ta-IN/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>ta-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/ta-IN/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>ta-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/ta-IN/toc.html b/public_html/ta-IN/toc.html
index 5778daf..36c0594 100644
--- a/public_html/ta-IN/toc.html
+++ b/public_html/ta-IN/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/te-IN/Site_Statistics.html b/public_html/te-IN/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/te-IN/Site_Statistics.html
+++ b/public_html/te-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/te-IN/opds-Community_Services_Infrastructure.xml b/public_html/te-IN/opds-Community_Services_Infrastructure.xml
index 1a61ec0..4894f04 100644
--- a/public_html/te-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/te-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/te-IN/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/te-IN/opds-Fedora.xml b/public_html/te-IN/opds-Fedora.xml
index 7de1ac0..b304e06 100644
--- a/public_html/te-IN/opds-Fedora.xml
+++ b/public_html/te-IN/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/te-IN/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/te-IN/opds-Fedora_Contributor_Documentation.xml b/public_html/te-IN/opds-Fedora_Contributor_Documentation.xml
index 0038caf..ee9d8c9 100644
--- a/public_html/te-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/te-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/te-IN/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/te-IN/opds-Fedora_Core.xml b/public_html/te-IN/opds-Fedora_Core.xml
index fc704d5..0e0dc35 100644
--- a/public_html/te-IN/opds-Fedora_Core.xml
+++ b/public_html/te-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/te-IN/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/te-IN/opds-Fedora_Draft_Documentation.xml b/public_html/te-IN/opds-Fedora_Draft_Documentation.xml
index 04d8aad..79f227c 100644
--- a/public_html/te-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/te-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/te-IN/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/te-IN/opds-Fedora_Security_Team.xml b/public_html/te-IN/opds-Fedora_Security_Team.xml
index d2ddb52..d60964f 100644
--- a/public_html/te-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/te-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/te-IN/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>te-IN</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>te-IN</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/te-IN/opds.xml b/public_html/te-IN/opds.xml
index df40ad8..2c10343 100644
--- a/public_html/te-IN/opds.xml
+++ b/public_html/te-IN/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/te-IN/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/te-IN/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>te-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/te-IN/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>te-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/te-IN/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>te-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/te-IN/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>te-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/te-IN/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>te-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/te-IN/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>te-IN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/te-IN/toc.html b/public_html/te-IN/toc.html
index 3bb1f13..05a118c 100644
--- a/public_html/te-IN/toc.html
+++ b/public_html/te-IN/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/toc.html b/public_html/toc.html
index 9faf040..2c8fa28 100644
--- a/public_html/toc.html
+++ b/public_html/toc.html
@@ -1799,7 +1799,7 @@
 			        			
 								<a class="type" href="./en-US/Fedora/18/html-single/Security_Guide/index.html">html-single</a>
 			        			
-								<a class="type" href="./en-US/Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf">pdf</a>
+								<a class="type" href="./en-US/Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -1874,7 +1874,7 @@
 			        			
 								<a class="type" href="./en-US/Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html">html-single</a>
 			        			
-								<a class="type" href="./en-US/Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf">pdf</a>
+								<a class="type" href="./en-US/Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -2027,7 +2027,7 @@
 			        			
 								<a class="type" href="./en-US/Fedora/17/html-single/Security_Guide/index.html">html-single</a>
 			        			
-								<a class="type" href="./en-US/Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf">pdf</a>
+								<a class="type" href="./en-US/Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -3104,7 +3104,7 @@
 			        			
 								<a class="type" href="./en-US/Fedora/11/html-single/Security_Guide/index.html">html-single</a>
 			        			
-								<a class="type" href="./en-US/Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf">pdf</a>
+								<a class="type" href="./en-US/Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -3278,7 +3278,7 @@
 			        			
 								<a class="type" href="./en-US/Fedora/8/html-single/Installation_Guide/index.html">html-single</a>
 			        			
-								<a class="type" href="./en-US/Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf">pdf</a>
+								<a class="type" href="./en-US/Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -3395,7 +3395,7 @@
 			        			
 								<a class="type" href="./en-US/Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html">html-single</a>
 			        			
-								<a class="type" href="./en-US/Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf">pdf</a>
+								<a class="type" href="./en-US/Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -3440,7 +3440,7 @@
 			        			
 								<a class="type" href="./en-US/Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html">html-single</a>
 			        			
-								<a class="type" href="./en-US/Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf">pdf</a>
+								<a class="type" href="./en-US/Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -3877,7 +3877,7 @@
 			        			
 								<a class="type" href="./en-US/Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html">html-single</a>
 			        			
-								<a class="type" href="./en-US/Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf">pdf</a>
+								<a class="type" href="./en-US/Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -3913,23 +3913,6 @@
 							<span id="Defensive_Coding" class="book">Defensive Coding</span> 
 							<div class="types">
 							
-								<a class="type" href="./en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">epub</a>
-			        			
-								<a class="type" href="./en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html">html</a>
-			        			
-								<a class="type" href="./en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/index.html">html-single</a>
-			        			
-								<a class="type" href="./en-US/Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf">pdf</a>
-			        			
-							</div>
-						</div>
-	        			
-					</div>								<div class="books">
-					
-						<div class="book">
-							<span id="Defensive_Coding" class="book">Defensive Coding</span> 
-							<div class="types">
-							
 								<a class="type" href="./en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub">epub</a>
 			        			
 								<a class="type" href="./en-US/Fedora_Security_Team//html/Defensive_Coding/index.html">html</a>
@@ -4026,7 +4009,7 @@
 			        			
 								<a class="type" href="./es-ES/Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html">html-single</a>
 			        			
-								<a class="type" href="./es-ES/Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-es-ES.pdf">pdf</a>
+								<a class="type" href="./es-ES/Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-es-ES.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -4170,7 +4153,7 @@
 			        			
 								<a class="type" href="./es-ES/Fedora/15/html-single/Burning_ISO_images_to_disc/index.html">html-single</a>
 			        			
-								<a class="type" href="./es-ES/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-es-ES.pdf">pdf</a>
+								<a class="type" href="./es-ES/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-es-ES.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -4335,7 +4318,7 @@
 			        			
 								<a class="type" href="./es-ES/Fedora/13/html-single/Accessibility_Guide/index.html">html-single</a>
 			        			
-								<a class="type" href="./es-ES/Fedora/13/pdf/Accessibility_Guide/Fedora-13-Accessibility_Guide-es-ES.pdf">pdf</a>
+								<a class="type" href="./es-ES/Fedora/13/pdf/Accessibility_Guide/fedora-13-Accessibility_Guide-es-ES.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -5235,7 +5218,7 @@
 			        			
 								<a class="type" href="./fi-FI/Fedora/15/html-single/Burning_ISO_images_to_disc/index.html">html-single</a>
 			        			
-								<a class="type" href="./fi-FI/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-fi-FI.pdf">pdf</a>
+								<a class="type" href="./fi-FI/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-fi-FI.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -5347,7 +5330,7 @@
 			        			
 								<a class="type" href="./fi-FI/Fedora/12/html-single/Fedora_Live_images/index.html">html-single</a>
 			        			
-								<a class="type" href="./fi-FI/Fedora/12/pdf/Fedora_Live_images/Fedora-13-Fedora_Live_Images-fi-FI.pdf">pdf</a>
+								<a class="type" href="./fi-FI/Fedora/12/pdf/Fedora_Live_images/Fedora-12-Fedora_Live_images-fi-FI.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -5380,7 +5363,7 @@
 			        			
 								<a class="type" href="./fi-FI/Fedora/11/html-single/Fedora_Live_images/index.html">html-single</a>
 			        			
-								<a class="type" href="./fi-FI/Fedora/11/pdf/Fedora_Live_images/Fedora-13-Fedora_Live_Images-fi-FI.pdf">pdf</a>
+								<a class="type" href="./fi-FI/Fedora/11/pdf/Fedora_Live_images/Fedora-11-Fedora_Live_images-fi-FI.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -5398,7 +5381,7 @@
 			        			
 								<a class="type" href="./fi-FI/Fedora/10/html-single/Fedora_Live_Images/index.html">html-single</a>
 			        			
-								<a class="type" href="./fi-FI/Fedora/10/pdf/Fedora_Live_Images/Fedora-13-Fedora_Live_Images-fi-FI.pdf">pdf</a>
+								<a class="type" href="./fi-FI/Fedora/10/pdf/Fedora_Live_Images/Fedora-11-Fedora_Live_images-fi-FI.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -5702,7 +5685,7 @@
 			        			
 								<a class="type" href="./fr-FR/Fedora/15/html-single/Burning_ISO_images_to_disc/index.html">html-single</a>
 			        			
-								<a class="type" href="./fr-FR/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-fr-FR.pdf">pdf</a>
+								<a class="type" href="./fr-FR/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-fr-FR.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -6157,7 +6140,7 @@
 			        			
 								<a class="type" href="./he-IL/Fedora/15/html-single/Burning_ISO_images_to_disc/index.html">html-single</a>
 			        			
-								<a class="type" href="./he-IL/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-he-IL.pdf">pdf</a>
+								<a class="type" href="./he-IL/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-he-IL.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -6391,7 +6374,7 @@
 			        			
 								<a class="type" href="./id-ID/Fedora/15/html-single/Burning_ISO_images_to_disc/index.html">html-single</a>
 			        			
-								<a class="type" href="./id-ID/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-id-ID.pdf">pdf</a>
+								<a class="type" href="./id-ID/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-id-ID.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -6619,7 +6602,7 @@
 			        			
 								<a class="type" href="./it-IT/Fedora/15/html-single/Burning_ISO_images_to_disc/index.html">html-single</a>
 			        			
-								<a class="type" href="./it-IT/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-it-IT.pdf">pdf</a>
+								<a class="type" href="./it-IT/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-it-IT.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -6739,7 +6722,7 @@
 			        			
 								<a class="type" href="./it-IT/Fedora/13/html-single/Accessibility_Guide/index.html">html-single</a>
 			        			
-								<a class="type" href="./it-IT/Fedora/13/pdf/Accessibility_Guide/fedora-13-Accessibility_Guide-it-IT.pdf">pdf</a>
+								<a class="type" href="./it-IT/Fedora/13/pdf/Accessibility_Guide/Fedora-13-Accessibility_Guide-it-IT.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -7522,7 +7505,7 @@
 			        			
 								<a class="type" href="./ja-JP/Fedora/16/html-single/Accessibility_Guide/index.html">html-single</a>
 			        			
-								<a class="type" href="./ja-JP/Fedora/16/pdf/Accessibility_Guide/Fedora-14-Accessibility_Guide-ja-JP.pdf">pdf</a>
+								<a class="type" href="./ja-JP/Fedora/16/pdf/Accessibility_Guide/Fedora-16-Accessibility_Guide-ja-JP.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -7552,7 +7535,7 @@
 			        			
 								<a class="type" href="./ja-JP/Fedora/16/html-single/Burning_ISO_images_to_disc/index.html">html-single</a>
 			        			
-								<a class="type" href="./ja-JP/Fedora/16/pdf/Burning_ISO_images_to_disc/Fedora_Draft_Documentation-0.1-Burning_ISO_images_to_disc-ja-JP.pdf">pdf</a>
+								<a class="type" href="./ja-JP/Fedora/16/pdf/Burning_ISO_images_to_disc/Fedora-16-Burning_ISO_images_to_disc-ja-JP.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -9418,7 +9401,7 @@
 			        			
 								<a class="type" href="./nl-NL/Fedora/11/html-single/Security_Guide/index.html">html-single</a>
 			        			
-								<a class="type" href="./nl-NL/Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-nl-NL.pdf">pdf</a>
+								<a class="type" href="./nl-NL/Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-nl-NL.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -11412,7 +11395,7 @@
 			        			
 								<a class="type" href="./ru-RU/Fedora/18/html-single/Burning_ISO_images_to_disc/index.html">html-single</a>
 			        			
-								<a class="type" href="./ru-RU/Fedora/18/pdf/Burning_ISO_images_to_disc/Fedora-18-Burning_ISO_images_to_disc-ru-RU.pdf">pdf</a>
+								<a class="type" href="./ru-RU/Fedora/18/pdf/Burning_ISO_images_to_disc/Fedora-17-Burning_ISO_images_to_disc-ru-RU.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -13604,7 +13587,7 @@
 			        			
 								<a class="type" href="./uk-UA/Fedora/13/html-single/Accessibility_Guide/index.html">html-single</a>
 			        			
-								<a class="type" href="./uk-UA/Fedora/13/pdf/Accessibility_Guide/fedora-13-Accessibility_Guide-uk-UA.pdf">pdf</a>
+								<a class="type" href="./uk-UA/Fedora/13/pdf/Accessibility_Guide/Fedora-13-Accessibility_Guide-uk-UA.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -14030,7 +14013,7 @@
 			        			
 								<a class="type" href="./zh-CN/Fedora/18/html-single/Release_Notes/index.html">html-single</a>
 			        			
-								<a class="type" href="./zh-CN/Fedora/18/pdf/Release_Notes/Fedora-17-Release_Notes-zh-CN.pdf">pdf</a>
+								<a class="type" href="./zh-CN/Fedora/18/pdf/Release_Notes/Fedora-18-Release_Notes-zh-CN.pdf">pdf</a>
 			        			
 							</div>
 						</div>
@@ -14144,7 +14127,7 @@
 			        			
 								<a class="type" href="./zh-CN/Fedora/15/html-single/Burning_ISO_images_to_disc/index.html">html-single</a>
 			        			
-								<a class="type" href="./zh-CN/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-zh-CN.pdf">pdf</a>
+								<a class="type" href="./zh-CN/Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-zh-CN.pdf">pdf</a>
 			        			
 							</div>
 						</div>
diff --git a/public_html/uk-UA/Site_Statistics.html b/public_html/uk-UA/Site_Statistics.html
index 56dd4e1..5fa2513 100644
--- a/public_html/uk-UA/Site_Statistics.html
+++ b/public_html/uk-UA/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Загалом мов: </b>44<br />
-	<b>Загалом пакунків: </b>880
+	<b>Загалом пакунків: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/uk-UA/opds-Community_Services_Infrastructure.xml b/public_html/uk-UA/opds-Community_Services_Infrastructure.xml
index 75e538e..2483ec5 100644
--- a/public_html/uk-UA/opds-Community_Services_Infrastructure.xml
+++ b/public_html/uk-UA/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/uk-UA/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/uk-UA/opds-Fedora.xml b/public_html/uk-UA/opds-Fedora.xml
index 1a88d00..52f1786 100644
--- a/public_html/uk-UA/opds-Fedora.xml
+++ b/public_html/uk-UA/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/uk-UA/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/uk-UA/opds-Fedora_Contributor_Documentation.xml b/public_html/uk-UA/opds-Fedora_Contributor_Documentation.xml
index a656464..7d05d2f 100644
--- a/public_html/uk-UA/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/uk-UA/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/uk-UA/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Документація для учасника розробки Fedora</title>
   <subtitle>Документація для учасника розробки Fedora</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/uk-UA/opds-Fedora_Core.xml b/public_html/uk-UA/opds-Fedora_Core.xml
index 022f3f9..aeef272 100644
--- a/public_html/uk-UA/opds-Fedora_Core.xml
+++ b/public_html/uk-UA/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/uk-UA/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/uk-UA/opds-Fedora_Draft_Documentation.xml b/public_html/uk-UA/opds-Fedora_Draft_Documentation.xml
index 14a6644..de3d718 100644
--- a/public_html/uk-UA/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/uk-UA/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/uk-UA/opds-Fedora_Draft_Documentation.xml</id>
   <title>Чернетки документації з Fedora</title>
   <subtitle>Чернетки документації з Fedora</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/uk-UA/opds-Fedora_Security_Team.xml b/public_html/uk-UA/opds-Fedora_Security_Team.xml
index fec3f20..536fa13 100644
--- a/public_html/uk-UA/opds-Fedora_Security_Team.xml
+++ b/public_html/uk-UA/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/uk-UA/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>uk-UA</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>uk-UA</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/uk-UA/opds.xml b/public_html/uk-UA/opds.xml
index be9f485..13a8958 100644
--- a/public_html/uk-UA/opds.xml
+++ b/public_html/uk-UA/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/uk-UA/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/uk-UA/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>uk-UA</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/uk-UA/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>uk-UA</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Документація для учасника розробки Fedora</title>
     <id>http://docs.fedoraproject.org/uk-UA/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>uk-UA</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/uk-UA/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>uk-UA</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Чернетки документації з Fedora</title>
     <id>http://docs.fedoraproject.org/uk-UA/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>uk-UA</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/uk-UA/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>uk-UA</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/uk-UA/toc.html b/public_html/uk-UA/toc.html
index 8954ab4..379dfeb 100644
--- a/public_html/uk-UA/toc.html
+++ b/public_html/uk-UA/toc.html
@@ -279,7 +279,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -791,7 +791,7 @@
 							<a class="type" href="./Fedora/13/epub/Accessibility_Guide/Fedora-13-Accessibility_Guide-uk-UA.epub" >epub</a>
 							<a class="type" href="./Fedora/13/html/Accessibility_Guide/index.html" onclick="window.top.location='./Fedora/13/html/Accessibility_Guide/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/13/html-single/Accessibility_Guide/index.html" onclick="window.top.location='./Fedora/13/html-single/Accessibility_Guide/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/13/pdf/Accessibility_Guide/fedora-13-Accessibility_Guide-uk-UA.pdf" onclick="window.top.location='./Fedora/13/pdf/Accessibility_Guide/fedora-13-Accessibility_Guide-uk-UA.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/13/pdf/Accessibility_Guide/Fedora-13-Accessibility_Guide-uk-UA.pdf" onclick="window.top.location='./Fedora/13/pdf/Accessibility_Guide/Fedora-13-Accessibility_Guide-uk-UA.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.13.Burning_ISO_images_to_disc' class="book collapsed">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1258,7 +1258,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.SELinux_FAQ' class="book collapsed" onclick="toggle(event, 'Fedora.8.SELinux_FAQ.types');">
@@ -1335,7 +1335,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1691,7 +1691,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1722,23 +1722,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Не перекладено</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Не перекладено</span>
diff --git a/public_html/zh-CN/Site_Statistics.html b/public_html/zh-CN/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/zh-CN/Site_Statistics.html
+++ b/public_html/zh-CN/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/zh-CN/opds-Community_Services_Infrastructure.xml b/public_html/zh-CN/opds-Community_Services_Infrastructure.xml
index 3380783..9d4d3fd 100644
--- a/public_html/zh-CN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/zh-CN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/zh-CN/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:39</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/zh-CN/opds-Fedora.xml b/public_html/zh-CN/opds-Fedora.xml
index 977298a..b2ba7f8 100644
--- a/public_html/zh-CN/opds-Fedora.xml
+++ b/public_html/zh-CN/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/zh-CN/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:40</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/zh-CN/opds-Fedora_Contributor_Documentation.xml b/public_html/zh-CN/opds-Fedora_Contributor_Documentation.xml
index 9297379..ccf57f6 100644
--- a/public_html/zh-CN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/zh-CN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/zh-CN/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:40</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/zh-CN/opds-Fedora_Core.xml b/public_html/zh-CN/opds-Fedora_Core.xml
index 4fd7b5a..5cae425 100644
--- a/public_html/zh-CN/opds-Fedora_Core.xml
+++ b/public_html/zh-CN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/zh-CN/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:40</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/zh-CN/opds-Fedora_Draft_Documentation.xml b/public_html/zh-CN/opds-Fedora_Draft_Documentation.xml
index 55c7def..88c74e2 100644
--- a/public_html/zh-CN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/zh-CN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/zh-CN/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:40</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/zh-CN/opds-Fedora_Security_Team.xml b/public_html/zh-CN/opds-Fedora_Security_Team.xml
index 8c203c5..99324bb 100644
--- a/public_html/zh-CN/opds-Fedora_Security_Team.xml
+++ b/public_html/zh-CN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/zh-CN/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:40</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>zh-CN</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>zh-CN</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/zh-CN/opds.xml b/public_html/zh-CN/opds.xml
index c463f5a..c759cde 100644
--- a/public_html/zh-CN/opds.xml
+++ b/public_html/zh-CN/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/zh-CN/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:40</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/zh-CN/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:39</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>zh-CN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/zh-CN/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:40</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>zh-CN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/zh-CN/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:40</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>zh-CN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/zh-CN/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:40</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>zh-CN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/zh-CN/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:40</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>zh-CN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/zh-CN/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:40</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>zh-CN</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/zh-CN/toc.html b/public_html/zh-CN/toc.html
index a8fa27d..23cf5fe 100644
--- a/public_html/zh-CN/toc.html
+++ b/public_html/zh-CN/toc.html
@@ -197,7 +197,7 @@
 							<a class="type" href="./Fedora/18/epub/Release_Notes/Fedora-18-Release_Notes-zh-CN.epub" >epub</a>
 							<a class="type" href="./Fedora/18/html/Release_Notes/index.html" onclick="window.top.location='./Fedora/18/html/Release_Notes/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/18/html-single/Release_Notes/index.html" onclick="window.top.location='./Fedora/18/html-single/Release_Notes/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/18/pdf/Release_Notes/Fedora-17-Release_Notes-zh-CN.pdf" onclick="window.top.location='./Fedora/18/pdf/Release_Notes/Fedora-17-Release_Notes-zh-CN.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/18/pdf/Release_Notes/Fedora-18-Release_Notes-zh-CN.pdf" onclick="window.top.location='./Fedora/18/pdf/Release_Notes/Fedora-18-Release_Notes-zh-CN.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.18' class="version collapsed untranslated" onclick="toggle(event, 'Fedora.18.untrans_books');">
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -567,7 +567,7 @@
 							<a class="type" href="./Fedora/15/epub/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-zh-CN.epub" >epub</a>
 							<a class="type" href="./Fedora/15/html/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/15/html/Burning_ISO_images_to_disc/index.html';return false;">html</a>
 							<a class="type" href="./Fedora/15/html-single/Burning_ISO_images_to_disc/index.html" onclick="window.top.location='./Fedora/15/html-single/Burning_ISO_images_to_disc/index.html';return false;">html-single</a>
-							<a class="type" href="./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-zh-CN.pdf" onclick="window.top.location='./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15.0-Burning_ISO_images_to_disc-zh-CN.pdf';return false;">pdf</a>
+							<a class="type" href="./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-zh-CN.pdf" onclick="window.top.location='./Fedora/15/pdf/Burning_ISO_images_to_disc/Fedora-15-Burning_ISO_images_to_disc-zh-CN.pdf';return false;">pdf</a>
 						</div>
 					</div>
 					<div id='Fedora.15.Fedora_Live_Images' class="book collapsed">
@@ -1109,7 +1109,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1227,7 +1227,7 @@
 									<a class="type" href="../en-US/./Fedora/10/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/10/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/10/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/10/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/10/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/10/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/10/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/10/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/10/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.10.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.10.User_Guide.types');">
@@ -1328,7 +1328,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.SELinux_FAQ' class="book collapsed" onclick="toggle(event, 'Fedora.8.SELinux_FAQ.types');">
@@ -1405,7 +1405,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1423,7 +1423,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1749,7 +1749,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1780,23 +1780,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>
diff --git a/public_html/zh-TW/Site_Statistics.html b/public_html/zh-TW/Site_Statistics.html
index 9f78181..32ecef0 100644
--- a/public_html/zh-TW/Site_Statistics.html
+++ b/public_html/zh-TW/Site_Statistics.html
@@ -28,7 +28,7 @@
 		<td>6</td>
 		<td>42</td>
 		<td>21</td>
-		<td>159</td>
+		<td>158</td>
 	</tr>
 	
 	<tr>
@@ -421,7 +421,7 @@
 </table>
 <div class="totals">
 	<b>Total Languages: </b>44<br />
-	<b>Total Packages: </b>880
+	<b>Total Packages: </b>879
 </div>
 </body>
 </html>
diff --git a/public_html/zh-TW/opds-Community_Services_Infrastructure.xml b/public_html/zh-TW/opds-Community_Services_Infrastructure.xml
index e70d13b..a7d2644 100644
--- a/public_html/zh-TW/opds-Community_Services_Infrastructure.xml
+++ b/public_html/zh-TW/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/zh-TW/opds-Community_Services_Infrastructure.xml</id>
   <title>Community Services Infrastructure</title>
   <subtitle>Community Services Infrastructure</subtitle>
-  <updated>2013-08-21T20:19:40</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/zh-TW/opds-Fedora.xml b/public_html/zh-TW/opds-Fedora.xml
index 54f1500..91c3b66 100644
--- a/public_html/zh-TW/opds-Fedora.xml
+++ b/public_html/zh-TW/opds-Fedora.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/zh-TW/opds-Fedora.xml</id>
   <title>Fedora</title>
   <subtitle>Fedora</subtitle>
-  <updated>2013-08-21T20:19:40</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/zh-TW/opds-Fedora_Contributor_Documentation.xml b/public_html/zh-TW/opds-Fedora_Contributor_Documentation.xml
index 767fddb..041ac54 100644
--- a/public_html/zh-TW/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/zh-TW/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/zh-TW/opds-Fedora_Contributor_Documentation.xml</id>
   <title>Fedora Contributor Documentation</title>
   <subtitle>Fedora Contributor Documentation</subtitle>
-  <updated>2013-08-21T20:19:40</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/zh-TW/opds-Fedora_Core.xml b/public_html/zh-TW/opds-Fedora_Core.xml
index a2d213f..b80be69 100644
--- a/public_html/zh-TW/opds-Fedora_Core.xml
+++ b/public_html/zh-TW/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/zh-TW/opds-Fedora_Core.xml</id>
   <title>Fedora Core</title>
   <subtitle>Fedora Core</subtitle>
-  <updated>2013-08-21T20:19:40</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/zh-TW/opds-Fedora_Draft_Documentation.xml b/public_html/zh-TW/opds-Fedora_Draft_Documentation.xml
index 1e0d935..7cab793 100644
--- a/public_html/zh-TW/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/zh-TW/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/zh-TW/opds-Fedora_Draft_Documentation.xml</id>
   <title>Fedora Draft Documentation</title>
   <subtitle>Fedora Draft Documentation</subtitle>
-  <updated>2013-08-21T20:19:40</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
diff --git a/public_html/zh-TW/opds-Fedora_Security_Team.xml b/public_html/zh-TW/opds-Fedora_Security_Team.xml
index ad3979c..6fe6ba4 100644
--- a/public_html/zh-TW/opds-Fedora_Security_Team.xml
+++ b/public_html/zh-TW/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
   <id>http://docs.fedoraproject.org/zh-TW/opds-Fedora_Security_Team.xml</id>
   <title>Fedora Security Team</title>
   <subtitle>Fedora Security Team</subtitle>
-  <updated>2013-08-21T20:19:40</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -14,30 +14,12 @@
 
   <entry>
     <title>Defensive Coding</title>
-    <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub</id>
-    <!--author>
-      <name></name>
-      <uri></uri>
-    </author-->
-    <updated>2013-08-13</updated>
-    <dc:language>zh-TW</dc:language>
-    <category label="1" scheme="http://lexcycle.com/stanza/header" term="free"/>
-    <!--dc:issued></dc:issued-->
-    <summary>A Guide to Improving Software Security</summary>
-    <content type="text">This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.</content>
-    <link type="application/epub+zip" rel="http://opds-spec.org/acquisition" href="http://docs.fedoraproject.org/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub">
-      <dc:format>application/epub+zip</dc:format>
-    </link>      
-    <!--link type="application/atom+xml;type=entry" href="" rel="alternate" title="Full entry"/-->
- </entry>
-  <entry>
-    <title>Defensive Coding</title>
     <id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team//epub/Defensive_Coding/Fedora_Security_Team--Defensive_Coding-en-US.epub</id>
     <!--author>
       <name></name>
       <uri></uri>
     </author-->
-    <updated>2013-05-09</updated>
+    <updated>2013-09-05</updated>
     <dc:language>zh-TW</dc:language>
     <category label="" scheme="http://lexcycle.com/stanza/header" term="free"/>
     <!--dc:issued></dc:issued-->
diff --git a/public_html/zh-TW/opds.xml b/public_html/zh-TW/opds.xml
index 9f525c1..af7b5bf 100644
--- a/public_html/zh-TW/opds.xml
+++ b/public_html/zh-TW/opds.xml
@@ -6,7 +6,7 @@
   <link rel="http://opds-spec.org/crawlable" type="application/atom+xml" href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable feed"/>
   <id>http://docs.fedoraproject.org/zh-TW/opds.xml</id>
   <title>Product List</title>
-  <updated>2013-08-21T20:19:40</updated>
+  <updated>2013-09-05T15:02:07</updated>
   <!--author>
     <name></name>
     <uri></uri>
@@ -15,7 +15,7 @@
   <entry>
     <title>Community Services Infrastructure</title>
     <id>http://docs.fedoraproject.org/zh-TW/Community_Services_Infrastructure/opds-Community_Services_Infrastructure.xml</id>
-    <updated>2013-08-21T20:19:40</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>zh-TW</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
   <entry>
     <title>Fedora</title>
     <id>http://docs.fedoraproject.org/zh-TW/Fedora/opds-Fedora.xml</id>
-    <updated>2013-08-21T20:19:40</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>zh-TW</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
   <entry>
     <title>Fedora Contributor Documentation</title>
     <id>http://docs.fedoraproject.org/zh-TW/Fedora_Contributor_Documentation/opds-Fedora_Contributor_Documentation.xml</id>
-    <updated>2013-08-21T20:19:40</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>zh-TW</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
   <entry>
     <title>Fedora Core</title>
     <id>http://docs.fedoraproject.org/zh-TW/Fedora_Core/opds-Fedora_Core.xml</id>
-    <updated>2013-08-21T20:19:40</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>zh-TW</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
   <entry>
     <title>Fedora Draft Documentation</title>
     <id>http://docs.fedoraproject.org/zh-TW/Fedora_Draft_Documentation/opds-Fedora_Draft_Documentation.xml</id>
-    <updated>2013-08-21T20:19:40</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>zh-TW</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
   <entry>
     <title>Fedora Security Team</title>
     <id>http://docs.fedoraproject.org/zh-TW/Fedora_Security_Team/opds-Fedora_Security_Team.xml</id>
-    <updated>2013-08-21T20:19:40</updated>
+    <updated>2013-09-05T15:02:07</updated>
     <dc:language>zh-TW</dc:language>
     <content type="text"></content>
     <link type="application/atom+xml" href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/zh-TW/toc.html b/public_html/zh-TW/toc.html
index 37464bb..382dc57 100644
--- a/public_html/zh-TW/toc.html
+++ b/public_html/zh-TW/toc.html
@@ -270,7 +270,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Security_Guide/Fedora-18-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora-18-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Security_Guide/Fedora_Documentation-18-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.System_Administrators_Guide.types');">
@@ -315,7 +315,7 @@
 									<a class="type" href="../en-US/./Fedora/18/epub/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html/Virtualization_Getting_Started_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/18/html-single/Virtualization_Getting_Started_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/18/pdf/Virtualization_Getting_Started_Guide/Fedora-18-Virtualization_Getting_Started_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.18.Virtualization_Security_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.18.Virtualization_Security_Guide.types');">
@@ -415,7 +415,7 @@
 									<a class="type" href="../en-US/./Fedora/17/epub/Security_Guide/Fedora-17-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/17/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/17/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/17/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/Fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/17/pdf/Security_Guide/fedora-17-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.17.System_Administrators_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.17.System_Administrators_Guide.types');">
@@ -1111,7 +1111,7 @@
 									<a class="type" href="../en-US/./Fedora/11/epub/Security_Guide/Fedora-11-Security_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/11/html/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html/Security_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/11/html-single/Security_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/11/html-single/Security_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/11/pdf/Security_Guide/Fedora-11-Security_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.11.User_Guide' class="book collapsed" onclick="toggle(event, 'Fedora.11.User_Guide.types');">
@@ -1240,7 +1240,7 @@
 									<a class="type" href="../en-US/./Fedora/8/epub/Installation_Guide/Fedora-8-Installation_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora/8/html/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html/Installation_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora/8/html-single/Installation_Guide/index.html" onclick="window.top.location='../en-US/./Fedora/8/html-single/Installation_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-8-Installation_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora/8/pdf/Installation_Guide/Fedora-9-Installation_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora.8.Making_Fedora_Discs' class="book collapsed" onclick="toggle(event, 'Fedora.8.Making_Fedora_Discs.types');">
@@ -1326,7 +1326,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Fedora_Elections_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Fedora_Elections_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation--Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Fedora_Elections_Guide/Fedora_Contributor_Documentation-1-Fedora_Elections_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 							<div id='Fedora_Contributor_Documentation.1.Software_Collections_Guide' class="book collapsed" onclick="toggle(event, 'Fedora_Contributor_Documentation.1.Software_Collections_Guide.types');">
@@ -1353,7 +1353,7 @@
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/epub/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html/Users_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/html-single/Users_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1.6-Users_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Contributor_Documentation/1/pdf/Users_Guide/Fedora_Contributor_Documentation-1-Users_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1679,7 +1679,7 @@
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/epub/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.epub" >epub</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html</a>
 									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/html-single/Virtualization_Deployment_and_Administration_Guide/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora-19-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
+									<a class="type" href="../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Draft_Documentation/0.1/pdf/Virtualization_Deployment_and_Administration_Guide/Fedora_Draft_Documentation-0.1-Virtualization_Deployment_and_Administration_Guide-en-US.pdf';return false;">pdf</a>
 								</div>
 							</div>
 						</div>
@@ -1710,23 +1710,6 @@
 	<div class="product collapsed" onclick="toggle(event, 'Fedora_Security_Team');work=1;">
 		<span class="product">Fedora Security Team</span>
 		<div id='Fedora_Security_Team' class="versions hidden">
-			<div id='Fedora_Security_Team.1' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.books');">				<div id='Fedora_Security_Team.1.books' class="books">
-					<div id='Fedora_Security_Team.1' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team.1.untrans_books');">
-						<span class="version">Untranslated</span>
-						<div id='Fedora_Security_Team.1.untrans_books' class="books hidden">
-							<div id='Fedora_Security_Team.1.Defensive_Coding' class="book collapsed" onclick="toggle(event, 'Fedora_Security_Team.1.Defensive_Coding.types');">
-								<a class="type" href="../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html'"><span class="book">Defensive Coding</span></a> 
-								<div id='Fedora_Security_Team.1.Defensive_Coding.types' class="types hidden" onclick="work=0;">
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub" >epub</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html/Defensive_Coding/index.html';return false;">html</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/html-single/Defensive_Coding/index.html';return false;">html-single</a>
-									<a class="type" href="../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf" onclick="window.top.location='../en-US/./Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf';return false;">pdf</a>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>					
 			<div id='Fedora_Security_Team.' class="version collapsed" onclick="toggle(event, 'Fedora_Security_Team..books');">				<div id='Fedora_Security_Team..books' class="books">
 					<div id='Fedora_Security_Team.' class="version collapsed untranslated" onclick="toggle(event, 'Fedora_Security_Team..untrans_books');">
 						<span class="version">Untranslated</span>


More information about the docs-commits mailing list