diff options
author | Matt A. Tobin <email@mattatobin.com> | 2022-04-09 00:18:24 -0500 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2022-04-09 00:18:24 -0500 |
commit | ada71aafb27f74be912b7f78ccc6e29072a352dc (patch) | |
tree | c71f1d992091dee673edfa5c95ecacf6a9463164 /libs/nss/src | |
parent | 3b4e35955133ddf388b1c67ef3b7bf7d3e624c71 (diff) | |
download | aura-central-ada71aafb27f74be912b7f78ccc6e29072a352dc.tar.gz |
Update NSS to NSS_3_64_RTM (m-r89)
Diffstat (limited to 'libs/nss/src')
25 files changed, 3290 insertions, 81 deletions
diff --git a/libs/nss/src/.hg_archival.txt b/libs/nss/src/.hg_archival.txt index 51126b017..c9da8cc3e 100644 --- a/libs/nss/src/.hg_archival.txt +++ b/libs/nss/src/.hg_archival.txt @@ -1,4 +1,6 @@ repo: 9949429068caa6bb8827a8ceeaa7c605d722f47f -node: a0b4e357816b6371b2ce7e3897974ac597293698 -branch: NSS_3_63_BRANCH -tag: NSS_3_63_1_RTM +node: 1911de31ad9cda0f9c5a80cdab7eb3ef38429582 +branch: NSS_3_64_BRANCH +latesttag: NSS_3_64_RTM +latesttagdistance: 1 +changessincelatesttag: 1 diff --git a/libs/nss/src/.hgtags b/libs/nss/src/.hgtags new file mode 100644 index 000000000..ff5974cb3 --- /dev/null +++ b/libs/nss/src/.hgtags @@ -0,0 +1,1622 @@ +cbdae69e88df1d3416cc2dcbad51f94139512920 NSS_3_14_2_BETA1 +2869c9a3a09dd40c6611c611d55e022b49a98e5f PHT_20030825N10_WIN_MAC +93210e171b70831707e60d8611281b854697f6f2 NSS_3_14_BETA1 +0108ab5b8b56b2f4dc0dbd2061c864167b36d2be WEB_CONTENT_HANDLING_20070621_POSTMERGE_20070719_FIXED +54d733bca9955ff9b37b328974a9b2f10cbc61a1 NSS_CLENT_TAG +cc5b48c8ecdda09f1389ad1eea2817104ba2da80 MOZILLA_0_9_6_BASE +1551f1c621c856a1eb417b4a9f86c5db074024b5 THUNDERBIRD_0_6_RELEASE +4d855a9ea29e8edfbaa04d85d76d960b1d307efe MOZILLA_1_1_BASE +5aa1cb317607b8e95d78a5d2f45e3def56d46f48 JSS_3_1_2_BETA2 +91e5b1727c2a4bdea3399dc9d4c52f9616fdea47 TEMPLATE_19990726_BASE +822fe872a7d640d88b4d9a9b3edcdf41529cdb57 MOZILLA_1_9a1_RELEASE +c21f1272e771b990620a6506f0f3726323b42575 NSS_3_13_6_WITH_CKBI_1_93_RTM +2a1a6cd1c7674417f36d88f9407b726e3ddfa8ff MOZILLA_1_9a7_RELEASE +44a8e55723ec4e814059f678785ffb596be46662 NSS_3_12_3_2_RTM +d8debc661f2a9573149505951aeb15bf7644d4b5 RDF_19990326_BASE +49494f569332042ed656c9c47040863f56732275 FIREFOX_3_0rc2_RELEASE +73843753cb9c4c9ac952c9a0cb7b33c1ab6ae153 MAIL_05312002_BASE +0836906e2324d53e3ca11725fb479278abdacef2 SAFEBROWSING_20060516_BASE +3836ae9d564a7980253d20fae08413e93636222f Makefile +1d4c7398ee5f536762d03b662454e8d2316b435d WEB_CONTENT_HANDLING_20070621_PREMERGE_20070607 +7d66231cb8e10aa3f07cfc4de9507d98a1dc47bf MOZILLA_1_8b1_RELEASE +48903189063dfd561ffc80c899065bf63c22df8b MOZILLA_1_8rc3_RELEASE +89066cc29aad67cab97e01b3bd663573b3ee5fb6 FIREFOX_2_0rc2_RC2 +89066cc29aad67cab97e01b3bd663573b3ee5fb6 FIREFOX_2_0rc2_RC1 +7ef3e203d394e4c397a0a419b32e86b0508f836c Netscape_20001027_RELEASE +3ba6a7d04cef8f3d58e2b5abce5a7f9accd0573a XULRUNNER_1_8_0_4_RELEASE +9192b30257075622d0c7f2b1ceb3a2bddc5c89fa NETSCAPE_6_2_1_RELEASE +ababe982a0078b34c9cf7cbf10cd39faed9368d3 NSS_LIBPKIX_START +4d8dd387f45172e25b232c073dec341a3b25b23a NSS_3_2_BETA2_20010119 +f13e9ad91272b5a0c29bfb3705064b417dc1ed87 NSS_3_2_REF +4587fa0676e22446617c2b41ff5e59c842fcfb6a MOZILLA_1_0_0_BASE +32a490f7080dbdd982f35fadf1393b3526094383 MOZILLA_1_8_1a1_RELEASE +a7bc329c9fce423691225654496b5f31d0b16c10 ROGC_20030211PR_FREEZE +11b66f2cd625853ecb48f823fdee22336b503e45 MOZILLA_1_5a_RELEASE +35f4f16a363e1437e3da2cd4a034106db719891a FIREFOX_2_0_0_4_RELEASE +dda5ca355d7feec9533d1f4f3725820f0355620d SUN_SECURITY_3_3_6_BETA +6ce47a605004208f906e04f6ee98fe95bf7c0d97 THUNDERBIRD_3_0a1_RELEASE +3fc61c7ceb6a74d55cd825b465f27cac6c5de46c NSS_3_13_BETA2 +9ebe08ae7eb8dd8e61ae9eb3c0e5c38110ae6e25 XML_BASE +e22763257b86bf276bb08ef6fd6914d69f8b0127 MOZILLA_1_3b_RELEASE +54e9a952eb63cfcf5f28c3f33e5d59ef5c2cad30 NSS_3_12_1_WITH_CKBI_1_72_RTM +e4c2bc82216a820ccde1f2e711bc45936d193f6c JSS_3_4_1_RTM +6e23b67dfdd3285e54488180f6cc39816a31d0be nsstip_nt_20020228 +b19740097201797dff9b8c0191b111b3596e07c8 DOM_AGNOSTIC3_PRE_MERGE +e72d703ee273bb2e79eaa8abed9e2911ddcfc3f8 MOZILLA_1_4a_RELEASE +6cccea315881fffb35cc622e8538a71319110331 FIREFOX_1_5_0_5_RC1 +693233be03a1df782a41c9497ff686bad4e1de30 moz_win_20021203 +3d42ef9b36abe7f9c74e8f7207fd3195924e0c84 moz_win_20021202 +d56a7c7f33ab08bdd556c759163a1af770672780 ANYTHING_FOR_PUTTERMAN_08082002_BASE +27ea66d5ca88f95e525e0944852df64039444e46 MOZILLA_0_8_1_2001031617_BASE +0204699f138a593925188d64cb389eb4d8e5629c CAMINO_1_0_6_RELEASE +3e567c06f1d22c3e9dcd701f0f1dd4ad74465649 MOZILLA_1_8a6_RELEASE +c391f2239374d7333ca70124e663bc5362257980 MOZILLA_1_9a3_RC1 +48903189063dfd561ffc80c899065bf63c22df8b MOZILLA_1_8rc2_RELEASE +a7bc329c9fce423691225654496b5f31d0b16c10 PHT_20030227PR_FREEZE +93a0f0ede34f4f7ad5f3decd412516ebb75116ca PHOENIX_0_4_RELEASE +cc2bcfc17ecc568c36de9186489469791af5df5c FOLDER_PANE_20010807_BASE +c391f2239374d7333ca70124e663bc5362257980 MOZILLA_1_9a3_RELEASE +7be84714297b24fb508308ec8502330b5099648d SEAMONKEY_1_1_3_RELEASE +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_14_BUILD2 +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_14_BUILD1 +ae603aa9c076524cb252dd909e706e0a69d552df Netscape_20001107_SECURITY_MAC_RELEASE +01a651d55ffc05ff75fa08dea3889a74d157d2c4 MozillaClassicLayout_19981021 +e420b76ca6fe83d63fad03e255eb055a8ac01562 FIREFOX_2_0_0_19_RELEASE +c88a943c035e60d2660bfe71c233ac6914fd49dd THUNDERBIRD_1_5_0_9_RELEASE +78df08bd0f501d4127736003ce4330a58638e4f6 FIREFOX_1_0_1_RELEASE +b3ef05849c067c8d8b6831443ad0402df4d33b94 NSS_CLIENT_TAG_20040323 +9fd2a0132f63cd5d6a49f22a1f96835f8febd066 ROGC_20020830_FREEZE +3e567c06f1d22c3e9dcd701f0f1dd4ad74465649 MOZILLA_1_8a5_RELEASE +2294e8c8de301d01a311e7cb3d6e779ca36054b2 SYD_TEST_03052002_BASE +7c1be942caa54d4052fb8c698a5d6585305022b0 DOUGT_URI_PARSER_06122001_BASE +348d0dda5e80e8428cf479eeb9fe6404784daa9d FIREFOX_3_0_9_BUILD2 +71eaa7c6a8e2d07a35027f402178485467dcc324 FIREFOX_3_0_9_BUILD1 +7d7190045260c0103ba546cfd048881d99324994 NSIFILE_0106200_BASE +a4cab8f634abdcfa1ea0b8de678022c909927147 ROGC_20020430_FREEZE +1abb3b6307c4033b44f3c4a9f04836408efd14b0 NSS_3_12_6_WITH_CKBI_1_79_RTM +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_11_RC1 +18817e05a1f487e14e42c5fec8bc070d6f73a18d FIREFOX_2_0rc1_RC1 +b1362c81cf6076a69e46e3f721f99091eeb058cc PHT_20030321N5_WIN_FREEZE +18a8351ce780d674a1de7379b49365043f05dbb2 NSS_3_11_2_BETA1 +e8ae270e93c9878d9a3604126c4c5d6672ca8492 MOZILLA_1_7_6_RELEASE +ed49ae639c2e74e6c33a59a8b188a54a68aade6c NSS_3_1_NT_RTM +2eaff2364586a94d189c85788bd891e945adf49b NSS_AUTOCONF_BASE +4550695818cda56048359af67c311c9e113bda1a RAPTOR_INTEGRATION0_BASE +8e3df5fca0613dc79785325fe6b372a898cb5268 MANIFEST +c5dda0a10268ed21405d7ec1aecc966aa600a68a JSS_3_5_BETA1 +c985023260e1c916695dbb9588e2aab554ef951a NSS_3_14_3_RTM +7be84714297b24fb508308ec8502330b5099648d THUNDERBIRD_2_0_0_6_RELEASE +98f727ed00fa746f163e6b10ea43b984f9cf9293 NSS_3_2_RTM +d839eb138a74e9019998da5c451e206cbd7e436f JSS_4_3_RTM +05994d519da3aa5719d0482dfc1009b9b461c175 FIREFOX_3_0_10_RELEASE +6fe61840d7a2c5a67a4bb97810dbbc642d00b8d9 AVIARY_20040809_MERGEPOINT +23a74b801922349cce4db20757637e76b070445a NSS_3_12_3_WITH_CKBI_1_75_RTM +c3bc908bca9c0e0aac065e5643e79f140096ead0 NSS_C +0ea7bb63b6c1306ff6733730c4b5bb4213381ffa MOZILLA_1_8b4_RELEASE +6a3920d3faf0c3a532ff26dbd0370d4177b19a2f PSM_1_3_RTM +49494f569332042ed656c9c47040863f56732275 NSS_3_12_RTM +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_10_RC1 +e2d54096fcebdbfe0708a95fc055da5aa1b55ee0 NSS_3_11_BASE +df0e2148b5d91dd9521e8901c43e697933ac6d5e SeaMonkey_M12_BASE +4d8dfcb08e1852162f48db744af0d252c9cc25ee NSS_3_11_20060520_TAG +b5a7e4bba2c7cf707151ff61c792a9ac471330c0 SEAMONKEY_1_0_5_RELEASE +0ea7bb63b6c1306ff6733730c4b5bb4213381ffa FIREFOX_1_5b1_RELEASE +b24424266d03787238a61d490a5319668a9368ba SVRCORE_4_0_1_RTM +19143cced91410476793148dcd5c300832ee754b ANGELON_MOZ_14_BASE +59e23ad1545085e832517235fe1deff14a060dbf SeaMonkey_M7_BASE +45a1e786f75256a793c5860ee1e22fbbd3261c38 CAMINO_1_0rc1_RELEASE +554ea04f792693e0395b121b0cc19ea66e8be5c8 NSS_3_14_2_RTM +e870f4b17c146286a9f6212d9e5c0eb7cbd63201 FIREFOX_3_0_13_BUILD1 +18817e05a1f487e14e42c5fec8bc070d6f73a18d FIREFOX_2_0rc1_RELEASE +69aa752b8ccc77d6ceb76fd0da2ee8a06a20174a NSS_STABLE_TRUNK_20010608 +44a8e55723ec4e814059f678785ffb596be46662 NSS_3_12_3_2_RC1 +990d4b8b9dc5a01850f6911acbe6b6a007c6a2e0 NSS_3_12_3_2_RC0 +78e1981ed4003fc54040d849ea5aef99617222ae NSS_3_14_1_BETA1 +bc598c96ad65f5993cf8fdb4cfcd3def3c245303 NSS_3_14_1_BETA3 +791f82184a01e79470ffddd697c39528ec2b2834 NSS_3_14_1_BETA2 +f47921201c7ee6ee0a878ec48bad6f8ab66f9867 NSS_ZLIB_1_1_4_BASE +c18ccd0b1ba15881b291f6a82ef8d9279a3fad22 moz_ux_20021203 +da610e32a1259d8836915d9f403cf5d083c44fdf moz_ux_20021202 +7cfa79e317400a7007c8c18449a9b1fe29be73ab NSS_3_12_ALPHA1 +4550695818cda56048359af67c311c9e113bda1a MAILTO_BASE +df9a13d56acf3a38c65f7fca509b7eae35c7554c NSS_PRE_CACHE_CHECKPOINT +33dddda4872e9689a229280831b871eee8da2557 INCLUDE_SPRINGCLEANING_BASE +7be84714297b24fb508308ec8502330b5099648d CAMINO_1_5_5_RELEASE +2afd0330d9cbb7403bf4cd68fa6260bdd827ce7f SECURITY_3_9_2_BETA2 +0ea7bb63b6c1306ff6733730c4b5bb4213381ffa MOZILLA_1_8b5_RELEASE +f5b43a0bc6049d6f44bebabf1dba76f53d0dc8be FIREFOX_3_0b5_RELEASE +26ff794152d6f358e9c812ed78de0c89ec1b282d NSS_3_12_1_RC1 +c06df0e3606d0d978c4a6e26c9a8ef47176514ac NSS_3_12_1_RC2 +f54a7c45f5c9ea90a850e84dd114c62e2495cdfe NSS_3_3_3_BETA121602 +d3f7f2bb794bfc0b533d90433bdfdf524e3b4d67 FIREFOX_1_5_0_2_RC2 +35f4f16a363e1437e3da2cd4a034106db719891a SUNBIRD_0_5_RELEASE +5d8adc3db0aaf1c992d465955cfaa331bfd2b9b0 FIREFOX_2_0a1_RC1 +35f4f16a363e1437e3da2cd4a034106db719891a THUNDERBIRD_2_0_0_0_RELEASE +4fb74fa1665acc5ac2c959c73843da8f67b8d1f1 NETSCAPE_7_0_PR1_BASE +ed0a41d70372d22f98b7afcc4e35852043959e66 SECURITY_3_9_4_RC1 +4550695818cda56048359af67c311c9e113bda1a SMARTUPDATE_BASE +6d0845e1da308ceaf228eea3b3501cf3c1072e07 NSS_3_4_1_RC1 +646ea476f6b88c78498d9977d45609efca808915 NSS_3_4_1_RC3 +8e23ef81677b8168c4f1117fe6bc2820cf70d1e3 FIREFOX_1_5_0_1_RELEASE +6edf9a91199bac0148a93866375c05f87db4fd23 MOZILLA_1_9a5_RC1 +f573db1947197a92c3b0fe46f165075b7a55bdb9 MOZILLA_1_9a5_RC2 +e22763257b86bf276bb08ef6fd6914d69f8b0127 MINOTAUR_20030218_BASE +ba6995f239974a99b582e92733f54804cdffcfe2 THUNDERBIRD_2_0_0_13_RELEASE +2618cfd419d58338a4da5887dffcd8e2d17a5033 ANGELON_MOZ12_N6_BASE +73843753cb9c4c9ac952c9a0cb7b33c1ab6ae153 MOZILLA_1_1a_RELEASE +9f01ee6606821233ffb414d2cfa569cb35578fce MOZILLA_1_6a_RELEASE +6cccea315881fffb35cc622e8538a71319110331 THUNDERBIRD_1_5_0_7_RC1 +a59870c46884a9473832cb394d3f6b11533c3b33 THUNDERBIRD_1_5_0_7_RC3 +b25347bbd339142bdfb62ec9b3831083327c4e77 THUNDERBIRD_1_5_0_7_RC2 +4d1641699c62cbcdcca6f57a4a4f7f1b7c240ab1 FIREFOX_3_0_3_BUILD1 +a59870c46884a9473832cb394d3f6b11533c3b33 THUNDERBIRD_1_5_0_7_RC4 +10f0663f978972620cba2373b599a48d85b50cda THUNDERBIRD_1_5_0_7_RC6 +27ea66d5ca88f95e525e0944852df64039444e46 XPCDOM_20010329_BASE_PLUS_FLATTENING_BASE +aeea57681f5651662e1d7515d093166761d6368e XUL_19990428_BASE +0ea7bb63b6c1306ff6733730c4b5bb4213381ffa FIREFOX_1_1a2_RELEASE +6912dcc7e9661d1af8e650e10d012366e706444d FIREFOX_3_0b4_RELEASE +d57b25b5dcea999b2504a96efd2bdd588e71548e MOZILLA_1_7_1_RELEASE +a1e43ca5b9a7b58e142fbfdbda5c0530b2bd95b4 nscp_beta1_BASE +688189e442659bfeed4b8f56176ac37ef01fdd38 JSS_4_2_6_RTM +3a7af932d824710ced472fddc9d46c19a7fcc34e FIREFOX_1_0_8_RC1 +3a7af932d824710ced472fddc9d46c19a7fcc34e FIREFOX_1_0_8_RC2 +f0ad5145bc1208ad8b1b69c64e511fd63f22d504 FIREFOX_3_0_10_BUILD1 +3a7af932d824710ced472fddc9d46c19a7fcc34e FIREFOX_1_0_8_RC4 +3a7af932d824710ced472fddc9d46c19a7fcc34e FIREFOX_1_0_8_RC5 +3a7af932d824710ced472fddc9d46c19a7fcc34e FIREFOX_1_0_8_RC6 +84fb156a5f6685ea89597a00402a8ba6bdef4695 WEB_CONTENT_HANDLING_20070621_BASE +458d549d23deaad48ea345be1e38edcada7681b5 SeaMonkey_M10_BASE +001b191ba77503f2babe21caed114fbc522795a3 NSS_3_11_1_RTM +4cfaf50f384009e654c9380148ea60876a9507c7 NSS_3_12_2_RTM +6cccea315881fffb35cc622e8538a71319110331 MOZILLA_1_8_0_5_RC5 +6cccea315881fffb35cc622e8538a71319110331 MOZILLA_1_8_0_5_RC4 +4550695818cda56048359af67c311c9e113bda1a RDF_BASE +4550695818cda56048359af67c311c9e113bda1a OJI_BASE +5f61c7e93fec7936ea58fd2765956e27d8af19df FIREBIRD_0_7_1_RELEASE +6cb71f690b953e4304cac5c669511fe0b0352657 THUNDERBIRD_0_5_RELEASE +51991e72b33439eb5d3299b74bba3ce56fb4ddad WINCE_20020710_BASE +9de3cb96187345b29ffb307402f7da11b9697e8d MOZILLA_1_3_20030221_BASE +e420b76ca6fe83d63fad03e255eb055a8ac01562 FIREFOX_2_0_0_16_BUILD1 +d56a7c7f33ab08bdd556c759163a1af770672780 MOZILLA_1_0_1RC1_TAG +933b6353045a9e8c943016b1d68475eed4d387c5 THUNDERBIRD_2_0b1_RC1 +3badd73e8682ec8a7529306d957becd1c220a39e THUNDERBIRD_2_0b1_RC2 +fc20154b9c07f91b0459f607f795e9a94e114c55 PACKAGING_20030906_BASE +6fefa4212f4cfb51b2c6f4a13561cb18609f89be THUNDERBIRD_0_9_RELEASE +69dccf753c4e3e1b941618041e973d90e8da2e36 FIREFOX_3_0b3_RELEASE +01ed4c5c2eb3289f5106df66517404bdca45607b CAMINO_1_6_11_RELEASE +3e567c06f1d22c3e9dcd701f0f1dd4ad74465649 XFORMS_20050106_BASE +4d1641699c62cbcdcca6f57a4a4f7f1b7c240ab1 FIREFOX_3_0_2_BUILD6 +26ff794152d6f358e9c812ed78de0c89ec1b282d FIREFOX_3_0_2_BUILD4 +4d1641699c62cbcdcca6f57a4a4f7f1b7c240ab1 FIREFOX_3_0_2_BUILD5 +26ff794152d6f358e9c812ed78de0c89ec1b282d FIREFOX_3_0_2_BUILD2 +26ff794152d6f358e9c812ed78de0c89ec1b282d FIREFOX_3_0_2_BUILD3 +032c678eda5e263b9630830ab143094742966acb NSS_HEAD_20090409 +43c2b0cca5fcc08ec47d2f23d42b9390949eafa0 NSS_3_3_4_6_RTM +3aad25ffd510adc33c21cb68713e07f33c2822fd CAMINO_1_6_7_RELEASE +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_17_RELEASE +1d407c07de419ffaa9cbe3d85e943409436d55a9 NSS_3_7_3_BETA1 +7be84714297b24fb508308ec8502330b5099648d SEAMONKEY_1_1_6_RELEASE +92710972d393855ff1bed709003bcf1ba177278d JSS_3_2_BETA3 +c470f71b9fd83ebd2ed226d9743e1bd400152b4b NSS_3_7_6_RTM +01ed4c5c2eb3289f5106df66517404bdca45607b THUNDERBIRD_2_0_0_23_BUILD1 +d66112da6c9eb5e4d9d7bb574d64b0c2f7eb9c56 JSS_TIP_20060404 +09d839cae8958b16fc59f8880bb8f726407a5520 NSS_3_8_3_BETA1 +9f01ee6606821233ffb414d2cfa569cb35578fce THUNDERBIRD_M2_BASE +68f2ba3aa95a13aa529cae09afc0c1ab653a155e NSS_3_8_3_BETA2 +e5d6cb1b5f393dc01abc3c600eb2c6ab7df8ee0a NSS_3_13_1_RTM +a5194743a3a75ea4fef99a22118fd6096d06bcd8 MOZILLA_0_7_20010109_RELEASE +fcd2a1238ac2335ba21980aee80038ad1e1ab442 DOM_AGNOSTIC2_BASE +a42d841597934415655bed2559a598f4ab42b671 NSS_3_12_BRANCHPOINT +ed8347d61b6e957581eaa5c07534f2d1392af4f5 JSS_3_1_2_2_RTM +52811c7cd6aaa4728752694efa8af00da68cd12a JSS_3_1_1_RTM +be71ea7f0325ebba78a883d152eea04ca5a4f192 NSS_3_7_4_RTM +a67c5ae8dac66c68632418fce8d479407969f03e NSS32RtmAll +8e3adb01b5814d462e57a185c8acdffedab02ff5 JSS_FIPS_20060524 +85a761e5fb5bf73528f23221dc8fab72b8a08713 FASTLOAD_20010703_BASE +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_11_RELEASE +0975891ade17befc005c9adc7e9757a0676f91b6 JSS_3_4_1_BETA1 +a4cab8f634abdcfa1ea0b8de678022c909927147 ROGC_20020430_BASE +4fb74fa1665acc5ac2c959c73843da8f67b8d1f1 MOZILLA_1_0_RELEASE +e2d54096fcebdbfe0708a95fc055da5aa1b55ee0 NSS_3_11_RTM +d56a7c7f33ab08bdd556c759163a1af770672780 NETSCAPE_7_0_RTM +df3fa49730ec1f16356fd5217a9346cd6cd87276 NSS_TIP_20020426 +2827a9dc9e403ce4d918a94d6aeda509b6b8d608 SVRCORE_20070312_404_RTM +4fb74fa1665acc5ac2c959c73843da8f67b8d1f1 MOZILLA_1_0_RC2_RELEASE +5ac1a59af55ed240ad0dbd62ddcee9d7c2c73219 WEB_CONTENT_HANDLING_20070621_PREMERGE_20070719 +4e7386341e699cdd5adc04808ad40eb970deff68 MOZILLA_1_7_5_RELEASE +290a94ec0937e0a662f2a4c7e747174c5820fe18 MOZILLA_1_7_3_RELEASE +78df08bd0f501d4127736003ce4330a58638e4f6 FIREFOX_1_0_RELEASE +bb81ebb236c6e3d70732212df6490f34032d49fa CAMINO_1_6_2_RELEASE +6fefa4212f4cfb51b2c6f4a13561cb18609f89be FIREFOX_1_0_RC2_RELEASE +a77a0c587f64076672defd391cc0313793c68cb0 NSS_3_2_2_RTM +64581d81ef4bd38621b21b7e128f19a259fc20c6 JSS_3_5_RTM +53a64564599519c264b91d69a06b7ce177b3119f NSS_3_12_2_WITH_CKBI_1_73_RTM +48903189063dfd561ffc80c899065bf63c22df8b THUNDERBIRD_1_5rc1_RELEASE +6920f22c975c6d67be5e7e0a888a645f8aa5ea50 FIREFOX_2_0b2_RELEASE +6c4e2b31ba82423305b5865c4f34bcda6b5d9dc0 NSS_3_11_7_BETA1 +4d855a9ea29e8edfbaa04d85d76d960b1d307efe MOZILLA_1_1_RELEASE +78df08bd0f501d4127736003ce4330a58638e4f6 THUNDERBIRD_1_0_RELEASE +fac3307cceb4e39c24cf3421ceb187e9aebc401f FORMS_20040722_BASE +bce4219a342b120ec7c88f3a377f4b16ad83cf44 ALERT_SERVICE_BASE +e2bd62673129757d665e2f85e8be2f611c446083 XBL_FORMS_20001011_BASE +6d88952b83a8184c13e14075e01476838f370624 MOZILLA_1_6_20031218_BASE +0c44ddb1c70b28a27cca3ea6dcea0e4744604ef2 NSSCKBI_1_65_RTM +122a3c68605b28025d059cc7977c365d0ea3f8f3 AIMEG_FACETIME_20030318 +c18a885212556c21c4a1f3be6f7ac6c8f2920cd3 NSS_3_13_BETA1 +bb81ebb236c6e3d70732212df6490f34032d49fa CAMINO_1_6_6_RELEASE +5d0fc9917ffef72addc84984e8dbd48c75584a71 NSS_3_4_PRE_BETA +47c50882c7a3bc27aca529f16dd4f0f47063fa6f DBM16_RTM_20011206 +ba6995f239974a99b582e92733f54804cdffcfe2 FIREFOX_2_0_0_13_RELEASE +5aa694dc13d8d0c56abc5977feea984dc79b8a26 NSS_3_13_4_BETA1 +4fb74fa1665acc5ac2c959c73843da8f67b8d1f1 MOZILLA_1_0_RC3_RELEASE +78df08bd0f501d4127736003ce4330a58638e4f6 THUNDERBIRD_1_0_RC_RELEASE +bb81ebb236c6e3d70732212df6490f34032d49fa SUNBIRD_0_9_RC2 +4d75747933494fffead0b07e5c7f1a3d7718fec8 XPCDOM_20010420_BASE +17d370e006f208aff77f52a26dd9ce53853cbc69 MSS_MULTIACCESS_DB_TAG +a42d841597934415655bed2559a598f4ab42b671 NSS_3_12_7_RTM +6c04d40a7d1ef3b3122f67d4a463b7383be7c9c6 FIREFOX_1_0_7_RELEASE +1fc3e0877bcf9728936067275dd180d4dc9ba218 NSS_3_11_1_RTM_STUDIO11 +416a9100fcdb4b9762fcacf0271499ce4db350d2 ANGELON_MOZ_14_20030709_TAG +3ba6a7d04cef8f3d58e2b5abce5a7f9accd0573a SEAMONKEY_1_0_2_RELEASE +d56a7c7f33ab08bdd556c759163a1af770672780 MOZILLA_1_0_20020927_TAG +c391f2239374d7333ca70124e663bc5362257980 MOZILLA_1_9a4_RC1 +c391f2239374d7333ca70124e663bc5362257980 MOZILLA_1_9a4_RC2 +e49f1c2fd8e5a488102a9be74b8e723d229bdf28 ANGELON_MOZ12_N8_BASE +c5761a2e24d4721d89fa77f198ce5c14a02b4d60 NSS_3_3_4_4_RTM +03a97a75d1bba9f79ae8f9146de16656e94a2e13 CAMINO_2_0_6_RELEASE +728ef75c57771e05e0c14f77ea08ec954065223d SUNBIRD_0_5_RC3 +e8ae270e93c9878d9a3604126c4c5d6672ca8492 MOZILLA_1_7_7_RELEASE +dc11e773516b4d402dde7dbb8f1928d0f7ca33a9 THUNDERBIRD_2_0_0_22_BUILD1 +7be84714297b24fb508308ec8502330b5099648d CAMINO_1_5_1_RELEASE +01115643a42ebf677b27b39ce9579c03521bdb1a NSS_MULTIACCESS_DB_TAG +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_7_RELEASE +907ef460ac7d6408f0f944f372297f1ce1fbc578 PREDJN_20010612 +196b94d69210b4df478f90b5982ce2a49823b192 NSS_3_12_10_BETA1 +1b729fbdd33e1cf6155d5d91e8e7b56f0f3138f5 MOZILLA_1_3a_RELEASE +0204699f138a593925188d64cb389eb4d8e5629c CAMINO_1_0_5_RELEASE +214c7d1b0ceebf80db158bbf29928aaf1b998cae NSS_3_3_1_RTM +4d75747933494fffead0b07e5c7f1a3d7718fec8 MOZILLA_0_9_RELEASE +93578a87de2527840dd1255c6b053b3ff18bc51d SECURITY_3_3_10_RTM +d57b25b5dcea999b2504a96efd2bdd588e71548e MOZILLA_1_7_2_BASE +ae603aa9c076524cb252dd909e706e0a69d552df Netscape_6_0_RTM_SECURITY_MAC_BASE +7b2ec6de76428ea483d78d1fd7fdafddd5969b38 JSS_4_2_BETA1 +6912dcc7e9661d1af8e650e10d012366e706444d FIREFOX_3_0b4_RC1 +6912dcc7e9661d1af8e650e10d012366e706444d FIREFOX_3_0b4_RC2 +8e23ef81677b8168c4f1117fe6bc2820cf70d1e3 MOZILLA_1_8_0_1rc1_RELEASE +7c1be942caa54d4052fb8c698a5d6585305022b0 CW7_20010609_TAG +4d75747933494fffead0b07e5c7f1a3d7718fec8 Accessible_042501_Base3 +3ad41012cfc1c324a09e590360746a6760b2ba15 PHOENIX_0_5_RELEASE +414c0a7abed3467347b47af148f500e5ab4b0c79 FIREFOX_0_9_RELEASE +c0f8f5bce56f2e6127ddbbb777bc0bac5e93be8f NSS_3_11_1_RTM_FORTE6 +01a651d55ffc05ff75fa08dea3889a74d157d2c4 OjiFunctionalFreeze_POINT_19981229 +458d549d23deaad48ea345be1e38edcada7681b5 NEW_SKIN_19991014_BASE +2ad7feecf3f52585f137d57b766c7d5e3a9aaf7b NSS_3_9_3_BETA3 +e2f7ec43527edb6ed384ce4d6a0002119c6007f3 NSS_3_10_1_BASE +9c7177e63b162b858e05d4a84fa946c884146069 JSS_PRE_NSS_3_12_API +2df0426200543e4d507fec4882413d868a315947 MOZILLA_1_9a7_RC1 +c736977da64cd7102cf2e4a3b7872ffd35c36b0e THREADS_20060307_BASE +c391f2239374d7333ca70124e663bc5362257980 MOZILLA_1_9a4_RELEASE +5bdb0331d2ce7b53296e58cdcfe90c92735ecd75 NSS_3_9_BETA1 +2ae9b279181754f065c6f45f26b1df9314da7105 NSS_3_9_BETA2 +707967bcd95ce2c088e7f6c796d277b38132439d NSS_3_9_BETA3 +eff0d505ffc6920f4e9cb1a89adc7498f71f00b4 NSS_3_9_BETA4 +f5ce6f448694d8d9419ede56d2b8a7eeff7d4e70 NSS_3_9_BETA5 +e36869320535627cc678e3eb2988060e15b35d04 CW7_20011205_TAG +d06adf79c43aa2b6b0648d7f08ba0d6e6ebc571b MOZILLA_1_6b_RELEASE +9f5e658d090f615943c3baaeb100137c1cc447dd NSS_3_9_3_RTM +4fb74fa1665acc5ac2c959c73843da8f67b8d1f1 CHIMERA_M1_0_BASE +8d9a5c9ced775a4d4e2dae47a6e0cbcbda0390c6 JSS_3_1_RTM +98574f9c5ed9a02225940a653a35e73a331baf61 PROGRESS_19980909_BASE +889edd6aa5e6fae6cd2416736b9656a07d3ef43a NSS_3_4_SunBeta0314 +d471b72f2fe2e62bf38e6246123181298dfd695d JSS_4_3_1_RTM +6db16b92b29ef2176b5183ae8ca2d48a0629af79 XBL_FORMS_20001013_BASE +d9ef37b63f2796944eddaff7686a07ac1d0320d4 NSS_3_4_SunBeta0318 +4550695818cda56048359af67c311c9e113bda1a OS2_BASE +e8ae270e93c9878d9a3604126c4c5d6672ca8492 MOZILLA_1_7_10_RELEASE +d56a7c7f33ab08bdd556c759163a1af770672780 NETSCAPE_7_0_RTM_RELEASE +c9e448f3a05aac168e340c2b4cdd80f9cc21543a RDF_19981124_BASE +02a629203fde11cf355b0332b31d9500c9a8d8a4 THUNDERBIRD_0_7_3_RELEASE +e2d54096fcebdbfe0708a95fc055da5aa1b55ee0 NSS_3_11_RC1 +18ca07d0d9afcaf9e9ee0377aafa96bcc6b02691 LIGHTNING_0_3_1_RC1 +5b069e061226b54b16d5201aaf10938eaca901f0 LIGHTNING_0_3_1_RC2 +5b92a4b31b9ede8b05215fd31752b77188a4712e NSS_3_7_7_RTM +dabb56e444dc535d50a6618fd9773e325162698f MOZILLA_1_0_2002082106_TAG +df0089a311c77302607210a96cf32f4893e3ae10 PHT_20030619N8x_WIN_MAC +e420b76ca6fe83d63fad03e255eb055a8ac01562 FIREFOX_2_0_0_18_RELEASE +6cccea315881fffb35cc622e8538a71319110331 FIREFOX_1_5_0_5_RELEASE +ce7ce904abae1bb3e8986aa47212a8e50e5cc101 NSS_3_12_3_BASE +ee3d07a6e67a8df952cded07093118523446c5ad MINIMO_01302003_TAG +aacb761e4d4e1141487615b1f3161c5dca8fb4b2 JSS_3_1_2_SUN_PKG_1120_BETA +6920f22c975c6d67be5e7e0a888a645f8aa5ea50 FIREFOX_2_0b2_RC1 +a3f450d612d5d9755e55f5028deffce6f73b17d9 NSS_NSCP_20020228_1 +c88a943c035e60d2660bfe71c233ac6914fd49dd FIREFOX_1_5_0_9_RELEASE +8e23ef81677b8168c4f1117fe6bc2820cf70d1e3 SEAMONKEY_1_0_RELEASE +e059abec415f2160aa95a90fd30b76c22d52ddbd NSS_3_13_2_RTM +01a651d55ffc05ff75fa08dea3889a74d157d2c4 MozillaSourceClassic_19981026_BASE +48f58cf955ad6041a69e1377852f876353c2c657 WEB_CONTENT_HANDLING_20070621_PRE_LAUNCHWITHURI +187b0890758f35fca27358db6fe2548b82f95f35 NOIMG_20010801_TAG +a5effd84689547663d46a7619d685fa89ac9d14b NSS_3_12_9_1_RTM +494413d946d5eb24f00d51798ffbfa9879755cb1 FIREFOX_3_0_8_RELEASE +849f41e1a6ae01d7cb43638e97e5f2426c47114a RDF_BASE_060398 +5af52840a8607dd916e281a176590b6325d4fb77 NSS_3_11_7_RC1 +5a35f53ceece4112a7108344ec52406706d01075 NSS_3_11_7_RC0 +dc11e773516b4d402dde7dbb8f1928d0f7ca33a9 SEAMONKEY_1_1_17_RELEASE +1732cdbe707b516362da5f30155247736a8faab2 PSM_2_2_DEV_20011016_1736 +ba6995f239974a99b582e92733f54804cdffcfe2 THUNDERBIRD_2_0_0_13_RC1 +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_9_RC1 +4b178baab98c1591306bfa52a56aa686c6e88662 NSS_3_13_6_BETA1 +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_8_RC1 +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_8_RC2 +e7a9e64becebd4d609a94b53519fe7911518bb12 NSS_3_13_1_BETA2 +368fffc4659cc2d0cd523125edc6dc1d63450443 NSS_3_13_1_BETA1 +316815a945ac8557754351bdc332ba964f459a7e SUN_SECURITY_3_3_7_RTM +89066cc29aad67cab97e01b3bd663573b3ee5fb6 FIREFOX_2_0rc2_RELEASE +79171f1b8b016d3ff0e49a6f9a1a0c795575f90e SUNBIRD_0_3_BASE +9130f83f4c8ad7c6dae0ff70b451cce34cbdda03 NSS_3_12_3_BETA4 +822fe872a7d640d88b4d9a9b3edcdf41529cdb57 NSS_3_11_4_RTM +7d8eb5e2e323cf9e7347ffd2c29cf126da5503c5 NSS_CLIENT_TAG_20020925 +7428e4fee0c24819e94b3d18ab2e937d68d7d150 NSS_3_12_3_BETA1 +4a0cf1ec4091c9be7cb56c5291735b3d06aa0eee NSS_3_12_3_BETA3 +b839f80e3886a58a1c297482433a63f6353b7304 NSS_3_12_3_BETA2 +bb81ebb236c6e3d70732212df6490f34032d49fa SUNBIRD_0_9_RELEASE +d56a7c7f33ab08bdd556c759163a1af770672780 ISHMAIL_1_0_BASE +4d89b11e33083be6f1107da4ff9247f5d92b9de8 NSS_3_14_1_WITH_CKBI_1_93_RTM +03a97a75d1bba9f79ae8f9146de16656e94a2e13 CAMINO_2_0_3_RELEASE +ba6995f239974a99b582e92733f54804cdffcfe2 CAMINO_1_6_RELEASE +bae39fe3b16da0c45aa44d5e59823aacdaef6ef9 NSS_3_11_10_WITH_CKBI_1_67_RTM +d56a7c7f33ab08bdd556c759163a1af770672780 ANYTHING_FOR_PUTTERMAN_BASE +e420b76ca6fe83d63fad03e255eb055a8ac01562 FIREFOX_2_0_0_15_BUILD3 +cc5b48c8ecdda09f1389ad1eea2817104ba2da80 MOZILLA_0_9_6_RELEASE +e420b76ca6fe83d63fad03e255eb055a8ac01562 FIREFOX_2_0_0_15_BUILD1 +b3adaa1e84d5a55d2ceb0061408491b72ddce735 NSS_3_6_1_BETA1 +71ed92981bb1622f9f43e8408a448434aa441d08 NSS_3_6_1_BETA3 +7b41867320bd376658ddd49098d59f1137fa7ae7 NSS_3_6_1_BETA2 +a899451cc0eb74d9835f4e9da643acc2aa5df27f NSS_3_12_4_WITH_CKBI_1_77_RTM +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_15_RELEASE +07c37e18b782521677301d65aa0faf02b0f21d2b IFRAME_20011127_BASE +e420b76ca6fe83d63fad03e255eb055a8ac01562 THUNDERBIRD_2_0_0_19_RELEASE +7324ca828210ba063e0e834372517044a75369ed REFLOW_20020422_BASE +67745ac9f337f434f7d767bec14260fa1ab7483b MOZILLA_1_8a1_RELEASE +86466b478b6d71f633a83c59092a93d9ed548a0c JSS_3_1_2_RTM +c88a943c035e60d2660bfe71c233ac6914fd49dd FIREFOX_1_5_0_8_RELEASE +27ea66d5ca88f95e525e0944852df64039444e46 FOLDER_OUTLINER_20010410_BASE +0ea7bb63b6c1306ff6733730c4b5bb4213381ffa THUNDERBIRD_1_5b1_RELEASE +c6bd96fcbac6aa40c6f32af80a399c9f817e7ad7 NSS_CLIENT_TAG_20020319 +35f4f16a363e1437e3da2cd4a034106db719891a FIREFOX_2_0_0_4_RC1 +35f4f16a363e1437e3da2cd4a034106db719891a FIREFOX_2_0_0_4_RC2 +35f4f16a363e1437e3da2cd4a034106db719891a FIREFOX_2_0_0_4_RC3 +c36d9e174765d2f0eab0f9fcbd1b8387f6d5edf0 STYLEMAGIC_20010509_BASE +02ce04a63816f05b646006b32a1fc0e44aec37f5 NSS_3_7_1_BETA1 +1664a7a5970e8e86c7f655c39917e8777f133387 NSS_3_7_1_BETA2 +c60f92c58793bc04b4627dc805a07959768cd753 NSS_3_7_1_BETA3 +e420b76ca6fe83d63fad03e255eb055a8ac01562 FIREFOX_2_0_0_15_RELEASE +ee5c4fa74f66d1ab28944c5635a0e52cb1381269 SUN_SECURITY_3_3_5_WEBSERVER +c88a943c035e60d2660bfe71c233ac6914fd49dd SEAMONKEY_1_0_7_RELEASE +8c6708c9d7b636f63c2d5706ba8aae380261c593 nss34_20020321 +c88a943c035e60d2660bfe71c233ac6914fd49dd FIREFOX_1_5_0_8_RC2 +c88a943c035e60d2660bfe71c233ac6914fd49dd FIREFOX_1_5_0_8_RC1 +2d53e22df6da3ea61ac4211ceef015da830cf690 Netscape_PR3_RELEASE +e420b76ca6fe83d63fad03e255eb055a8ac01562 THUNDERBIRD_2_0_0_16_RELEASE +0635a0424187fe0de5345265edc6a7310bf335b6 JSS_4_2_RTM +b0b943d6a02edbee874a5f5542a34ae04ef2f7e5 SeaMonkey_2001052912_BASE +ae3ce6175e88533891d16426eaaa919dd6ca384b LDAPCSDK_20050510_RTM +ce87e265fdfbd02bd259b31360333291a2a72cd7 NSS_3_12_ALPHA1B +b4209f9b57850f320613886a66aac9cacc3d145d NSS_3_12_ALPHA1A +d57b25b5dcea999b2504a96efd2bdd588e71548e MOZILLA_1_7_RC3 +1551f1c621c856a1eb417b4a9f86c5db074024b5 MOZILLA_1_7_RC1 +0ea7bb63b6c1306ff6733730c4b5bb4213381ffa MOZILLA_1_8_BASE +d3f7f2bb794bfc0b533d90433bdfdf524e3b4d67 CAMINO_1_0_1_RELEASE +6645fb60d990f39b7cb3a64291c9e72796a3e789 NSS_OTIS_BETA_1 +54b0fc194fbda82219e689fb65ccf77a9bf8c831 NSS_OTIS_BETA_2 +5f00e0cb83d253024ebae093c8d13be980b8fd07 MOZILLA_0_9_7_RELEASE +6c04d40a7d1ef3b3122f67d4a463b7383be7c9c6 THUNDERBIRD_1_0_5_RELEASE +35f4f16a363e1437e3da2cd4a034106db719891a FIREFOX_2_0_0_2_RC3 +9192b30257075622d0c7f2b1ceb3a2bddc5c89fa MOZILLA_0_9_4_2_RELEASE +4ef3a341f996f4edd8077cb5a455fdcf1918ef35 NSS_3_2_BETA3 +45a1e786f75256a793c5860ee1e22fbbd3261c38 CAMINO_1_0_RELEASE +4533084bfa688a93178d447b0ab341defab9facd NSS_3_11_3_BETA1 +aeea57681f5651662e1d7515d093166761d6368e EVENTQUEUE_19990503_BASE +6503320a2855ec7d8e0c64cfdd3ecd566a8a5cd9 NSS_PHB_POST_FORTEZZA +cdb6eefbf24a72856c37b547ebf16eb6206d03af NSS_3_11_5_BETA1 +56ad610fc9f455a05a2ccdf2550c0a3bb825abd6 NSS_3_11_5_BETA2 +ef3ed87f5b673bb75dd7608e29942f3a32a56069 NSS_3_11_20060403_TAG +49494f569332042ed656c9c47040863f56732275 NSS_3_12_RC4 +6ce47a605004208f906e04f6ee98fe95bf7c0d97 NSS_3_12_RC2 +56eb9fb4397049117b1cf0d682f40211d20d7eaf NSS_3_12_RC3 +a9497bb3a23ecc2b067a20db67931a4479055415 NSS_3_12_RC1 +0a0fb4a0503d8bbae3043e2a3fecd9cf190b0091 XPCDOM_20010223_BASE +1d45c129edaf44bf96f0c6f866d9d96345b4ee30 NSS_CLIENT_TAG_20050315 +46fc7d9e228f5a8237ade0e0fba32f31f343afdf OJI_19980528_TEMP_BASE +f5b43a0bc6049d6f44bebabf1dba76f53d0dc8be FIREFOX_3_0b5_RC1 +f5b43a0bc6049d6f44bebabf1dba76f53d0dc8be FIREFOX_3_0b5_RC2 +8a987d32ebde9d75034adbb72f8d16a593b76091 NSS_3_4_1_RTM +c391f2239374d7333ca70124e663bc5362257980 NSS_3_11_5_RTM +0204699f138a593925188d64cb389eb4d8e5629c THUNDERBIRD_1_5_0_13_RELEASE +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_15_BUILD1 +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_15_BUILD3 +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_15_BUILD2 +6e880784ff509eb49e277d3b48c129ea0c1bfc1f NGT_TECHDEMO_19981125_BASE +6c04d40a7d1ef3b3122f67d4a463b7383be7c9c6 FIREFOX_1_0_5_RELEASE +73843753cb9c4c9ac952c9a0cb7b33c1ab6ae153 MAIL_05302002_BASE +e85710fd938409141e9eebd3aa35dd5064bd6392 PSM20_M_1_5_TAG +663f2e9dee6c796a4343f8f3ea9aa565418a13a3 FOLDER_OUTLINER_20010417_BASE +7715006624d53192b62b8b794b9209acec278c72 NSS_3_13_3_RC0 +e26dba44a7d8a8ff3865730e88ac10276f279f6a NSS_SSL_3_13_4_20120319_TAG +01ed4c5c2eb3289f5106df66517404bdca45607b THUNDERBIRD_2_0_0_23_RELEASE +6920f22c975c6d67be5e7e0a888a645f8aa5ea50 SEAMONKEY_1_1a_RELEASE +e420b76ca6fe83d63fad03e255eb055a8ac01562 SEAMONKEY_1_1_12_RELEASE +e420b76ca6fe83d63fad03e255eb055a8ac01562 THUNDERBIRD_2_0_0_16_BUILD1 +3c8e38f07daac7855b58b9eff7ef9d1d506fc91d NSS_3_12_10_RTM +d95b72a458b9d0c31968953f4887a28c028b7264 MOZILLA_0_9_8_BASE +7be84714297b24fb508308ec8502330b5099648d THUNDERBIRD_2_0_0_5_RC1 +143ca695bbd6f39ffd5a0156093d864fe6a4e895 ANDREAS_URL2_BASE +5f61c7e93fec7936ea58fd2765956e27d8af19df MOZILLA_1_5_1_RELEASE +9906d341bd795d7f952293c03a57f9766e666ae9 Netscape_20000922_BASE +0204699f138a593925188d64cb389eb4d8e5629c THUNDERBIRD_1_5_0_12_RELEASE +cfda15b9d056c6e5a923158851b355bc6d5f1268 WIN64_MASM_BASE +afd261c50f268024b4623ce071d574195ed01cff NGT_TECHDEMO_RELEASE +56eb9fb4397049117b1cf0d682f40211d20d7eaf FIREFOX_3_0rc1_RELEASE +5f00e0cb83d253024ebae093c8d13be980b8fd07 MOZILLA_0_9_7_20011221 +97d942112a6e3fb10ef3718eaa02eaf2eea8fa0b FIREFOX_3_0b2_RC1 +b0b943d6a02edbee874a5f5542a34ae04ef2f7e5 FASTLOAD_20010529_BASE +c8ef6eeafc3dde727ab1c796cd158a0fdf8d1116 ROGC_20020830 +a465b716bb5b80173397abc7ad1c3a508370929b LIGHTNING_0_3_1_RELEASE +03b49c49688b5e21355a34e59c530c939d77345b CAMINO_1_6_8_RELEASE +48903189063dfd561ffc80c899065bf63c22df8b MOZILLA_1_8_0_BASE +9e9dab259b923089251ddc0dca8ea6df746cec5e NSS_CRLDP_BASE +1f754ff91864dc4fed9d87e8d250b15bd4529686 ANGELON_MOZ12_BASE +3485b39544f6f8a21ebbf97bc2847e373f54dc45 WEB_CONTENT_HANDLING_20070621_POSTMERGE_20070607 +84b44d238d0f8ae94488640c4af85f0351324144 NORMANDY_DDAY_BASE +dc11e773516b4d402dde7dbb8f1928d0f7ca33a9 SEAMONKEY_1_1_15_RELEASE +43631329b650c8964a2a33aeace059a1f46ff5f9 MOZILLA_1_0_RC1_RELEASE +69dccf753c4e3e1b941618041e973d90e8da2e36 FIREFOX_3_0b3_RC2 +69dccf753c4e3e1b941618041e973d90e8da2e36 FIREFOX_3_0b3_RC3 +69dccf753c4e3e1b941618041e973d90e8da2e36 FIREFOX_3_0b3_RC1 +b8906ccfd293ad7bf266d34365318326af4dc944 nss377_20030613 +49494f569332042ed656c9c47040863f56732275 FIREFOX_3_0_RELEASE +5c4753212a2a9a98072a9dc217bfdef35cd0f888 NSS_CLIENT_TAG_20020305 +167f74577cbfeb1def5865bb7a5adbbf25534a95 NSS_3_9_1_BETA1 +7f02f4f893e329420711c7357e53333a4d526958 NSS_CLIENT_TAG_20020308 +755506f1cfb04791061cd597a4342e03e27950ba MOZILLA_1_0_2_RELEASE +48903189063dfd561ffc80c899065bf63c22df8b THUNDERBIRD_1_5rc2_20051107-UNUSED_RELEASE +b6c2fba1f31a48cc9c696575f8a49cb164a5dd08 NSS_3_4_2_20020528 +8c7a149ce794f9b554dd01f1ace5e21667744d86 NSS_3_10_1_RTM +6d2ecd30e934bd620fbd2e39fe7bfeaa53adb3ba NSS_3_12_5_BETA +4cfaf50f384009e654c9380148ea60876a9507c7 FIREFOX_3_0_5_RELEASE +0204699f138a593925188d64cb389eb4d8e5629c THUNDERBIRD_1_5_0_12_RC2 +0204699f138a593925188d64cb389eb4d8e5629c THUNDERBIRD_1_5_0_12_RC1 +b0b943d6a02edbee874a5f5542a34ae04ef2f7e5 MOZILLA_0_9_1_2001060715 +d5fb11eee9dd19533c5d6ffe515d01307d14a903 NSS_3_3_2_SUN_PKG-apps-server +7dfaf6d7cbe4614ba9045963766e5a25784cf5eb JSS_3_2_RTM +0783a37db353fa78d1cfe67c179ce2bc91da9fba CAMINO_2_0_8_RELEASE +e80a3438d9b5822ec022a0ac72b52924a6d277e8 MOZILLA_1_2_1_RELEASE +fac3307cceb4e39c24cf3421ceb187e9aebc401f FORMS_20040722_XTF_MERGE +e577921a41500ed345f52b9eea260501d79e23f3 JSS_3_1_BASE +d95b72a458b9d0c31968953f4887a28c028b7264 MOZILLA_0_9_8_RELEASE +d3f7f2bb794bfc0b533d90433bdfdf524e3b4d67 THUNDERBIRD_1_5_0_2_RC1 +d3f7f2bb794bfc0b533d90433bdfdf524e3b4d67 THUNDERBIRD_1_5_0_2_RC2 +35f4f16a363e1437e3da2cd4a034106db719891a FIREFOX_2_0_0_3_RC1 +86a1fbebca1720218c932496acc7e0e70ea4c208 PREFERENCES_20050201_BASE +4d75747933494fffead0b07e5c7f1a3d7718fec8 Style_20010509_Base +7be84714297b24fb508308ec8502330b5099648d CAMINO_1_6_B2_RELEASE +e4c34f6f1facdc51e3fc25acbca398761892b694 NSS_334_20030307 +21d70e8a2ed2bb2631bcfc53559a7399571c91ac JSS_3_1_2_2_RC011503 +49494f569332042ed656c9c47040863f56732275 THUNDERBIRD_3_0a2_RELEASE +e36869320535627cc678e3eb2988060e15b35d04 CW7_20011204_TAG +f9cf75f9ce77f795732fe153da55233e4079e7af SeaMonkey_M18_BASE +0204699f138a593925188d64cb389eb4d8e5629c THUNDERBIRD_1_5_0_13_RC1 +0e42fdc38a8ec020a8a2bdcf7a5019577408e0ba NSS_3_13_4_RTM +85a2d07129ea0b37338ff5cef926bd9f0064d044 NSS_3_3_2_SUN_PKG-0918 +35f4f16a363e1437e3da2cd4a034106db719891a SUNBIRD_0_5_RC1 +d57b25b5dcea999b2504a96efd2bdd588e71548e CAMINO_0_8_RELEASE +d89678175204f6c7493e7a277e9cdb725af012db NSS_CLIENT_TAG_20030319 +b6b95d73bfaff1c6cb3c90635928a90e1b11f3c2 NSS_3_3_BASE +0e0bdbf7685ea6db2497ec5993b319ee87f4725a FIREFOX_1_0_2_RELEASE +ba6995f239974a99b582e92733f54804cdffcfe2 CAMINO_1_6_1_RELEASE +452ea27781c2414ea7af5a7bb857f0236660f604 JSS_3_4_2_BETA1 +4fb74fa1665acc5ac2c959c73843da8f67b8d1f1 MOZILLA_1_0_0_2002052821 +ed49ae639c2e74e6c33a59a8b188a54a68aade6c NSS_3_1_RTM +8f0f9a07732bb154b355624d3999236c8499dfe5 SVRCORE_4_0_RTM +f09d27d3feeeb5c14b82eac06acaa7ef58b39186 STATIC_BUILD_20010628_BASE +9192b30257075622d0c7f2b1ceb3a2bddc5c89fa NETSCAPE_6_2_3_RELEASE +043d808e90c5475c2a076b92da582bdb37c29b96 moz_20020906 +fdbd8735c55af4d3c253343319b03594a8adb75c moz_20020902 +4b35c867487dc6071728d674450b92e5b077c7a8 MOZILLA_0_8_2001020916_BASE +4b84a683df08549ae9409300d43c9638fe972549 NSS_3_4_2_BETA1 +b6c2fba1f31a48cc9c696575f8a49cb164a5dd08 NSS_3_4_2_BETA2 +cf2d3e32f23e331e6d49f94952c3381086f9a2f0 NSS_TIP_20020503 +10f0663f978972620cba2373b599a48d85b50cda FIREFOX_1_5_0_7_RELEASE +5f6b2db78064cd306b9f85267880995df374d83c NSSCKBI_1_79_RTM +8b506366445c3ef98109c06f0d4f6660a52c7e03 JSS_3_2_0_1 +e420b76ca6fe83d63fad03e255eb055a8ac01562 FIREFOX_2_0_0_17_BUILD1 +e420b76ca6fe83d63fad03e255eb055a8ac01562 FIREFOX_2_0_0_17_BUILD2 +14617c443a3258258976d8c8dc8940b7f84e31c7 FIREFOX_3_0_11_RELEASE +7be84714297b24fb508308ec8502330b5099648d CAMINO_1_5_2_RELEASE +41d8aa98ae6c52979e5141357137c3f043f037a1 EDITOR_EMBEDDING_20011025_BASE +092757e5612a471a644b985d6c851f1e1f1e08cf JSS_3_7_RTM_HPUX_IPF +6d83a69f025be5082c3124749bd6599c4efaad36 XPC_IDISP_20020417_BRANCH +64a33c6c140c8cac72dcae14aad154bff9e92574 Netscape_6_01_20010207_RELEASE +9b4ab0393e5b64f3735f087d7ae4f085389b78b5 FIREFOX_0_10_RELEASE +cae7ae4d40b93df98bede0f5724a6bf987481a90 NSS_3_10_2_RTM +7b907d6cd610c3593bd1ebab3d95e0ba3f691b0d SUN_SECURITY_3_3_5_RC +180a61cd18f3135a450f44051d00800b40b25413 PHT_20030522N7_WIN_FREEZE +dc11e773516b4d402dde7dbb8f1928d0f7ca33a9 THUNDERBIRD_2_0_0_21_RELEASE +de014bd8165becffae80198648e5284eba40940d NSS_3_10_BASE +01aac66e85b3b5af2fd852ee7c7d2a00da3931eb NSS_3_11_2_RTM +3e567c06f1d22c3e9dcd701f0f1dd4ad74465649 PREFERENCES_20050101_BASE +97d942112a6e3fb10ef3718eaa02eaf2eea8fa0b FIREFOX_3_0b2_RELEASE +7be84714297b24fb508308ec8502330b5099648d CAMINO_1_6_A1_RELEASE +3ba6a7d04cef8f3d58e2b5abce5a7f9accd0573a CAMINO_1_0_2_RELEASE +0204699f138a593925188d64cb389eb4d8e5629c FIREFOX_1_5_0_12_RC1 +73da9d6d2e2388d884736496c8b64f0b2fbc159b NSS_3_4_20020403_2 +67711a7eff92e28eb0cec949b425ddf95aae3de8 THUNDERBIRD_0_2_BASE +0ea7bb63b6c1306ff6733730c4b5bb4213381ffa SEAMONKEY_1_0a_RELEASE +ba993d16b10671d97a07d67c207f921ec3bd03e7 MOZILLA_0_9_2_1_SRC_RELEASE +0836906e2324d53e3ca11725fb479278abdacef2 NSS_3_11_20060515_TAG +c63d14343cb2cd0aa1fb01c6faab02842d4de21b PHT_20030605N7_MAC +a1e43ca5b9a7b58e142fbfdbda5c0530b2bd95b4 SeaMonkey_M15_RELEASE +03a97a75d1bba9f79ae8f9146de16656e94a2e13 CAMINO_2_0_1_RELEASE +a1b31b33a3609e5575da22858cbe2ada2d4bd97f DDRINAN_TEST_NSS_TAG +57745512b200e3abe4b978cc0b61abb95e8809b2 FIREFOX_2_0_0_1_RC1 +8cf550edebf67e9ceacf370160eea9ea6c77b26b FIREFOX_2_0_0_1_RC2 +8e57e174f015fe7a4c7f10dc5e0103e7c9b7b110 CONRAD_PROMPT_1_TAG +63b63307a4ed58b7f2f4721d034c6e3ccd476cae MOZILLA_200303241605_TAG +6cccea315881fffb35cc622e8538a71319110331 MOZILLA_1_8_0_5_RELEASE +2bc8cbe330f4e7f2592f9513f39adfcea1a0c4fe NSS_3_14_1_BASE +b0b943d6a02edbee874a5f5542a34ae04ef2f7e5 STATIC_BUILD_20010523_BASE +755506f1cfb04791061cd597a4342e03e27950ba NETSCAPE_7_02_RELEASE +ccc70ba1dbaec4a70cef0d5af11d33a62cbe5e69 NETSCAPE_7_0_OEM_RELEASE +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_9_RELEASE +e8ae270e93c9878d9a3604126c4c5d6672ca8492 CAMINO_0_8_4_RELEASE +5f00e0cb83d253024ebae093c8d13be980b8fd07 MOZILLA_0_9_7_BASE +448057ea4e563bf13a7ec38e26ac1f1692ad3e0d NSS_3_12_9_RC0 +4e273eb39e10a84625cc299d466b75f42c961844 NSS_3_9_1_RTM +05b1d41ec61de04f8f86c1f2e580173adb65e3b1 NSS_3_1_BASE +7bf3a75fb2a9df06ec629c981edf670c1c8292f8 DOUGT_CHANNEL_CHANGES_02112001_BASE +0e0bdbf7685ea6db2497ec5993b319ee87f4725a THUNDERBIRD_1_0_2_RELEASE +575d4c8f0fcaa14b52757590556be1db6f985497 FIREFOX_2_0a2_RELEASE +8b0d76faa09b364cdcaafb5ae546aa2287f4d2b4 NSS_3_12_3_2_WITH_CKBI_1_73_RC1 +2618cfd419d58338a4da5887dffcd8e2d17a5033 pmoz_20030415 +f81eaab1d353afe537412390cb760df302772806 NSS_CLIENT_TAG_20020204 +4f88d171f5c338014e412d23bd6ba9ddd4a2c8b6 AB_OUTLINER_BASE +ba6995f239974a99b582e92733f54804cdffcfe2 CAMINO_1_6_B4_RELEASE +fcebe3de12ceb166c7924b73b2e595fb32c2fcdb NSS_3_7_5_RTM +290a94ec0937e0a662f2a4c7e747174c5820fe18 MOZILLA_1_7_2_RELEASE +91e5b1727c2a4bdea3399dc9d4c52f9616fdea47 PRE_NECKO_LANDING_M9_MidLifeCrisis_19990728_BASE +10f0663f978972620cba2373b599a48d85b50cda THUNDERBIRD_1_5_0_7_RELEASE +7be84714297b24fb508308ec8502330b5099648d THUNDERBIRD_2_0_0_12_RC1 +df0e2148b5d91dd9521e8901c43e697933ac6d5e SeaMonkey_M12_RELEASE +8e23ef81677b8168c4f1117fe6bc2820cf70d1e3 XULRUNNER_1_8_0_1_RELEASE +b6c2b9707ebd78a393dc593eb401d93f83d4d7e8 Netscape_20001030_RELEASE +6ba8f3fa189109c1f3c1295453f5ac97f911146d NSS_3_7_9_BETA1 +8f536087ab4dc16fe776dd9e497c3411f60bb7eb NSS_3_12_4_RTM +dd84eb3b24f0aa7bf8cc2019f45cb1972d720218 NSS_3_5_RTM +c2066129c10079a3cc75bd52ef3cded246929575 SeaMonkey_M9_BASE +59e23ad1545085e832517235fe1deff14a060dbf SeaMonkey_M7_19990619_BASE +4550695818cda56048359af67c311c9e113bda1a OJI_19980423_BASE +0204699f138a593925188d64cb389eb4d8e5629c FIREFOX_1_5_0_11_RC1 +7be84714297b24fb508308ec8502330b5099648d THUNDERBIRD_2_0_0_9_RC1 +2fed9649f5e4c333d4431b54b7c9d2fd3ee34707 CAMINO_1_1_A2_RELEASE +66be68c297c0fde1b11d8035544f83ced21e2469 MOZILLA_0_9_2_BASE +03a97a75d1bba9f79ae8f9146de16656e94a2e13 CAMINO_2_0_5_RELEASE +6cccea315881fffb35cc622e8538a71319110331 SEAMONKEY_1_0_4_RELEASE +3e22879011b4d2e8482da5b5034e0d56a7a2118d CAMINO_0_7_RELEASE +ba6995f239974a99b582e92733f54804cdffcfe2 FIREFOX_2_0_0_14_RC1 +ecce0049cc4c751772ea67edd8eeb11df18bf7ce NSS_3_12_7_BETA +854e4e80e1d4770524750aa86d332eaca1b16547 DBM_1_61_RC1 +79171f1b8b016d3ff0e49a6f9a1a0c795575f90e NSS_3_11_20060926_TAG +03a97a75d1bba9f79ae8f9146de16656e94a2e13 NSS_3_12_3_1_RTM +7e5b08485620537b6804121508e42c2087e3bb62 JSS_3_3_RTM +197029821be0be974cb8f111b757748c12d88dd3 NSS_3_4_20020329_2 +c06df0e3606d0d978c4a6e26c9a8ef47176514ac NSS_3_12_1_RTM +49494f569332042ed656c9c47040863f56732275 THUNDERBIRD_3_0a2_BUILD1 +c449abdd9b20154e7332cc3b1f7b096c7263c564 moz_20020919 +7be84714297b24fb508308ec8502330b5099648d SEAMONKEY_1_1_8_RELEASE +aa3224a8b5edb2e21492a01f21b4e4239661e105 NSS_3_3_1_BETA1 +90aa77eadd7335a4cb62e80f82e9090c046f95e9 NSS_3_3_1_BETA2 +b8bf90ffc0f92536a48fd405e37f56ef74317871 NSS_3_3_1_BETA3 +8e23ef81677b8168c4f1117fe6bc2820cf70d1e3 FIREFOX_1_5_0_1rc1_RELEASE +bc3941d4d42858a614a57ac73b9151f849bb38ef Netscape_20001031_RELEASE +92710a9c741694c80d5c4577454805227ebfb949 NSS_TIP_20020510 +cd8030bbfd6610b66f2506908a6830c3c60537f5 DBM_1_6_BASE +270879de7d40d603699880aa59d17040dd5091e9 JSS_3_1_2_2_BETA1217 +63133a0fc4389b6dfc3b12ca1786bab50916848e NSS_FIPS_20060524 +e8ae270e93c9878d9a3604126c4c5d6672ca8492 MOZILLA_1_7_9_RELEASE +050cebf213f48713b18b901827e3e2997e7e2ef3 RDF_19990407_BASE +de76e30eb1031e03cbb671a360e141ffe7ac2f4a NSS_3_12_2_WITH_CKBI_1_75_RTM +e80a3438d9b5822ec022a0ac72b52924a6d277e8 MOZILLA_1_2_RELEASE +337c25a6803a0ae66f48a9f4c738235a2595993d NSS_3_11_10_RC1 +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_16_BUILD1 +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_16_BUILD2 +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_16_BUILD3 +c049641d43acc65be6d60b887ecf7edd704b87a4 FIREFOX_3_0_7_RELEASE +290a94ec0937e0a662f2a4c7e747174c5820fe18 CAMINO_0_8_1_RELEASE +ad81932ae36e427a683fda1806ee6f7909f26ea7 PHOENIX_0_3_RELEASE +849f41e1a6ae01d7cb43638e97e5f2426c47114a NORMANDY_BEACH_BASE +425b5a3f8ab127343c82ccfbaa60d70ce6bf1a56 MOZILLA_1_7_13_RELEASE +49494f569332042ed656c9c47040863f56732275 FIREFOX_3_0rc3_RELEASE +7c7aa9c2ec7b11831b45ad4fce6691be5c9fc5f1 JSS_4_0_RTM +48903189063dfd561ffc80c899065bf63c22df8b FIREFOX_1_5_RELEASE +ba6995f239974a99b582e92733f54804cdffcfe2 SEAMONKEY_1_1_9_RELEASE +2c223b79cacfcb4a5abe9b9fe316ca270e442877 MOZILLA_0_9_5_RELEASE +7be84714297b24fb508308ec8502330b5099648d THUNDERBIRD_2_0_0_12_RELEASE +5a50e40434005d0cdf92545ecc5b9f44d40d33bb NSS_3_7_9_RTM +414c0a7abed3467347b47af148f500e5ab4b0c79 FIREFOX_0_9_1_RELEASE +c47cc2cdd5a2afc1bb53d43e72cfbb090e59a6d0 NSS_CLIENT_TAG_20041015 +101ce902abf30fe4202b1555bfc971bc47125170 THUNDERBIRD_1_1a1_RELEASE +cfbcf7a3e0b3ed62f8600d6833f00141d85c2501 FIREFOX_3_0b1_RC1 +e63cce5e79e44122f5f12a9d36140947a7049924 FIREFOX_3_0b1_RC2 +738a1ff067d620d2a38637fe574f60bb0cf00028 FIREFOX_3_0b1_RC3 +d8debc661f2a9573149505951aeb15bf7644d4b5 N3 +ce961c69b3aa3aeb07d173ec3c53401aa90147c2 MOZILLA_1_3_RELEASE +7e2154151b2e61b63e943615fc1f392ffe174240 NSS_3_3_2_RTM +e8ae270e93c9878d9a3604126c4c5d6672ca8492 CAMINO_0_8_3_RELEASE +79171f1b8b016d3ff0e49a6f9a1a0c795575f90e SUNBIRD_0_3_1_RELEASE +f8e1d2d249c36c4330a6a671e1c87a80e3800770 SUN_SECURITY_3_3_5_BETA4 +9192b30257075622d0c7f2b1ceb3a2bddc5c89fa NETSCAPE_6_2_RELEASE +8a2e5b3a6c3ba46eb98a17bad8fe32c0957db478 SUN_SECURITY_3_3_5_BETA2 +6ffba62e4e2d419b74ae256bbf3bc6f5d409e6a0 SUN_SECURITY_3_3_5_BETA3 +d56a7c7f33ab08bdd556c759163a1af770672780 MOZILLA_1_0_1_RELEASE +90972d7f9241e3b26e464bc5de305a08297d660a FIREFOX_3_0_6_RELEASE +1001a5d40787879920e919b66148d64311ce1389 NSS_3_3_3_BETA_Sun120602 +9d8f9c9f4a2bcad8a9a54dde247090ad83cf0e5c MOZILLA_1_7b_RELEASE +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_7_RC1 +4d855a9ea29e8edfbaa04d85d76d960b1d307efe NMAKE_LAST_RITES +d8debc661f2a9573149505951aeb15bf7644d4b5 RDF_SCRIPTABLE_19990317_BASE +29ee86cc74216e171a1b95486dfc40de88335d0b NSS_3_13_CKBI_1_93_RTM +11b66f2cd625853ecb48f823fdee22336b503e45 FIREBIRD_0_6_1_RELEASE +ec287e05156e90ede4716c5efb15e562637ca21e MOZILLA_1_4_RELEASE +01ed4c5c2eb3289f5106df66517404bdca45607b THUNDERBIRD_2_0_0_24_BUILD1 +49cb0641b3d1a007b1eb5990b8dfaf1d84f930da NSS_CLIENT_TAG_20020217 +d53becfa90cb167001f68360ee8cccc1e70095e4 NSS_CLIENT_TAG_20020213 +e420b76ca6fe83d63fad03e255eb055a8ac01562 THUNDERBIRD_2_0_0_17_RELEASE +82a54cfe746d85521157fb77daa0cb054b909a07 NETSCAPE_7_1_RELEASE +89066cc29aad67cab97e01b3bd663573b3ee5fb6 SEAMONKEY_1_1b_RELEASE +5981593d299cb1787742f4f5987e3b0fe33e859b FIREFOX_2_0b1_RELEASE +cd6caa3453363f223510cc286387b7c15a6d3159 NSS_TNH_1_BASE +48903189063dfd561ffc80c899065bf63c22df8b FIREFOX_1_5rc2_RELEASE +d3f7f2bb794bfc0b533d90433bdfdf524e3b4d67 SEAMONKEY_1_0_1_RELEASE +a5194743a3a75ea4fef99a22118fd6096d06bcd8 NSS_3_1_1_RTM +c367928fe47982081d6859c3a0941ef0edfbffc6 SeaMonkey_M17_BASE +85a2d07129ea0b37338ff5cef926bd9f0064d044 NSS_3_3_2_SUN_PKG_RTM +67745ac9f337f434f7d767bec14260fa1ab7483b FORMS_20040621_BASE +604ec9582927a212a7609edf01b5d88ef54e9934 SUN_SECURITY_3_3_5_BETA +0516d96a64fda5eb8c534ee9da50b2fa474f3a96 JUD_PROMPT_TAG +36ef1b43825909f77dad25a3400d76c5e4b757dd NSS_CLIENT_TAG +8ac88fe92039ad5234d1bba498633aa038ff15e8 NSS_3_11_10_RC2 +dacf455313d19b18014e7a15431a95254cb8253f NSS_3_11_10_RC3 +bb81ebb236c6e3d70732212df6490f34032d49fa CAMINO_1_6_4_RELEASE +e140babf20143bac546c87f8a53c98f62e414f4a NSS_3_11_20060831_TAG +52ffbd07f49dc3351082f47c2300b9b0dc67ad57 DBM_1_6_BETA1 +b4908fc743bb0269db300776b6921620ae256766 Netscape_6_0_RTM_BASE +6cccea315881fffb35cc622e8538a71319110331 FIREFOX_1_5_0_5_RC3 +6cccea315881fffb35cc622e8538a71319110331 FIREFOX_1_5_0_5_RC2 +2618cfd419d58338a4da5887dffcd8e2d17a5033 PHT_20030424N6_WIN_FREEZE +6cccea315881fffb35cc622e8538a71319110331 FIREFOX_1_5_0_5_RC5 +6cccea315881fffb35cc622e8538a71319110331 FIREFOX_1_5_0_5_RC4 +e7e562c3453de3088762b8e6e28f5dd5200901ab NSS_3_13_6_RTM +4d1641699c62cbcdcca6f57a4a4f7f1b7c240ab1 FIREFOX_3_0_2_RELEASE +ec214431cfaae2fc12b53cf3a77eda43ab9290ad NSSCKBI_1_72_RTM +4d1641699c62cbcdcca6f57a4a4f7f1b7c240ab1 FIREFOX_3_0_3_RELEASE +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_5_RELEASE +f9152c9488e1fda2e66ca4a55d0b7a1e65360a1c NSS_3_11_20060905_TAG +e81ba1d2709b93396ccecf65cb32ed12781a5c72 SURESH_IM_STANDALONE_BASE +3dfbcf406b491d3907234ce5dc8fd8245e3c6248 NSS_3_11_5_WITH_CKBI_1_64_RTM +4cfaf50f384009e654c9380148ea60876a9507c7 FIREFOX_3_0_5_BUILD1 +ae603aa9c076524cb252dd909e706e0a69d552df Netscape_6_01_20010207_SECURITY_MAC_RELEASE +571ea5374e4433581fa4363cd0fda7f26d51526a NSS_3_8_2_BETA1 +f4d0261f87e4793d412b4082fa0935e29f4c0846 NSS_3_8_2_BETA2 +50a4f6f054878fa7a4ece4664e07b89fc475c4e5 NSS_3_3_3_BETA121402 +d8debc661f2a9573149505951aeb15bf7644d4b5 SeaMonkey_M3_BASE +763ccdb4ba39ff6261a26af1b8b73ac99da9c640 NSS_CLIENT_TAG_20031117 +bb082110acd13923d38f14b291e0748e2dd69ff0 NSSCKBI_1_75_RTM +6912dcc7e9661d1af8e650e10d012366e706444d NSS_3_12_BETA2 +d8d6ca66d6acf6eac40ce0c92c13ec98975e5f90 SPLITWINDOW_20050714_INITIAL_TRUNK_LANDING +4678258e3dde02c6f5297ac14aa6622e1c9f343a NSS_3_12_11_RTM +448057ea4e563bf13a7ec38e26ac1f1692ad3e0d NSS_3_12_9_RTM +0436c1469ca03f2445d4957df6fcd1bcdb4569a9 NSS_3_2_BASE +23a715e8d117f0459688e453fcca0d8d14776851 Netscape_20001107_RELEASE +7be84714297b24fb508308ec8502330b5099648d THUNDERBIRD_2_0_0_9_RELEASE +35f4f16a363e1437e3da2cd4a034106db719891a FIREFOX_2_0_0_2_RELEASE +c391f2239374d7333ca70124e663bc5362257980 MOZILLA_1_9a2_RC1 +baa3c67c248cfdcea61d53f5d38465f8361a4c80 PROGRESS_19980920_BASE +72d19effbdc4a971bf8d8eae56ddb97a9112a80f moz_ux_20021026 +a362bad24363a512ade7460acf9ff6b1e3dfdbb7 SUNBIRD_0_3a1_RELEASE +faa8c3e5141ef4af8cdd23fcbe16ef8b8cb92e27 NSS_TRUNK_20060424 +1732cdbe707b516362da5f30155247736a8faab2 PSM_2_2_DEV_20011015 +277874d24cda780afc44d28faa9f01f7256f94f2 NORMANDY_BEACH_PRE_MEDIUM_LANDING +0002708e93175665a1cb2c19053fd43b22c23507 PSM_1_2_RTM +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_12_RC1 +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_12_RC2 +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_12_RC3 +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_12_RC4 +12acca72f31c28250991a595b5967dbe90a6053c JSS_4_2_4_RTM +b0b943d6a02edbee874a5f5542a34ae04ef2f7e5 Accessible_052901_Base4 +bb5746690e18905f9e2b5befbeb88377aa788761 NSS_3_13_4_BETA2 +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_10_RELEASE +f697a3077e27b8c01bc28c7d8bc1416e9f67e6b3 NSSCKBI_1_82_RTM +c420e3e44ebb380b5af476a0eafc3ed79599880e NSS_3_11_4_BETA1 +f6238a243ddcd3fd09e54a959cbadd69701b5077 SVRCORE_4_0_4_RTM +7be84714297b24fb508308ec8502330b5099648d CAMINO_1_6_B1_RELEASE +bb81ebb236c6e3d70732212df6490f34032d49fa CAMINO_1_6_3_RELEASE +304e2f9c7836f436f1aea920a475766237c76b39 Netscape_2000_1030_RELEASE +1a9726288b79882fe3f05e2ce59dd201c3249bc0 ROMAXA_20070529_GTK2_THEBES_BASE +7c1be942caa54d4052fb8c698a5d6585305022b0 REPLY_PERF_20010608_BASE +53d30f0bbd4a97aa25bbd4e06eed45e3629bb050 NSS_3_11_20060331_TAG +51f5f5e1703c163c3332381ffaa66f57d6a337de NSS_3_7_2_RTM +6461b7e246166b3cd3f5c4a9244599e3727eef30 Netscape_20001106_RELEASE +ea966ea6d0fd19792f0536fed2addffd81c56b12 NSS_3_7_8_RTM +3352aeca13b6a22a0d875f9302fe04ba0f15a5b8 NSS_3_3_4_3_BETA +6c04d40a7d1ef3b3122f67d4a463b7383be7c9c6 FIREFOX_1_0_3_RELEASE +d56a7c7f33ab08bdd556c759163a1af770672780 MOZILLA_1_0_20020912_TAG +4da0ea62942a4e16416d5081814481fdec0893f4 JAR_20000216_BASE +5d6e316d9cae67e7d47beb79b78ae66beaf69c29 NSS_CLIENT_TAG_20041008 +e419f913c947dbe62698953426daa8c748df5b3b NSS_3_2_BETA5 +48261f7e93670c0c7f7f92b024280cd896147380 NSS_3_2_BETA4 +9a0ce48a45b7afaa0361df44d7b55941cbcfec55 MOZILLA_0_9_9_20020301 +a1e43ca5b9a7b58e142fbfdbda5c0530b2bd95b4 travisWebshell_03082000_BASE +e420b76ca6fe83d63fad03e255eb055a8ac01562 THUNDERBIRD_2_0_0_17_BUILD1 +66378f4554fc6f093a9b8a19e939e1c3008ddb59 FIREFOX_2_0_0_1_RELEASE +6ce47a605004208f906e04f6ee98fe95bf7c0d97 NSS_3_12_0_BRANCHPOINT +82ee9fcac6e1cc0403006be250dbfccca8762b47 NSS_3_5_BETA1 +947c549ceaca6d9593897bb30ab990c11f61636a NSS_3_5_BETA2 +e420b76ca6fe83d63fad03e255eb055a8ac01562 FIREFOX_2_0_0_17_RELEASE +0ea7bb63b6c1306ff6733730c4b5bb4213381ffa MOZILLA_1_8b3_RELEASE +86f34392c2343824e50fdf413b2875dba01364a7 NSS_3_6_RTM +79171f1b8b016d3ff0e49a6f9a1a0c795575f90e SUNBIRD_0_3rc1_RC1 +35f4f16a363e1437e3da2cd4a034106db719891a SEAMONKEY_1_1_1_RELEASE +ba6995f239974a99b582e92733f54804cdffcfe2 SUNBIRD_0_8_RELEASE +4cfaf50f384009e654c9380148ea60876a9507c7 CAMINO_2_0_B1_RELEASE +b77d3837c8922253fadfe9d2e1958b59c13cb0d6 NSS_3_4_20020114 +6cccea315881fffb35cc622e8538a71319110331 FIREFOX_1_5_0_7_RC1 +b25347bbd339142bdfb62ec9b3831083327c4e77 FIREFOX_1_5_0_7_RC3 +6cccea315881fffb35cc622e8538a71319110331 FIREFOX_1_5_0_7_RC2 +a59870c46884a9473832cb394d3f6b11533c3b33 FIREFOX_1_5_0_7_RC5 +a59870c46884a9473832cb394d3f6b11533c3b33 FIREFOX_1_5_0_7_RC4 +10f0663f978972620cba2373b599a48d85b50cda FIREFOX_1_5_0_7_RC6 +9d8df85fb23dfe54a7b4dec403032752c84dcfef BOB_3_12_ALPHA_TEST_1 +10f0663f978972620cba2373b599a48d85b50cda MOZILLA_1_8_0_7_RELEASE +c391f2239374d7333ca70124e663bc5362257980 UPDATE_PACKAGING_R11_1 +5c1ba1600106d04aeecbdd179719988499a17f6c NSS_3_10_BETA3 +c9b11774f1cbbdfc64771454970f457f5a38749b NSS_3_10_BETA2 +ffdeff9fc3828824d6ba027bc489220f7288fa6a NSS_3_10_BETA1 +bebf2d738edaa7bdd678a06fd3068e015df2ad41 SSU_20030812_BASE +849f41e1a6ae01d7cb43638e97e5f2426c47114a OJI_19980618_BASE +e420b76ca6fe83d63fad03e255eb055a8ac01562 FIREFOX_2_0_0_20_BUILD1 +91668de49702503f8bb830750e624dd9d7f79d06 NSSCKBI_1_85_RTM +ba6995f239974a99b582e92733f54804cdffcfe2 FIREFOX_2_0_0_13_RC1 +6cccea315881fffb35cc622e8538a71319110331 FIREFOX_1_5_0_6_RC1 +140cd3bff1ce20c2e665adbd144ff55b118384d5 JSS_TIP_20060224 +bb81ebb236c6e3d70732212df6490f34032d49fa CAMINO_1_6_5_RELEASE +35f4f16a363e1437e3da2cd4a034106db719891a LIGHTNING_0_5_RC1 +4550695818cda56048359af67c311c9e113bda1a OJI_1998_0527_TIP_MERGE +b19740097201797dff9b8c0191b111b3596e07c8 DOM_AGNOSTIC3_BASE3 +4d8dfcb08e1852162f48db744af0d252c9cc25ee DOM_AGNOSTIC3_BASE2 +7be84714297b24fb508308ec8502330b5099648d CAMINO_1_5_4_RELEASE +e21ecb4e7d370c833790936d679b60ddfcbea42b ROGC_20021218_FREEZE +93f6d4080570adfdae6f4d5889d6d847f55123db NSS_3_4_2_RTM +92d982ae73d10b31b796c9d92c92140d7e5e7984 FOLDER_OUTLINER_20010531_BASE +0ea7bb63b6c1306ff6733730c4b5bb4213381ffa THUNDERBIRD_1_5b2_RELEASE +ae3a01d40fa6141d4d196204af88949c727906bf NSS_3_11_BRANCH_20060224 +12103b8a28f0c7d550033735530bd72925deb766 JSS_4_3_1_BETA +e420b76ca6fe83d63fad03e255eb055a8ac01562 FIREFOX_2_0_0_15_BUILD2 +dd61d2d01cd2e9a0d6a04f4c2bdaf6cc0b787779 JSS_4_2_5_RC0 +649f546fd9f11d88566c6ead2ed1ec30cbee3027 OJI_19980727_TIP_MERGE +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_19_BUILD1 +03a97a75d1bba9f79ae8f9146de16656e94a2e13 CAMINO_2_0_2_RELEASE +e8e98f559ebceca911ed9cf6fece722a8d1078e3 NSS_3_12_8_BETA2 +fb18545e94eb6ae9c49e1b62a90e465f3b85d0ea NSS_3_12_8_BETA3 +f80a8570054ee72693fbb4dcc7c8fdd61ca3fe86 NSS_3_12_8_BETA1 +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_7_RC2 +c88a943c035e60d2660bfe71c233ac6914fd49dd THUNDERBIRD_1_5_0_8_RELEASE +1f657571ebb60ea5472b260438bf1abdbb45c6d7 NSS_CLIENT_TAG_20031219 +e420b76ca6fe83d63fad03e255eb055a8ac01562 FIREFOX_2_0_0_18_BUILD1 +0ea7bb63b6c1306ff6733730c4b5bb4213381ffa DOM_AGNOSTIC_BASE +48903189063dfd561ffc80c899065bf63c22df8b THUNDERBIRD_1_5_RELEASE +18162710943f8b3d77539f6db619fb9654928ee9 NSS_3_3_4_8_RTM +67745ac9f337f434f7d767bec14260fa1ab7483b FORMS_20040611_BASE +69dccf753c4e3e1b941618041e973d90e8da2e36 NSS_3_12_BETA1 +f5b43a0bc6049d6f44bebabf1dba76f53d0dc8be NSS_3_12_BETA3 +614f353165f065d5e3c16ad58ed2140dfff8d948 NSS_3_8_WTC_TMP +654b5c59bf68ec0e6b556c35740cfbc7ae7e7a5e moz_ux_20021104 +9262576327f835b3a1688c3ffee25f3fd8b10db2 moz_ux_20021108 +5981593d299cb1787742f4f5987e3b0fe33e859b FIREFOX_2_0b1_RC1 +5981593d299cb1787742f4f5987e3b0fe33e859b FIREFOX_2_0b1_RC3 +5981593d299cb1787742f4f5987e3b0fe33e859b FIREFOX_2_0b1_RC2 +e23151eae0c304f5a05da230a2b80f5cde3ae1c8 NSS_3_8_1_RTM +d4a15afb55dfea9fc3b4dda620e93cd49cbb3759 NSS_CLIENT_TAG_20020515 +98574f9c5ed9a02225940a653a35e73a331baf61 ColorSync_19980824_BASE +3ba6a7d04cef8f3d58e2b5abce5a7f9accd0573a FIREFOX_1_5_0_4_RELEASE +d3f7f2bb794bfc0b533d90433bdfdf524e3b4d67 FIREFOX_1_5_0_2_RC1 +c8e19e98adb70c3b57db3943a6cfe1dcfed31ac4 NSS_3_13_CKBI_1_88_RTM +4d559b0a3a6204c598d387a3dad260b1beabb98d NSS_3_7_8_BETA1 +48903189063dfd561ffc80c899065bf63c22df8b SEAMONKEY_1_0b_RELEASE +d3c15158c72d495d95a2733a372afc4c1c8d7437 SECURITY_3_3_5_WEBSERVER +01ed4c5c2eb3289f5106df66517404bdca45607b SEAMONKEY_1_1_18_RELEASE +56eb9fb4397049117b1cf0d682f40211d20d7eaf FIREFOX_3_0rc1_BUILD1 +89066cc29aad67cab97e01b3bd663573b3ee5fb6 FIREFOX_2_0_RELEASE +4fb74fa1665acc5ac2c959c73843da8f67b8d1f1 NETSCAPE_7_0_PR1_RELEASE +4550695818cda56048359af67c311c9e113bda1a OJI_19980430_BASE +e420b76ca6fe83d63fad03e255eb055a8ac01562 THUNDERBIRD_2_0_0_18_BUILD1 +f80e077f11c029bf35a92102de84a6d445bfa12f MOZILLA_1_9a6_RELEASE +add5b8efa5b5642964005b17c957c864951b4d2d SUN_SECURITY_3_3_12_RTM +a59870c46884a9473832cb394d3f6b11533c3b33 THUNDERBIRD_1_5_0_7_RC5 +180a61cd18f3135a450f44051d00800b40b25413 ANGELON_MOZ12_N7_BASE +5c2e65712e27e3bdd953cc2992458c45e8747291 XPCDOM_20010502_BASE +c423565b5cc76c23539a2bf2343bb8b077d022bc NSS_3_13_2_BETA1 +6746d7daa956a2f22c8b15a11aa7375be5528392 NSS_3_13_2_BETA3 +70a1c9c141b2b0d3baca9fdf859572fc8ac3d7c9 NSS_3_13_2_BETA2 +878b45f1eabc199c39adaf99a4d3c0b3ac62b053 XPCOM21_BASE +33471c6b6b0f4506d6602a9044a47c282d48cf2e JSS_3_1_RC1 +7be84714297b24fb508308ec8502330b5099648d THUNDERBIRD_2_0_0_6_RC1 +06364cae56a45153badb43ef40ea556246ca3a1f FIREBIRD_0_6_RELEASE +0204699f138a593925188d64cb389eb4d8e5629c SEAMONKEY_1_0_8_RELEASE +77f6e5d89db2e42588d27357eeaf84b253d75672 NSS_3_11_1_BASE +89b289adbed544fb171e3f46fb1f5a4eac929a1c FIREFOX_3_0b1_RELEASE +c88a943c035e60d2660bfe71c233ac6914fd49dd THUNDERBIRD_1_5_0_9_RC1 +216b7eaf666c958013f89d72f605153a2f71951f NGLayoutStability2_BASE +3939583322f3f5655b5890a512b2408df5fe752c JSS_4_2_BRANCHPOINT +0213bd906cbbc0a2ba0ccce63816fb5e880e92e3 moz_win_20021014 +c4539761e1a94b860be2c760d399018c86391c96 NSS_3_12_6_BETA1 +697571f764414d14c13ebf6b5de1e63fb9043746 PHOENIX_0_1_RELEASE +825354358d79053ea6498389250ccdd2a7e53b57 PRE_PRINTF_TAG +2b1609df9477f212c801e720900e540ed49fc0ae BEONEX_0_8_2_0_RELEASE +d3f7f2bb794bfc0b533d90433bdfdf524e3b4d67 THUNDERBIRD_1_5_0_2_RELEASE +d57b25b5dcea999b2504a96efd2bdd588e71548e MOZILLA_1_7_RELEASE +e22763257b86bf276bb08ef6fd6914d69f8b0127 QT_LAST_RITES +9b4ab0393e5b64f3735f087d7ae4f085389b78b5 THUNDERBIRD_0_8_RELEASE +8d4c87d8de45e4ed8f55cbb2488990e43d2ba135 NSS_3_14_RTM +5997831da35e43b29b7482aa25edb7fcbc47ca14 no_neckoutil2_base +a6870185fd8ef9bb0ef2066e2181e9c8ca01c6ea nss_20020222 +97a463538e6b91d3b9c9550dd7a22a31a2fb8bc6 nss_20020225 +616fa4254495e1e6ea60864464b4a372a29ad367 NSS_3_10_2_RTM_HPUX_IPF +b491f63c3e418caec3c4c7ddc1d124f1828c5ca4 LIGHTNING_0_1_RELEASE +89066cc29aad67cab97e01b3bd663573b3ee5fb6 LIGHTNING_0_3_RELEASE +e22763257b86bf276bb08ef6fd6914d69f8b0127 PROFILE_SHARING_1_TAG +755506f1cfb04791061cd597a4342e03e27950ba MOZILLA_1_0_20021114_TAG +4d75747933494fffead0b07e5c7f1a3d7718fec8 MOZILLA_0_9_2001042510_BASE +4550695818cda56048359af67c311c9e113bda1a OJI_19980527_TIP_MERGE +4587fa0676e22446617c2b41ff5e59c842fcfb6a FastLoadXUL_20020410_BASE +cf327a9da8bf82cfce06a137615a0a46d77ebd5f NSS_3_11_7_WITH_CKBI_1_64_RTM +ce961c69b3aa3aeb07d173ec3c53401aa90147c2 MINOTAUR_0_1_BASE +e420b76ca6fe83d63fad03e255eb055a8ac01562 SEAMONKEY_1_1_13_RELEASE +e420b76ca6fe83d63fad03e255eb055a8ac01562 THUNDERBIRD_2_0_0_19_BUILD1 +13dd24d52318fb952d51979e5fd5dfeed32c0122 NSS_3_14_2_BETA2 +fbdde1effd1b21553860e20af2be438eace4a929 NSS_3_14_2_BETA3 +822f941621d97d78684aeaf60575b170d66b1a2f Netscape_MAC_PR3_RELEASE +1fd53d69b3911c13dc43d7c268d89532803a35ca JSS_3_0_RTM +b87cb0dfee4988995530339b43c17e358430b642 MOZILLA_1_7a_RELEASE +5997831da35e43b29b7482aa25edb7fcbc47ca14 SeaMonkey_M11_BASE +c2066129c10079a3cc75bd52ef3cded246929575 TREE_WIDGET_19990826_BASE +d98c95093ea977e9caeb4accac48657e0a66d0f1 FIREFOX_2_0a1_RELEASE +e420b76ca6fe83d63fad03e255eb055a8ac01562 SEAMONKEY_1_1_14_RELEASE +7be84714297b24fb508308ec8502330b5099648d SUNBIRD_0_7_RELEASE +e99dd556e1f0c1ded576353ff4d282366e9f9a50 NSS_3_13_5_RTM +9192b30257075622d0c7f2b1ceb3a2bddc5c89fa MOZILLA_0_9_4_RELEASE +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_8_RELEASE +6cccea315881fffb35cc622e8538a71319110331 SEAMONKEY_1_0_3_RELEASE +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_5_RC1 +85d1a6e13359f804ccfb511885fe6c3139195c0b NSS_3_11_6_BYPASS_BASE +822fe872a7d640d88b4d9a9b3edcdf41529cdb57 MOZILLA_1_9a1_RC1 +822fe872a7d640d88b4d9a9b3edcdf41529cdb57 MOZILLA_1_9a1_RC3 +822fe872a7d640d88b4d9a9b3edcdf41529cdb57 MOZILLA_1_9a1_RC2 +414c0a7abed3467347b47af148f500e5ab4b0c79 THUNDERBIRD_0_7_RELEASE +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_14_RELEASE +520a089a232d369c594de023cb77bff2e43cffdd JSS_4_2_5_RTM +4d8f401381de48a0749869343353dcb2ed065df4 NSS_3_11_TPATCH_20051221_V3_20060203 +89066cc29aad67cab97e01b3bd663573b3ee5fb6 CAMINO_1_1_A1_RELEASE +f749643eabc2d3b9e77ab59b55dce02bcbc52845 NSS_3_11_8_RTM +6c04d40a7d1ef3b3122f67d4a463b7383be7c9c6 FIREFOX_1_0_6_RELEASE +287fd3542879b3272b76f0e34104065b6dfd034b NSS_3_4_3_BETA2 +3e22879011b4d2e8482da5b5034e0d56a7a2118d CHIMERA_0_5_RELEASE +3478dcb4fa7bb370740be63c63fc4f88391874de XBL_BRUTAL_SHARING_20010807_BASE +d8debc661f2a9573149505951aeb15bf7644d4b5 NSPRPUB_LIB3_NAME_CHANGE_BASE +8602dcfefbeae4ad26525c3ff31ae4f5ec56b9e5 NSS_TIP_20020305 +ba6995f239974a99b582e92733f54804cdffcfe2 THUNDERBIRD_2_0_0_14_RELEASE +cf079033195de602e3cf34084eeb906cc1c06544 NSS_3_7_RTM +11b66f2cd625853ecb48f823fdee22336b503e45 MOZILLA_1_5a_BASE +0630737c0ac3fbc6ce9f74861f647748c9f9dc1d NSS_3_4_SunBeta0401 +15629148cd0e1d4fd1795da66a504ad6184be62f GFX2_20001016_BASE +a6f19840409d770a5df2884385754bfbe416a500 JSS_DSAME_OCSP_RTM +de20decac4f294b6486c9edddbab5aa6677376a5 NSS_3_13_2_RC0 +e059abec415f2160aa95a90fd30b76c22d52ddbd NSS_3_13_2_RC1 +b5c0395b493ffcaf755b3770fbbff0eaaa447a43 JSS_3_3_RC1 +760fbcc1c8bf5c8d97350c434fc3a381b038bcb7 MOZILLA_1_2a_RELEASE +1551f1c621c856a1eb417b4a9f86c5db074024b5 THUNDERBIRD_0_6_BASE +f667de9637780d8e306f55ffd0d208d6118769fd BOOKMARKS_20030310_BASE +e870f4b17c146286a9f6212d9e5c0eb7cbd63201 FIREFOX_3_0_13_RELEASE +b0b943d6a02edbee874a5f5542a34ae04ef2f7e5 MOZILLA_0_9_1_2001053110_BASE +e4626e3dfdf434f043a482ecefc6fce3c6ecb0fe NSS_3_3_4_5_RTM +55ef1c6eaafcb0874f9fa4bf9ed7065f56d0a89f NSS_3_12_4_FIPS4 +cbf8d5cfaab517850d49e7c0b49a0bc9c55d0ec0 NSS_3_12_4_FIPS5 +f682e00e62a1b243f339563b1fb6dcc48d28b6c5 NSS_3_12_4_FIPS0 +36b2c9c0ae71d34d1ed640ed3c647f9ea0285d4f NSS_3_12_4_FIPS1 +083f5ac3e216ff7fd4d4362b8b409d2c87582642 NSS_3_12_4_FIPS2 +48134f1296f7b68d6110baef195eb84c736e4afc NSS_3_3_BETA2 +343edb0cf5050d27b174699b85dff94280b20f0a NSS_3_3_BETA3 +e420b76ca6fe83d63fad03e255eb055a8ac01562 FIREFOX_2_0_0_20_RELEASE +9b4ab0393e5b64f3735f087d7ae4f085389b78b5 FIREFOX_0_10_1_RELEASE +49494f569332042ed656c9c47040863f56732275 FIREFOX_3_0rc2_BUILD2 +01ed4c5c2eb3289f5106df66517404bdca45607b SEAMONKEY_1_1_19_RELEASE +40b9245df1c6b87cf761183bd2a41ce34849d5d5 SEAMONKEY_1_1_RELEASE +72448f24781b6f931a0ffa4505989a99c4f4945f JSS_3_5_1_RTM +6552b1568bdd889455ed2ebb087ec45490331cbb DOUGT_CHANNEL_CHANGES_01222001_BASE +41f8509c2e2cb7fff6fd0fadfd030ec6803d9ce8 JSS_3_4_RTM +2d56cb66fdd03d2a11aa1bc454c02143f795f2ee NSS_OTIS_INT_RELEASE +ed75324eb2ee9cd52af1e0915044dc51d28a7e8b SVRCORE_4_0_3_RTM +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_18_RELEASE +936e866b10962408845874b684ae2d13ad712418 FIREFOX_2_0a3_RELEASE +abb56fc7ad94f8e06e07294dac7577443845ea22 NSS_3_13_5_BETA1 +f3b3aa24f3c1e8bec459f177cd5f4c7fa0af2412 Netscape_20001102_RELEASE +f8cbefcd83d326db2f336fc4631b6a66a8daebf1 FIREFOX_3_0_8_BUILD1 +693e2340d90e359db025b3ee889fe6cbf40c6eb3 FIREFOX_3_0_8_BUILD2 +23538d2dbcc417040f9c2da70b0d1518747a525b CFM_LAST_RITES +ede9fa7c96f1ee475f131d1a44db574b73c790c5 moz_win_20021009 +48903189063dfd561ffc80c899065bf63c22df8b CAMINO_1_0_B2_RELEASE +d3fa902c77a01bbee002922dc450599631e2521d WINCE_20020218_BASE +7d7891b5d429e1a9f1707da16faefe262e7dc6f0 RDF_19990305_BASE +b1362c81cf6076a69e46e3f721f99091eeb058cc ANGELON_MOZ12_N5_BASE +a1e43ca5b9a7b58e142fbfdbda5c0530b2bd95b4 TravisWebshell_03082000_BRANCH +8b45faa2eaff0cf659850ac4f0b8e96454c0295f THUNDERBIRD_M4_BASE +6cccea315881fffb35cc622e8538a71319110331 THUNDERBIRD_1_5_0_5_RC3 +ba6995f239974a99b582e92733f54804cdffcfe2 CAMINO_1_6_B3_RELEASE +217b95ac891e00ed903672083b947dd10776678d JSS_4_2_3_RTM +7fb62ba52b745bf08df10feda2965ba9085f0f45 JSS_4_3_2_RTM +42670ce99390b2e6c48254bf704cd07c72475be6 NSS_3_11_6_RTM +59e23ad1545085e832517235fe1deff14a060dbf sspitzer-news-tag +7be84714297b24fb508308ec8502330b5099648d SEAMONKEY_1_1_7_RELEASE +c88a943c035e60d2660bfe71c233ac6914fd49dd THUNDERBIRD_1_5_0_8_RC1 +5f61c7e93fec7936ea58fd2765956e27d8af19df THUNDERBIRD_0_3_RELEASE +6fefa4212f4cfb51b2c6f4a13561cb18609f89be FIREFOX_1_0_RC1 +01ed4c5c2eb3289f5106df66517404bdca45607b CAMINO_1_6_10_RELEASE +572532d983e2ef5e703bf570549259f5e81bb305 SUNBIRD_0_3a2_RELEASE +954609d47dfd90545ffde15b6fdf0426480814c8 NSS_RFC4507BIS_BASE +4550695818cda56048359af67c311c9e113bda1a OJI_19980521_TIP_MERGE +0204699f138a593925188d64cb389eb4d8e5629c FIREFOX_1_5_0_10_RC1 +0204699f138a593925188d64cb389eb4d8e5629c FIREFOX_1_5_0_10_RC2 +177c72e7c4869fd4d53b4ac0fb0c086c35823b4d NSS_3_12_9_BETA2 +f8b2fff2c323b1b0e170c5c210c75c70d9f9362f NSS_3_12_9_BETA1 +d95b72a458b9d0c31968953f4887a28c028b7264 IFRAME_20020207_BASE +4e10cded53b03a3e13e7e5d18735c2ef67139176 NSSCKBI_1_87_RTM +d067c0bd692a7ca8744bf8af0ce630c2ba854a2d DOM_AGNOSTIC3_BASE +6cccea315881fffb35cc622e8538a71319110331 FIREFOX_1_5_0_6_RELEASE +49494f569332042ed656c9c47040863f56732275 FIREFOX_3_0_1_RELEASE +5fe7acf221d2230daf6435acad789517e59b2271 NSS_3_12_3_RC0 +8e23ef81677b8168c4f1117fe6bc2820cf70d1e3 MOZILLA_1_8_0_1_RELEASE +6f839a5c7faa1e82dc10ea3a29373cfeb3e38691 SOFTWARE_UPDATE_20050428_BASE +2f3fb35b1f0b6e4402f22a07b5cf4713d0554a61 NSS_3_9_4_RTM +e8ae270e93c9878d9a3604126c4c5d6672ca8492 MOZILLA_1_7_8_RELEASE +54897b3f798d08193de604da1b774061dbc82883 XPC_IDISP_20020417_BASE +90065c664c2212874c25b338abb7d2347fcc8cf8 PSM_2_2_DEV_20010918_BASE +48903189063dfd561ffc80c899065bf63c22df8b FIREFOX_1_5rc1_RELEASE +2c7e5b510aec5d8518307322ee75747f7612c768 NSS_3_2_1_RTM +6cccea315881fffb35cc622e8538a71319110331 THUNDERBIRD_1_5_0_5_RELEASE +5c1ba1600106d04aeecbdd179719988499a17f6c NSS_PERFORMANCE_HACKS_BASE +67711a7eff92e28eb0cec949b425ddf95aae3de8 MOZILLA_1_5b_RELEASE +0204699f138a593925188d64cb389eb4d8e5629c THUNDERBIRD_1_5_0_10_RC1 +373d196c6959819a328c56456cb8b922738ac6ff STATIC_BUILD_20010418_BASE +1d6f69b3d13a0d9694ca91e5b0f3349de57f63d6 NSS_3_13_RC0 +3ba6a7d04cef8f3d58e2b5abce5a7f9accd0573a FIREFOX_1_5_0_4_RC2 +3ba6a7d04cef8f3d58e2b5abce5a7f9accd0573a FIREFOX_1_5_0_4_RC3 +3ba6a7d04cef8f3d58e2b5abce5a7f9accd0573a FIREFOX_1_5_0_4_RC1 +54e9a952eb63cfcf5f28c3f33e5d59ef5c2cad30 FIREFOX_3_0_4_BUILD1 +0204699f138a593925188d64cb389eb4d8e5629c THUNDERBIRD_1_5_0_10_RELEASE +0204699f138a593925188d64cb389eb4d8e5629c FIREFOX_1_5_0_10_RELEASE +6cccea315881fffb35cc622e8538a71319110331 THUNDERBIRD_1_5_0_5_RC2 +6cccea315881fffb35cc622e8538a71319110331 THUNDERBIRD_1_5_0_5_RC1 +810b3ef397f07763146ef7345cea5e867541fb1b PSM1_NSS_CLIENT_TAG_20010410 +6cccea315881fffb35cc622e8538a71319110331 THUNDERBIRD_1_5_0_5_RC4 +11ca8fd771b606823b8d2413783d3defe3aa5952 WEBFORMS_20050202_BASE +dacf455313d19b18014e7a15431a95254cb8253f NSS_3_11_10_RTM +0d2eae76373876bed100b831d33037e181c4cb6f NSS_3_7_5_BETA1 +2d1e2b255259eb9f1c08e3a76d344a6ccafb9984 DBM_1_6_RTM +c1bb5b0531802af209d3e57152d8399cf79f714c JSS_3_6_BETA1 +0b3e98e31c5abe8b80f00140d24fd2285d741c09 EMBEDDING_06192000_BASE +ba993d16b10671d97a07d67c207f921ec3bd03e7 Netscape61_RELEASE +4aad091c474f66adb2e6dd896a57c6a24de0666b NSS_3_4_BASE +878cd12cf606889785f405bb6835bf4774a69eff MAILIM_BASE +48903189063dfd561ffc80c899065bf63c22df8b MOZILLA_1_8rc1_RELEASE +7d7190045260c0103ba546cfd048881d99324994 SeaMonkey_M13_RELEASE +167f74577cbfeb1def5865bb7a5adbbf25534a95 NSS_CLIENT_TAG_20040409 +b2a5f6e25984d204a39ce33e5e3d4e6d0b4a71fa MOTIF_LAST_RITES +c367928fe47982081d6859c3a0941ef0edfbffc6 SeaMonkey_M17_RELEASE +59f5d8d37990e8efaa4c594aae709ef33475759e NSS_3_7_10_RTM +847b1a2bb3ea80f1fca770dafd7f47957ff7027e NSS_3_7_BASE +03a97a75d1bba9f79ae8f9146de16656e94a2e13 CAMINO_2_0_RELEASE +6ce47a605004208f906e04f6ee98fe95bf7c0d97 THUNDERBIRD_3_0a1_BUILD1 +352bd56fbf81abc68c52af450152bd4b767e3e30 PHT_20030715N1X_EMP_WIN +aeea57681f5651662e1d7515d093166761d6368e RDF_19990422_BASE +f5535ece0ef482b6917d91c9f80313d34a982f22 MOZILLA_1_9a8_RELEASE +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_6_RC2 +b19740097201797dff9b8c0191b111b3596e07c8 NSS_3_11_20060609_TAG +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_6_RC1 +4da0ea62942a4e16416d5081814481fdec0893f4 BUG22251_BASE +a2e4b0b3efb062629296396229cee1036157da99 FIREFOX_3_0_7_BUILD1 +a96e9869c2fbed948989616e177ed720e9e82b5d FIREFOX_3_0_7_BUILD2 +1bab34eb80c2f396c26c06072e4cb4a29c5d6456 MOZILLA_0_9_9_RELEASE +59882ebf0c486e163819c16eec44674e9e198b86 NSS_CLIENT_TAG_20060112 +0ea7bb63b6c1306ff6733730c4b5bb4213381ffa FIREFOX_1_5b2_RELEASE +4da0ea62942a4e16416d5081814481fdec0893f4 SeaMonkey_M14_BASE +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_5_RC2 +0204699f138a593925188d64cb389eb4d8e5629c FIREFOX_1_5_0_12_RC2 +c88a943c035e60d2660bfe71c233ac6914fd49dd FIREFOX_1_5_0_9_RC1 +ba6995f239974a99b582e92733f54804cdffcfe2 THUNDERBIRD_2_0_0_14_RC1 +5dc2b5845f2162c04c82b0fad34d87731b1decc5 NSS_3_8_2_RTM +e5da4f67703c46e36df3187b4963ddbe51d85248 moz_ux_20021014 +3a7af932d824710ced472fddc9d46c19a7fcc34e FIREFOX_1_0_8_RC3 +9192b30257075622d0c7f2b1ceb3a2bddc5c89fa MOZILLA_0_9_4_1_RELEASE +414c0a7abed3467347b47af148f500e5ab4b0c79 THUNDERBIRD_0_7_1_RELEASE +3ba6a7d04cef8f3d58e2b5abce5a7f9accd0573a THUNDERBIRD_1_5_0_4_RELEASE +17bce1154578ada37f7383ddee6b725e959c3a5e WEB_CONTENT_HANDLING_20070621_POST_HANDLER_SERVICE_20070720 +3a7af932d824710ced472fddc9d46c19a7fcc34e FIREFOX_1_0_8_RC7 +f667de9637780d8e306f55ffd0d208d6118769fd BOOKMARKS_20030320_BASE +e3ef7a0a5c8b7a0fa53347555921b1c7da22638e NSS_3_7_7_BETA1 +24ac93e5176ac4dd688475201c1fb5fdc9a5c269 JS_1_7_ALPHA_MERGE +f075126085f249ace3fa8262913fe1c4c474c77b NSS_3_8_RTM +055390583fe9c565c93ac202d02d0a27d4cb510f MOZILLA_1_4_4_RELEASE +b9984322c5d4b33bbaca59b9b0097636784bc561 moz_ux_20021122 +0e1d6cbb98f7f9f4b32d0e31a4292226a446da18 MOZILLA_1_9a6_RC2 +dc11e773516b4d402dde7dbb8f1928d0f7ca33a9 SEAMONKEY_1_1_16_RELEASE +0521f468017c34abe3d837de0905749cacaeddf5 MOZILLA_1_9a6_RC1 +bba89703266749c8db69cde9c5650d727a9de098 NSS_3_7_11_RTM +89066cc29aad67cab97e01b3bd663573b3ee5fb6 FIREFOX_2_0rc3_RC1 +23c1d3963b6e0a86af71e78e01110e618183cff6 XULRUNNER_20040804_BASE +b79e50420d90b7a3828331e6e02ff414f3984cca THUNDERBIRD_2_0b2_RELEASE +5f988ed650d4c474f31a7eeb3a98f9293366201f STATIC_MAKEFILES +e420b76ca6fe83d63fad03e255eb055a8ac01562 THUNDERBIRD_2_0_0_18_RELEASE +0ea7bb63b6c1306ff6733730c4b5bb4213381ffa CAMINO_1_0a1_RELEASE +14532b37417e5b7e2a81bd0a5ea5a0ad97b9e1e8 CAMINO_1_0_3_RELEASE +854cf8ab9d7b6850b343e59e17f98390e2b5c886 NSS_3_8_BETA1 +b0b943d6a02edbee874a5f5542a34ae04ef2f7e5 BookmarksOutliner_20010601_BASE +d01fcaff7c8ecda63e9918516a8d1ffdee8c22c8 NSS_3_8_BETA2 +878cd12cf606889785f405bb6835bf4774a69eff MOZILLA_1_1b_RELEASE +fac3307cceb4e39c24cf3421ceb187e9aebc401f MOZILLA_1_8a_RELEASE +503e10cc623480285a805fb50e1b37e5e539d9e1 JSS_4_3_2_RC0 +dfaacd7f7f7ff0beaf38432e767fa9a07ab04ff0 NSS_WINCE_ALPHA_BASE +48903189063dfd561ffc80c899065bf63c22df8b FIREFOX_1_5rc3_RELEASE +c35b6393f8e1600d0e34cd02ef86511d32be0a3f MOZILLA_1_4_2_RELEASE +6cccea315881fffb35cc622e8538a71319110331 MOZILLA_1_8_0_5_RC2 +0204699f138a593925188d64cb389eb4d8e5629c THUNDERBIRD_1_5_0_14_RELEASE +f9cf75f9ce77f795732fe153da55233e4079e7af SeaMonkey_M18_RELEASE +8ccd9423e541b6b867c4c86b483cc09dd9949de0 NSS_MULTIACCESS_DB_TAG_20020818_1 +6cccea315881fffb35cc622e8538a71319110331 XULRUNNER_1_8_0_5_RELEASE +c26a70d1c261846808463d9777714b30f7430eb0 NSS_3_9_5_RTM +5f61c7e93fec7936ea58fd2765956e27d8af19df MOZILLA_1_5_RELEASE +5981593d299cb1787742f4f5987e3b0fe33e859b THUNDERBIRD_2_0a1_RELEASE +4905f6e27cdb1a68929032eb61206998184f2264 jar_restructuring_base +48903189063dfd561ffc80c899065bf63c22df8b MOZILLA_1_8_RELEASE +ba993d16b10671d97a07d67c207f921ec3bd03e7 MOZILLA_0_9_2_RELEASE +e22763257b86bf276bb08ef6fd6914d69f8b0127 MINOTAUR_20030217_BASE +1551f1c621c856a1eb417b4a9f86c5db074024b5 MOZILLA_1_7_BASE +7d7190045260c0103ba546cfd048881d99324994 NSIFILE_01202000_BASE +41b0bc73dfe72a7e40eebb30ddbc3b2b4b1e5c53 MOZILLA_1_4_2003052312_BASE +90065c664c2212874c25b338abb7d2347fcc8cf8 PSM_2_2_DEV_20010917_BASE +5ce21834dcf9848f74c0632b786c9e07073e8317 NSS31Beta1 +5fe7acf221d2230daf6435acad789517e59b2271 NSS_3_12_3_RTM +3097ccfec15a42e0f6d8a73ff8739e0beeca32cc NSS_3_13_4_BASE +7be84714297b24fb508308ec8502330b5099648d SUNBIRD_0_7_RC1 +7be84714297b24fb508308ec8502330b5099648d SUNBIRD_0_7_RC3 +7be84714297b24fb508308ec8502330b5099648d SUNBIRD_0_7_RC2 +e20e156b68694ed78b15e152b98811d68691ddef moz_win_20021108 +84b44d238d0f8ae94488640c4af85f0351324144 PLUGIN_MODULE_19980708_BASE +510cd37b52629657e4ba7098a9016ed21a0b9689 PSM20_M_2_TAG +8882013b29dada6357212605c14bc1ad4e9740f9 JSS_3_7_RTM +56ad610fc9f455a05a2ccdf2550c0a3bb825abd6 SONGBIRD_20070117_01_TAG +16d4358fb8a6a61c76b20a1b7f8090d49ec235ba NSS_3_3_4_SunBeta0208 +9266c225a45a348d2624a63f15942ec6dda46016 THUNDERBIRD_2_0b1_RELEASE +f12bd322d1e800ff583675d4a2a298a11690f282 SVRCORE_4_0_2_RTM +06c35ae6a29a6ead71b5b6ab714991a130caf969 Netscape_20001030_SECURITY_MAC_RELEASE +35f4f16a363e1437e3da2cd4a034106db719891a THUNDERBIRD_2_0_0_4_RELEASE +99e5d7e17b7f96e3b84e00b5a62740112a7160ae PROGRESS_19981006_BASE +3acee38ca7805a563b86c5ca70979a105ac86108 JSS_3_1_2_2_BETA1217_3 +53d1e422a673fccbce20c1df4f95c04b94228311 CONRAD_DYN_PROFILE_TAG +0204699f138a593925188d64cb389eb4d8e5629c THUNDERBIRD_1_5_0_14_RC1 +96bfe61b7616f59d75d376ed90deb9995554f776 NSS_3_11_20060512_TAG +d05d1dcf466df00de235363390252dabf90a486a NSS_3_7_2_BETA2 +c8c41b1ebb960a7b9b935b65c0eb0e891e7a7a0a NSS_3_7_2_BETA1 +3a344fb4f4f09bbb8f9321a4b82fdc0fd894ac9e nss_20021204 +e420b76ca6fe83d63fad03e255eb055a8ac01562 SEAMONKEY_1_1_10_RELEASE +d858a1a869c92b017d982676173aadf6d21f216c EVENTSREWRITE_20000211_BASE +c391f2239374d7333ca70124e663bc5362257980 SUNBIRD_0_3_1_RC2 +79171f1b8b016d3ff0e49a6f9a1a0c795575f90e SUNBIRD_0_3_1_RC1 +01ed4c5c2eb3289f5106df66517404bdca45607b CAMINO_1_6_9_RELEASE +c391f2239374d7333ca70124e663bc5362257980 UPDATE_PACKAGING_R7 +c391f2239374d7333ca70124e663bc5362257980 UPDATE_PACKAGING_R6 +c391f2239374d7333ca70124e663bc5362257980 UPDATE_PACKAGING_R5 +c391f2239374d7333ca70124e663bc5362257980 UPDATE_PACKAGING_R4 +c391f2239374d7333ca70124e663bc5362257980 UPDATE_PACKAGING_R3 +c391f2239374d7333ca70124e663bc5362257980 UPDATE_PACKAGING_R2 +c391f2239374d7333ca70124e663bc5362257980 UPDATE_PACKAGING_R1 +95155f15988161ac97c2254f92a65e7ca28d33c0 JSS_3_1_2_3_BETA +2203a5e21dab158988c7483ad9be389a408b18bb SeaMonkey_M16_BASE +c391f2239374d7333ca70124e663bc5362257980 UPDATE_PACKAGING_R9 +c391f2239374d7333ca70124e663bc5362257980 UPDATE_PACKAGING_R8 +ea11cd7484b0fd48410d7220d310f299bed21b63 SECURITY_3_3_9_RTM +76948ea3cd05295da0a1e5398fe10f70007973bd SUN_SECURITY_3_9_3_RC2 +adbd8452af939993da636a9a41d36a9e076bf2f6 NSS_3_12_3_2_WITH_CKBI_1_73_RTM +ba439ec992d9cdfa5d2a54c8e899368fc896f508 ROGC_20030115_FREEZE +a8aabd73d18922b73d9520e33a3748c0e840d46f PHOENIX_0_2_RELEASE +4d4ea6d83808079faa3126bf6108110cca39c687 MOZILLA_1_6_RELEASE +d3f7f2bb794bfc0b533d90433bdfdf524e3b4d67 FIREFOX_1_5_0_2_RELEASE +7be84714297b24fb508308ec8502330b5099648d THUNDERBIRD_2_0_0_5_RELEASE +8771b9ae850948f48e3310ce539506bfd8d2a08f FIREFOX_0_8_RELEASE +59e23ad1545085e832517235fe1deff14a060dbf RDF_19990617_BASE +fd066fec60066720eb4766f7025652312ca3afe0 EMBEDDING_08042000_TAG +f26a310625fe446f8502d6fc14d397ff52792e1d NSS_PRE_PKIX_MERGE +976c9c32b09f3e74549110ebbcdbd4de70a85197 NSS_3_7_7_BETA2 +d56a7c7f33ab08bdd556c759163a1af770672780 MOZILLA_1_0_2002082307_TAG +9969922516850c6d5eab38d2f96d1e2612079d3b SUN_SECURITY_3_3_11_RTM +491cbb335f9ed16577e97740704dc8b71fa5e6aa IBMBIDI_20000809_BASE +414c0a7abed3467347b47af148f500e5ab4b0c79 FIREFOX_0_9_2_RELEASE +1c7e1f7aa3b5d76bd3cb75dc84609a426c69fe49 NSS_3_7_1_RTM +a68ad6ea6f21ac1e4d9dffb60d2dae48f9155b74 XPCOM20_BASE +54e9a952eb63cfcf5f28c3f33e5d59ef5c2cad30 FIREFOX_3_0_4_RELEASE +7c2bd982b5f5e2a99c4fe896ab2803acd622d4a1 NSS_3_11_5_WITH_CKBI_1_65_RTM +1ae61eee09957f676ed446dcc380a9d75d9563ec NSS_3_12_11_BETA3 +d3f7f2bb794bfc0b533d90433bdfdf524e3b4d67 FIREFOX_1_5_0_3_RELEASE +13461792615b44518d06c1b6f7d0291bf70d6cdb NSS_3_12_11_BETA1 +473b78fd73336b1bf7b1b694f12a33d5e26d0ff2 FIREFOX_3_0_9_RELEASE +fcf0fd741e3491feb6cd51ba746893ced68b4b47 NSS_3_12_CKBI_1_88_RTM +aeea57681f5651662e1d7515d093166761d6368e ENUMERATOR_19990424_BASE +4d75747933494fffead0b07e5c7f1a3d7718fec8 Accessible_042401_Base2 +822f941621d97d78684aeaf60575b170d66b1a2f Netscape_20001102_SECURITY_MAC_RELEASE +5f61c7e93fec7936ea58fd2765956e27d8af19df THUNDERBIRD_0_3_BASE +4550695818cda56048359af67c311c9e113bda1a NORMANDY_BASE +1a23a394ca93e64eaab3691272819a58df41cd4a NSS_3_12_11_BETA2 +7be84714297b24fb508308ec8502330b5099648d SEAMONKEY_1_1_5_RELEASE +a1e43ca5b9a7b58e142fbfdbda5c0530b2bd95b4 SeaMonkey_M15_BASE +759866c756ff4a032a532e2a98abede3d9891f4f XUL_CONTENT_MERGE_20010220_BASE +95f338670ca1de0f1b4e3582939461d23d65c51f XTech99Stable +bc9f69fbce9ead7dd8df43851c977e4643987287 nsstip_20020225 +bceda4ff76619e3fe4086e93ac54baeeb467807c BSMEDBERG_SECURITY_PLAYGROUND_20050512_BASE +141884735c1c74fa162ca280d76b18f4274b0ec9 NSS_3_4_4_BETA1 +e420b76ca6fe83d63fad03e255eb055a8ac01562 SEAMONKEY_1_1_11_RELEASE +0d419fc8cbf2a0e7e08ce5f45dd1439878896d04 FIREFOX_1_1a1_RELEASE +4550695818cda56048359af67c311c9e113bda1a XPCOM_BASE +878cd12cf606889785f405bb6835bf4774a69eff UNINSTALL_WORK_BASE +35f4f16a363e1437e3da2cd4a034106db719891a THUNDERBIRD_2_0_0_0_RC1 +a856ccb677ac47b31d0533cfbfe2b7d36a3ef21b NSS_3_14_1_RC0 +27ea66d5ca88f95e525e0944852df64039444e46 MOZILLA_0_8_1_20010326_RELEASE +2618cfd419d58338a4da5887dffcd8e2d17a5033 PHT_20030430N6_MAC_FREEZE +6aea17142730f8126dcca0c0ba0556703efc5e7e moz_win_20021026 +68d33d0a623c736d926a8555d5ce6166b8a96f3c moz_win_20021122 +35f4f16a363e1437e3da2cd4a034106db719891a FIREFOX_2_0_0_3_RELEASE +c391f2239374d7333ca70124e663bc5362257980 UPDATE_PACKAGING_R13 +3a7af932d824710ced472fddc9d46c19a7fcc34e THUNDERBIRD_1_0_8_RC1 +3a7af932d824710ced472fddc9d46c19a7fcc34e THUNDERBIRD_1_0_8_RC2 +13f9e760533b9d2c1b91bcb9794073be7f3b7ec1 REFLOW_20020502_BASE +7b3a9098eb7b79f62772498c3a7d9e595e41a724 NSS_3_10_RTM +c391f2239374d7333ca70124e663bc5362257980 UPDATE_PACKAGING_R14 +ab29fd38870c85241458adb8af3f3b9bfaf8e84a PHT_20030722N9_MAC +f54a7c45f5c9ea90a850e84dd114c62e2495cdfe NSS_3_3_3_RC010903 +d2921dab9cb7cd25c6dd02e757f9036d27f2ea1a NSS_3_7_BETA1 +7184f01bac1bcb63a5bf8270b6c3eaeebe73eb78 NSS_3_14_RC0 +5997831da35e43b29b7482aa25edb7fcbc47ca14 no_neckoutil_base +26ff794152d6f358e9c812ed78de0c89ec1b282d FIREFOX_3_0_2_BUILD1 +78df08bd0f501d4127736003ce4330a58638e4f6 AVIARY_1_0_1_20050124_BASE +755506f1cfb04791061cd597a4342e03e27950ba MOZILLA_1_0_20021107_TAG +649f546fd9f11d88566c6ead2ed1ec30cbee3027 NGLayoutStability_BASE +d9d948f13623443b484b3a5efb81a57ec24ba48d MailNews_Performance_20010208_BASE +48903189063dfd561ffc80c899065bf63c22df8b CAMINO_1_0_BETA_1_RELEASE +ce961c69b3aa3aeb07d173ec3c53401aa90147c2 MOZILLA_1_3_1_RELEASE +eaa238db0dcc2d220cbf51a4ff7c4b7924af978f PAVLOV_20020924_TAG +081bf4d26b775342c97ad6cc13012306eb30e148 THUNDERBIRD_2_0b2_RC1 +1282ee0321d1db3edd387774e5ee1d2922066e12 NSS_3_4_RTM +35f4f16a363e1437e3da2cd4a034106db719891a LIGHTNING_0_5_RELEASE +7be84714297b24fb508308ec8502330b5099648d SEAMONKEY_1_1_4_RELEASE +8ab2a547794830fd2bca4f3f17ed23a01b5526e9 NSS_3_3_RTM +0953cd98ad6b8ae86af6b3feabd6203e6dcd36bd FIREFOX_3_0_12_BUILD1 +bef33904cfbd2dde5c56e44e56aef16db40934f3 DBM_USING_NSPR_BASE +b1362c81cf6076a69e46e3f721f99091eeb058cc PHT_20030402N5_MAC_FREEZE +2f6364db5fc1a500471fa7cfcfeb4104f97ad997 NSS_3_3_4_RTM +3a344fb4f4f09bbb8f9321a4b82fdc0fd894ac9e NSS_3_6_1_RTM +6d83a09a41b998fd4bed00dd09c6b1e715e53782 THUNDERBIRD_M3_BASE +ae603aa9c076524cb252dd909e706e0a69d552df Netscape_20001106_SECURITY_MAC_RELEASE +61145d53c2f7e265e3cef3a4f145d0b965de73ee NSS_3_10_2_BETA2 +849f41e1a6ae01d7cb43638e97e5f2426c47114a OJI_19980618_TIP_MERGE1 +20fb8f1b986f73a083a0b7a4ad5494a95772c906 NSS_3_10_2_BETA1 +0204699f138a593925188d64cb389eb4d8e5629c CAMINO_1_0_4_RELEASE +b12a8fd939102db44831e81a6ecd087442659395 FIREFOX_3_0_6_BUILD1 +a5194743a3a75ea4fef99a22118fd6096d06bcd8 MOZILLA_0_7_2000122616_BASE +6350419f79256ee95b17a2e78fc1a628b23f2e20 Netscape_20001027_SECURITY_MAC_RELEASE +44950cf416167feedb145bd4319ab697cfe3f18a ROGC_20020802_FREEZE +79171f1b8b016d3ff0e49a6f9a1a0c795575f90e SUNBIRD_0_3_RELEASE +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_12_RELEASE +649f546fd9f11d88566c6ead2ed1ec30cbee3027 OJI_19980727_BASE +e420b76ca6fe83d63fad03e255eb055a8ac01562 FIREFOX_2_0_0_16_RELEASE +080c63632fc11751f99da867600e337858a4658a DOMAPISTRING_20000811_BASE +b441456009a9eccdf7b94356d66abc366ffc6ce1 JSS_3_X_BASE +93a0f0ede34f4f7ad5f3decd412516ebb75116ca RMCH_20021105_BASE +2a927d5fafd1c3632c12f535a56cad9254bc1714 NSS_3_12_8_RTM +822f941621d97d78684aeaf60575b170d66b1a2f Netscape_20000922_SECURITY_MAC_BASE +e9d99d9ea9f999f0c38406ca16c6f4cbb7984668 Netscape_20001031_SECURITY_MAC_RELEASE +9192b30257075622d0c7f2b1ceb3a2bddc5c89fa NETSCAPE_6_2_2_RELEASE +564b586f642ba07b7b466f523df3835ff7f12e71 NSS_3_4_4_RTM +d56a7c7f33ab08bdd556c759163a1af770672780 CHIMERA_M1_0_1_BASE +55e6434e6fcba3ae8509e422b5400d0a8ca0cb8a CAMINO_2_0_9_RELEASE +3e16c836a7904eb6f32af41323f13d8234531049 NSS_3_12_5_RTM +e8f3d581ee044e6d1413c04c0ed9e187e4b6812a PSM_1_4_N6 +6c04d40a7d1ef3b3122f67d4a463b7383be7c9c6 THUNDERBIRD_1_0_6_RELEASE +aba810605bbf82c15acec39412c91614f316d295 NSS_3_8_BASE +6f9aa1ffaa0b14f82566a2d6f82bdc085f75a89d NSS_3_0_1_RTM +e050139ed2c202c45311706d7ae335ce51b4d45d JSS_3_1_2_3_RTM +9192b30257075622d0c7f2b1ceb3a2bddc5c89fa PSM_2_2_DEV_20011002_BASE +b8c1c85e0c8d869eedd6b88856ff8528290742b4 JSS_3_2_BETA2 +0cff5c0907952b5d1f3235fdd2ac6064b47fe0f5 NSSCKBI_1_64_RTM +3b660c2f5956413a4c79349cd81fa3209e2088a7 NSS_3_7_3_RTM +b817195daf21c90a3da38749205e5bd249cc2c56 THUNDERBIRD_0_4_BASE +fac3307cceb4e39c24cf3421ceb187e9aebc401f MOZILLA_1_8a2_RELEASE +c1bb5b0531802af209d3e57152d8399cf79f714c JSS_3_6_RTM +dc11e773516b4d402dde7dbb8f1928d0f7ca33a9 THUNDERBIRD_2_0_0_21_BUILD1 +d56a7c7f33ab08bdd556c759163a1af770672780 MOZILLA_1_0_20020805 +3a7af932d824710ced472fddc9d46c19a7fcc34e THUNDERBIRD_1_0_8_RELEASE +0d5799d6507ac32db842e16952bb722ced078ae8 NSS_3_14_CKBI_1_93_RTM +755506f1cfb04791061cd597a4342e03e27950ba MOZILLA_1_0_20021120_TAG +0ba7c8c213a95bbb00cc7d7f881c30a1247516f8 NSS_3_11_20060929_TAG +abdf60919472a32115522033e62280e3a2b4fa21 RDF_122898_BASE +59653acdf896e598a69cd9e1e23078326b84e9d2 NSS_3_2_1_RTM_SOLARIS_X86 +2c828564cb8fc71d32ddbc5630b883f58554631d PRINTF_HIGH_WATER_TAG +35f4f16a363e1437e3da2cd4a034106db719891a SEAMONKEY_1_1_2_RELEASE +290a94ec0937e0a662f2a4c7e747174c5820fe18 NETSCAPE_7_2_RELEASE +21ca13541c4218e0d5389fcaa3b163225a06eb04 NSS_3_11_RTM_SUN +5bf2d4ba1ec6ab1269cc2782ef4005794d6da046 ROGC_20020930_FREEZE +0ea7bb63b6c1306ff6733730c4b5bb4213381ffa SPLITWINDOW_20050714_BASE +36cd97617f86f952833418d3c91f7049dcaa7ece MOZILLA_1_8a4_RELEASE +a5cd7c8f874e1b9d960b884ca92e92f2fb928368 SeaMonkey_M8_BASE +93a0f0ede34f4f7ad5f3decd412516ebb75116ca MOZILLA_1_2_2002110512_BASE +53d84b43519450b07edabbc3b0bb55911197b53b CAMINO_2_0_B3_RELEASE +01ed4c5c2eb3289f5106df66517404bdca45607b THUNDERBIRD_2_0_0_24_RELEASE +7d3dbc6bdd479a0a6bd7e18e9bc0462bd62a929c NSS_3_11_TPATCH_20051221_V2 +e684e13c554647b60603279831ef9b876c7148a6 NSS_3_11_TPATCH_20051221_V3 +7d7190045260c0103ba546cfd048881d99324994 NSIFILE_01192000_BASE +7bcee4dfef5b5c447adb13e6401ecad9f27de5c5 StyleMagic_0509_Branch +7313c3510a25726b60d37d291d8fdfbf4729d8e8 MOZILLA_1_7_RC2 +23c1d3963b6e0a86af71e78e01110e618183cff6 MOZILLA_1_8a3_RELEASE +35f4f16a363e1437e3da2cd4a034106db719891a FIREFOX_2_0_0_2_RC4 +35f4f16a363e1437e3da2cd4a034106db719891a FIREFOX_2_0_0_2_RC5 +35f4f16a363e1437e3da2cd4a034106db719891a FIREFOX_2_0_0_2_RC2 +e420b76ca6fe83d63fad03e255eb055a8ac01562 FIREFOX_2_0_0_19_BUILD2 +e420b76ca6fe83d63fad03e255eb055a8ac01562 FIREFOX_2_0_0_19_BUILD1 +35f4f16a363e1437e3da2cd4a034106db719891a FIREFOX_2_0_0_2_RC1 +7313c3510a25726b60d37d291d8fdfbf4729d8e8 CAMINO_0_8_BETA +a37a530063f216776c3b2712b714a72fe1622ac7 logging_102900_base +a856ccb677ac47b31d0533cfbfe2b7d36a3ef21b NSS_3_14_1_RTM +e0c99d6dc0c5594b8f21ef39ffe078b4fea0784b LDAPCSDK_5_1_6_RTM +7be84714297b24fb508308ec8502330b5099648d FIREFOX_2_0_0_6_RELEASE +59e23ad1545085e832517235fe1deff14a060dbf TREEWIDGET_19990616_BASE +98574f9c5ed9a02225940a653a35e73a331baf61 PROGRESS_19980824_BASE +0ea7bb63b6c1306ff6733730c4b5bb4213381ffa THUNDERBIRD_1_1a2_RELEASE +1e37485b164061c6531abd620b1b10605a6e8289 sspitzer_09292000_base +b26a2ea0ba6f48ae96df60e533379e33a3da1880 NSS_3_4_RC2 +c391f2239374d7333ca70124e663bc5362257980 UPDATE_PACKAGING_R10 +9da381d0b519634cb46a6adafff7aeacb9b866e8 NSS_3_4_RC1 +89066cc29aad67cab97e01b3bd663573b3ee5fb6 FIREFOX_2_0rc3_RELEASE +1a6fe0ff2f39d0d90651339526db943620dc499d NSS_3_12_6_RC1 +2bc3ed49e6002fadb04b784042e2b8f2f31d1d10 NSS_3_9_BASE +3ba6a7d04cef8f3d58e2b5abce5a7f9accd0573a MOZILLA_1_8_0_4_RELEASE +78df08bd0f501d4127736003ce4330a58638e4f6 FIREFOX_1_0_1_AUP_RELEASE +56a22086efc51d0191f0f3ae25c69375f994baa1 NSS_3_11_7_RTM +b4c20512a0ec6eaec0584270c6448bbc12de0aef OTIS_TEST_BASE +4cfaf50f384009e654c9380148ea60876a9507c7 NSS_3_12_2_RC1 +03a97a75d1bba9f79ae8f9146de16656e94a2e13 CAMINO_2_0_7_RELEASE +c66830e773ee97e88e099d0d8fe4890b54e4ba77 JSS_3_2_RC +a5289db93178866ad6dcdcde1fa8c6c190f1aed8 JSS_3_1_2_1_BETA +f9d578612c814e952bfc9518cdcb5a18f0e1fbab NSS_3_4_5_RTM +258e70009023da458db86f2634f904f3e738be8b ROGC_20030129_FREEZE +f21b6ea6e3bb80bec12e0ac08e945eb65863ff9a DOUGT_CHANNEL_PRELAND_02092001_1600_BASE +0204699f138a593925188d64cb389eb4d8e5629c SEAMONKEY_1_0_9_RELEASE +5f61c7e93fec7936ea58fd2765956e27d8af19df MOZILLA_1_5_20030910_BASE +74f0317662560ad5863e824cc1f993495bfddd43 REDFIVE_MEMBUF_20060320_BASE +2086b3a98271f5c46675d302dbe99b5f238ad893 NSSCKBI_1_86_RTM +425b5a3f8ab127343c82ccfbaa60d70ce6bf1a56 MOZILLA_1_7_13_RC4 +425b5a3f8ab127343c82ccfbaa60d70ce6bf1a56 MOZILLA_1_7_13_RC1 +c06df0e3606d0d978c4a6e26c9a8ef47176514ac CAMINO_2_0_A1_RELEASE +425b5a3f8ab127343c82ccfbaa60d70ce6bf1a56 MOZILLA_1_7_13_RC3 +425b5a3f8ab127343c82ccfbaa60d70ce6bf1a56 MOZILLA_1_7_13_RC2 +a63d1ecaa8cc41060dd265641e8f7f57212e0763 SeaMonkey_M16_RELEASE +d56a7c7f33ab08bdd556c759163a1af770672780 MOZILLA_1_0_2002082208_TAG +050cebf213f48713b18b901827e3e2997e7e2ef3 SeaMonkey_M4_BASE +681d1c4fc481c4d268b38e827d1bb80c1b068d35 LayeredDOM_20020307_BASE +c391f2239374d7333ca70124e663bc5362257980 MOZILLA_1_9a2_RELEASE +b0b943d6a02edbee874a5f5542a34ae04ef2f7e5 MOZILLA_0_9_1_RELEASE +18a8351ce780d674a1de7379b49365043f05dbb2 NSS_3_11_2_BETA_20060428_TAG +dab44cb4ff24bff19675fc8da91ed9503790e7b9 nss_3_12_5_BETA2 +7d7190045260c0103ba546cfd048881d99324994 ANDREAS_URL_BASE +8d453e57dba947490eb8916d92e42b4c93bcc2a1 NSS_3_12_6_RTM +3ba6a7d04cef8f3d58e2b5abce5a7f9accd0573a THUNDERBIRD_1_5_0_4_RC2 +3ba6a7d04cef8f3d58e2b5abce5a7f9accd0573a THUNDERBIRD_1_5_0_4_RC3 +3ba6a7d04cef8f3d58e2b5abce5a7f9accd0573a THUNDERBIRD_1_5_0_4_RC1 +03a97a75d1bba9f79ae8f9146de16656e94a2e13 CAMINO_2_0_B4_RELEASE +ee7d0c4701fef6a3be15d483acc3e0240bb1a683 NSS_CLIENT_TAG_20040303 +3420d52641c13ac7462b914d48bb257e9c99beb5 NSS_CLIENT_TAG_20040304 +7aec8c9c784aeefffbf47efc4c004df69f3d8743 NSS_HEAD_BEFORE_RFC4507BIS +0ea7bb63b6c1306ff6733730c4b5bb4213381ffa MOZILLA_1_8_SVG_BASE +acf0bf340ac17616e178a5985446a12358a254fc NSS_3_11_20060731_TAG +b0b943d6a02edbee874a5f5542a34ae04ef2f7e5 Netscape61_PR1_RELEASE +35f4f16a363e1437e3da2cd4a034106db719891a CAMINO_1_5_RELEASE +01a18056c669163e920cf6b269f7a6bdee6e0168 NSS_OTIS_RELEASE_1 +18732b8e79abc6927466b191823c4a6cde1c85e7 NSS_3_12_7_BETA2 +03a97a75d1bba9f79ae8f9146de16656e94a2e13 CAMINO_2_0_4_RELEASE +a0907633358b9053cd26589cf43ddff519293d60 STRING_20040119_BASE +2879b58af3e9fc8fc2f6be6965d2668e1468b6e0 MOZILLA_1_4b_RELEASE +414c0a7abed3467347b47af148f500e5ab4b0c79 THUNDERBIRD_0_7_2_RELEASE +935f7629444ec35e5e4edfaf4d415297436fdee0 NSS_3_6_BRANCH_20021026 +e8ae270e93c9878d9a3604126c4c5d6672ca8492 MOZILLA_1_7_11_RELEASE +7313c3510a25726b60d37d291d8fdfbf4729d8e8 AVIARY_1_0_20040515_BASE +b1c4aad79b9cad0500b4dff87e030ab21a74e342 DBM_1_61_RTM +6c04d40a7d1ef3b3122f67d4a463b7383be7c9c6 THUNDERBIRD_1_0_7_RELEASE +055390583fe9c565c93ac202d02d0a27d4cb510f MOZILLA_1_4_3_RELEASE +d5dbf8256b66065233155c167a0454f6d18e3132 MOZILLA_1_4_1_RELEASE +c391f2239374d7333ca70124e663bc5362257980 NSS_3_11_5_RC1 +26e0015555dfdd69163fbf90dbe3179cfc1a3520 NSS_CLIENT_TAG_20040128 +d56a7c7f33ab08bdd556c759163a1af770672780 MOZILLA_1_0_20020920_TAG +7324ca828210ba063e0e834372517044a75369ed REFLOW_20020412_BASE +c09a9cb74db94d0bd06d5cf8f1a7db97a51b54f0 NSS_CLIENT_TAG_20040123 +314e0676263bfd048a8c5a08291d3861e67d1cba NSS_CLIENT_TAG_20040124 +ac7a36b265c44efefad9c0aca4312002d1f0d416 NSS_3_14_3_BETA1 +5f61c7e93fec7936ea58fd2765956e27d8af19df MOZILLA_1_5_RC1 +878b45f1eabc199c39adaf99a4d3c0b3ac62b053 SeaMonkey_M6_BASE +5f61c7e93fec7936ea58fd2765956e27d8af19df MOZILLA_1_5_RC2 +bb7684c1b39e993f0c83b0bcb2bf55183d42f2e7 NSS_3_12_9_WITH_CKBI_1_82_RTM +2c223b79cacfcb4a5abe9b9fe316ca270e442877 FORMREWRITE_20011008_BASE +4d6bbc197d90104caf52c5b16937c7f9b22b9123 WINCE_PORT_BASE +c1159073815c4ca5eecf088007836116efc08c22 MOZILLA_0_9_4_BASE +c391f2239374d7333ca70124e663bc5362257980 UPDATE_PACKAGING_R12 +5ffd00788b370b8844d5f13b7613ac32202e5f14 NSS_3_3_4_7_RTM +c391f2239374d7333ca70124e663bc5362257980 UPDATE_PACKAGING_R11 +a60b8eaa9821d61cf883dd68225ce499633ea38c MOZILLA_1_2b_RELEASE +f5797124e4ed7fe1ada40c18b032806e9ddf3c35 SECURITY_3_10_RTM +c1d3c498cc8499c604f40dac7ec4ae19934637e4 NSS_3_13_5_BETA2 +2a927d5fafd1c3632c12f535a56cad9254bc1714 NSS_3_12_8_RC0 +49494f569332042ed656c9c47040863f56732275 FIREFOX_3_0rc2_BUILD1 +17de7a1fc871ca4e2c8f7b3fb24fe45d3f84399b ANGELON_MOZ_14_BR_BASE +eb7dc83e18f3d5d8cbc49cc03d8b863dd87e2eed CAMINO_2_0_B2_RELEASE +97d942112a6e3fb10ef3718eaa02eaf2eea8fa0b NSS_3_12_ALPHA_2B +dc11e773516b4d402dde7dbb8f1928d0f7ca33a9 THUNDERBIRD_2_0_0_22_RELEASE +1d6f69b3d13a0d9694ca91e5b0f3349de57f63d6 NSS_3_13_RTM +e4232f4ce084ac8095eafd7a35c1531dcfed95b0 NSS_3_12_4_FIPS1_WITH_CKBI_1_75 +d742586206ef215fec0b4cd42bb459389c0e04fb SUN_COMPONENT_PACK_V_1_1 +0204699f138a593925188d64cb389eb4d8e5629c FIREFOX_1_5_0_11_RELEASE +d3f7f2bb794bfc0b533d90433bdfdf524e3b4d67 MOZILLA_1_8_0_3_RELEASE +3a7af932d824710ced472fddc9d46c19a7fcc34e FIREFOX_1_0_8_RELEASE +d30e0acc0f97c53b634d1827dab3d83f42c66b8a WTC_20011211_TAG +115493efb659a4a273f5109d12189ca13e188e90 NSS_3_6_BASE +4a05ace60d1c6e26b38fb2ce0c1b57cbddf668f1 NSS_CLIENT_TAG_20011201 +4abd9fbe6b61db6441eea5c3a3229e4d36fb433e NSS_3_4_BETA1 +31071e8ac7bea52e2ce0ff99ef1433c89ed1b596 NSS_3_4_BETA2 +aeea57681f5651662e1d7515d093166761d6368e SeaMonkey_M5_BASE +7715006624d53192b62b8b794b9209acec278c72 NSS_3_13_3_RTM +3e22879011b4d2e8482da5b5034e0d56a7a2118d CHIMERA_0_6_RELEASE +8d4c87d8de45e4ed8f55cbb2488990e43d2ba135 NSS_3_14_RC1 +1df059bf932c6635166cb681da1936a7bf584e5e NSS_3_4_3_RTM +f54a7c45f5c9ea90a850e84dd114c62e2495cdfe NSS_3_3_3_RTM +6da15a4d29436ae4f0d6f188fb2e0c5cb6c6eea2 NSS_3_11_TPATCH_20051221_BASE +e8ae270e93c9878d9a3604126c4c5d6672ca8492 MOZILLA_1_7_12_RELEASE +e5e5d5eed1ed0e727e139a16dc9b46349a57a744 MOZILLA_0_9_3_2001_07_31_BASE +c2499b79f19c0673b94da30d07c5c6fd2517fa00 FIREFOX_3_0_12_RELEASE +14eb8abb4638a8ae027d655d2ca8a02536fc6c56 NSS_3_11_20060424 +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_16_RELEASE +6cccea315881fffb35cc622e8538a71319110331 XULRUNNER_1_8_0_5_RC5 +6cccea315881fffb35cc622e8538a71319110331 XULRUNNER_1_8_0_5_RC2 +35f4f16a363e1437e3da2cd4a034106db719891a CAMINO_1_1_B_RELEASE +6b8bf0d6dfcdf51999552de95bb9a46c75d5a996 NSS_3_3_2_BETA1 +a2ed6481a6220535a01c096a913614f31681553b MINIMO_6_AUG_2003_TAG +7c1be942caa54d4052fb8c698a5d6585305022b0 STATIC_BUILD_20010612_BASE +2618cfd419d58338a4da5887dffcd8e2d17a5033 phtmoz_20030411 +a3917dc19461a6170dd7ed09d147b1531387934d NSS_3_5_BASE +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_18_BUILD1 +ba6995f239974a99b582e92733f54804cdffcfe2 FIREFOX_2_0_0_14_RELEASE +cec783c22db3fa5960bafef8eb2a7c53e7411e44 CHIMERA_0_4_RELEASE +49494f569332042ed656c9c47040863f56732275 FIREFOX_3_0_1_BUILD1 +4188510dff21b47fdd09895d4a53db7a868c4579 smimetk_branch_point +49494f569332042ed656c9c47040863f56732275 FIREFOX_3_0rc3_BUILD1 +a7bc329c9fce423691225654496b5f31d0b16c10 PHOTON_MOZ_PR1_BASE +1386befef3c0724b11c72b8fe853ac8fc3306293 moz_win_20021104 +89066cc29aad67cab97e01b3bd663573b3ee5fb6 MOZILLA_1_8_1_RELEASE +5a0f11679f74878ce94a74e548e793d13b321e7c NSS_3_11_9_RTM +3e567c06f1d22c3e9dcd701f0f1dd4ad74465649 COMMANDLINES_20050109_BASE +9287cd8ce872e8d04e5f3bfe53ee80b359daa704 MOZILLA_1_9a5_RELEASE +765409bf73c650471a462f5594b62b807cf64cf4 NSS_3_11_3_RTM +6cccea315881fffb35cc622e8538a71319110331 XULRUNNER_1_8_0_5_RC4 +e021d7b808ef6e5084857e87255927cbe6f77d3e FIREFOX_3_0_11_BUILD1 +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_17_BUILD1 +2d2d8ebc0fd9e943169eebc7e8a7af2a62802655 FIREFOX_3_0_11_BUILD2 +02a629203fde11cf355b0332b31d9500c9a8d8a4 FIREFOX_0_9_3_RELEASE +57d1e3da55bf5ef42330058b38daeca6dbc060ca JSS_3_3_1_RTM +5f61c7e93fec7936ea58fd2765956e27d8af19df FIREBIRD_0_7_RELEASE +4da0ea62942a4e16416d5081814481fdec0893f4 SeaMonkey_M14_no_crypto_RELEASE +2c223b79cacfcb4a5abe9b9fe316ca270e442877 MOZILLA_0_9_5_2001100514_BASE +4d75747933494fffead0b07e5c7f1a3d7718fec8 XPCDOM_20010329_BASE +0204699f138a593925188d64cb389eb4d8e5629c FIREFOX_1_5_0_12_RELEASE +f59c163608f638e1f477154bab01cc1a148a40da NSS_3_6_BETA3 +ee024c01630e48be11fa434a74264152dde45025 NSS_3_6_BETA2 +fcfa66149d64bbaf5fb3c18ed111b820dac1f011 NSS_3_6_BETA1 +c88a943c035e60d2660bfe71c233ac6914fd49dd SEAMONKEY_1_0_6_RELEASE +4ec19fb0a28aa33b2f7c2b9e236b17b91a78473e ROGC_20020603_FREEZE +755506f1cfb04791061cd597a4342e03e27950ba NETSCAPE_7_01_RTM_RELEASE +64df868e1499020698e6fde96f515e74846ff5d7 NSS_CLIENT_TAG_20010815 +6e8ecbafa77b55a73eec35f59f30865a3d6cc4dc ANGELON_MOZ14_BRANCH +854c64b88c97f3c2bd96fa3c3a299fe9d3f87353 PSM2_NSS_CLIENT_TAG_20010410 +6c04d40a7d1ef3b3122f67d4a463b7383be7c9c6 FIREFOX_1_0_4_RELEASE +8d453e57dba947490eb8916d92e42b4c93bcc2a1 NSS_3_12_6_RC2 +695b1851fe28a03557f0d7e54f66e056825cd866 NSS_3_9_2_RTM +c3c4bde10b125933b7887d10df387fd5f7c72103 NSS_3_12_6_RC0 +c61d9cca831de4ba8c0af01d17af488a678391cc Style_20010518_Base +71ed92981bb1622f9f43e8408a448434aa441d08 nss_20021126 +01d5eb6e11c9dda320b027967aa699e346b8e52f NSS_3_9_RTM +4274f7f44da42be12e4a6d61d2decc1c2e724669 moz_ux_20021009 +03a97a75d1bba9f79ae8f9146de16656e94a2e13 FIREFOX_3_0_19_RELEASE +414c0a7abed3467347b47af148f500e5ab4b0c79 FIREFOX_0_9_RC1 +a4335347980e2a8f1fd16c457aa4c5a6ef9a8d16 MACHO_20010807_BASE +9969922516850c6d5eab38d2f96d1e2612079d3b NSS_3_3_11_RTM +7d7190045260c0103ba546cfd048881d99324994 SeaMonkey_M13_BASE +7be84714297b24fb508308ec8502330b5099648d CAMINO_1_5_3_RELEASE +35f4f16a363e1437e3da2cd4a034106db719891a THUNDERBIRD_2_0_0_4_RC1 +4b35c867487dc6071728d674450b92e5b077c7a8 MOZILLA_0_8_20010215_RELEASE +65b89f5866dc702281bac2b7444a61c774db53f6 NSSCKBI_1_77_RTM +7340dd2801496439f217ebc4ceb234f012fc8906 JSS_3_3_BETA1 +f3b3d3573b7a373a1a4b0d063af9f83f2ca1a255 SUN_SECURITY_3_9_3_O3B7 +c985023260e1c916695dbb9588e2aab554ef951a NSS_3_14_3_RC0 +e5e5d5eed1ed0e727e139a16dc9b46349a57a744 MOZILLA_0_9_3_RELEASE +48903189063dfd561ffc80c899065bf63c22df8b THUNDERBIRD_1_5rc2_RELEASE +8cac54a0b75698ca9fce7d622a8764081568c038 JSS_4_3_1_BETA2 +8b2a6b06539153448d895d3d83a32546ad94bc7b NSS_3_15_BETA1 +d8870eaa2c43c883fac1468f4713c5e49fc27921 NSS_3_15_BETA2 +3986289106f1b63df43e46162764ef1865b06afb NSS_3_15_BETA3 +b610af8addaae00ced09ea0f0a3bf7bc416fe8ff NSS_3_15_BETA4 +d0cf1feff4dc491d14a1691f7aae42d886676593 NSS_3_15_BETA5 +3c2b5c42ce91cd3e5d284f53e03e969fcbcdcf9b NSS_3_15_BETA6 +db5b7e3c69a546bf6783622b56e477251b768818 NSS_3_15_RTM +5577feb2791a307c47d81ea4de7023dab7247b56 NSS_3_15_1_BETA1 +17df3000588ab7342073e4e02c76c84f8039813c NSS_3_15_1_BETA2 +05ffc38de8b4a1f0248fa41da52c6aed3a8c5b75 NSS_3_15_1_RTM +2ab64817f70320cf974c901e3d020f297f2a55c7 NSS_3_15_2_BETA1 +827c64ac482fcaf3b5af183ed4bba2a021706eac NSS_3_15_2_BETA2 +0dafe7df1dde7de5726b3c67c43544817bb2f574 NSS_3_15_2_RC0 +d7713e6888f1306b8f4e8afe6e5f897360007362 NSS_3_15_2_RTM +c2e4eb8d2ede1a95405d9b72b76b67ff3dd209a5 NSS_3_15_3_BETA1 +9cdaf745a4ecd0abd12fba4521e513480328ff6e NSS_3_15_3_BETA2 +7f0507939e1582a228a2ea52c636aa35faacf0ec NSS_3_15_4_BETA1 +6634b8f109202e1ae93d082b877b1f8fdc35567e NSS_3_15_4_BETA2 +06543f3e9df06732a7beb5f7e1ee1c020423b006 NSS_3_15_4_BETA3 +5696596bdbc90d71fb12603a7c806973f55b0ca1 NSS_3_15_4_BETA4 +44ba62b87bd6a3aedfe6d1d55a510a65e59b0fcf NSS_3_15_4_BETA5 +ead5dfef5276c9296c911b7b3191765a4059e862 NSS_3_15_4_BETA6 +5a79447766456df4257f58c8fc59f3a481e71118 NSS_3_15_4_BETA7 +85486e4f48c809e37f5a8471398f1cf4415fbb7f NSS_3_15_4_BETA8 +a3d86225543c74c2081cc6fc06d48055c2cb1b58 NSS_3_15_4_BETA9 +22d286933c2082a40ec630d0ecdcb0e073f9ea0a NSS_3_15_4_BETA10 +c3565a90b8c489a5f6f0b12e3ed53b09b4f038a7 NSS_3_15_4_RTM +ab1e7334bde60c4f2242348de71761c05689f421 NSS_3_15_5_BETA1 +e5d3ec1d9a35f7cac554543d52775092de9f6a01 NSS_3_15_5_BETA2 +0000000000000000000000000000000000000000 NSS_3_15_5_BETA2 +7fa7518797e8b36fa12f1f1bdf098a1c3b83371c NSS_3_15_5_BETA2 +b57dd6c60b5a274657a5ea2986933adfd837a8ed NSS_3_16_BETA1 +a12661698586f75ee25145ce1e84b4684de6ef37 NSS_3_16_BETA2 +a12661698586f75ee25145ce1e84b4684de6ef37 NSS_3_16_BETA2 +573d75888e4840aa608e6d2e5da840372cab01b7 NSS_3_16_BETA2 +d793d89df0603802f71e1aa69fc22a51690224bd NSS_3_16_BETA3 +d4365c8891860d0bcf2be672c56941aa6061f580 NSS_3_16_BETA4 +ab3a00d03c39b4c284a1ca71c99ae399f20ea266 NSS_3_16_BETA5 +fbfbdfeadbb5208c6c3c0ccf4b85f292b2555389 NSS_3_16_RC0 +2efe8ffcc2699866520b4535f96b33382a209806 NSS_3_16_RTM +742307da0792066e4b4ca46aa7b28399868507ae NSS_3_16_1_BETA1 +c5e3618501a837b6898bb47cf0732e135c6ba542 NSS_3_16_1_BETA2 +7e8485a5ed49d62f5a2e83c567c25c129ca93ce7 NSS_3_16_1_BETA3 +0bef241d00cb1a5091b577829a621a83a773169a NSS_3_16_1_BETA4 +c51293b8a4fd314740d102f06b0f69fd03f7892c NSS_3_16_1_RTM +f7a4c771997e1663a6962dacc6ea6599b135cea3 NSS_3_16_2_BETA1 +b48e80f3f44d3e734c82bd58c0449210b5a59afe NSS_3_16_2_BETA2 +204f22c527f88979dbd84b73c3c3561b8f1d4812 NSS_3_16_2_BETA3 +204f22c527f88979dbd84b73c3c3561b8f1d4812 NSS_3_16_2_BETA3 +dee23d59c9407119fdf83fbd1ead24fe8c339df4 NSS_3_16_2_BETA3 +8da5fd3ea88d86f91e19df404f44e6a99d45b551 NSS_3_16_2_BETA4 +af10612878defcda2fd89ef74381ef196a59061e NSS_3_16_2_RTM +550c11d54672ec951e887347fd4db14a63d1930c NSS_3_17_BETA1 +dc69e391132675100e5c9f7faae129ab46337c60 NSS_3_17_BETA2 +1991f9d6db779e5b773a27722ee0bb2dbbc40f7c NSS_3_17_RC0 +1991f9d6db779e5b773a27722ee0bb2dbbc40f7c NSS_3_17_RTM +d977d39eb9d14c2554439a18623ebca8e56678b7 NSS_3_17_1_BETA1 +eb792774acc34d3f3c9b274e07621bfb65f35448 NSS_3_17_1_BETA2 +c7b01cd5e7b263c84ce8c1d104c584a1f064e65c NSS_3_17_1_RTM +74129657d6cec064c4a0bcb7b04c10c2cf3c85d2 NSS_3_17_2_BETA1 +358730f7261da6aa7b1ee19aafb22c0fc40506f8 NSS_3_17_2_BETA2 +e65f62b51d62b882f3de467b7cba7fb2699dbf8b NSS_3_17_2_RC0 +fb8925f6648d5c7829b74853bc5585ec250b85b4 NSS_3_17_2_RTM +1882a6db68fd34cd907e3c3fa398455f15b80784 NSS_3_18_BETA1 +c92f97d1bd26d81a1a7b98a05985cade88132a2f NSS_3_18_BETA2 +f9bac028f79a6b2129c561137f1d4312c981cedd NSS_3_18_BETA3 +01c19c751a742cd382c121a33dac7c65cdb2fd50 NSS_3_18_BETA4 +f5c1de4478efd102de37ecdd488a89070159432f NSS_3_17_3_RC0 +092819bde8dbf774f7ca761add1ab002d0209f12 NSS_3_17_3_RTM +0455ebb9ad001507fcd795df23f452cb0be80832 NSS_3_18_BETA5 +fb546430479b31cd7ea40226c44e40913e4bb227 NSS_3_18_BETA6 +8b41721a1e1531d7a91fff13fa04a4c5a389ba48 NSS_3_17_4_RC0 +858493460699bce43b9bbe1e397c6a929db6ca9f NSS_3_17_4_RTM +483fbe78c2b2707a53185e63ab37d72af4883aa5 NSS_3_18_BETA7 +a1a73fb115562b7122ecbba2da587aa3bc39ed57 NSS_3_18_RC0 +52c02fe9ce3aec27f11a589b8e98ddc79234ec86 NSS_3_18_RC1 +5dd4763f532ff3bd3145912c29b5f1e694abd8e9 NSS_3_18_RTM +5dd4763f532ff3bd3145912c29b5f1e694abd8e9 NSS_3_18_RTM +0000000000000000000000000000000000000000 NSS_3_18_RTM +c89e2dedb1277ec0acda8e8fccfbeb5034addc4c NSS_3_18_RC2 +0000000000000000000000000000000000000000 NSS_3_18_RTM +b01f280a73e940731d24ab37740ee5fa14264cef NSS_3_18_RTM +9dde22ab19d1c7c5e0acbdfcab99550313ca733a NSS_3_18_1_BETA1 +431691e123f03c151b7b54579e488a1687edc9e2 NSS_3_19_BETA2 +c1bd3c0eaa342b1a628efcfef9e99aacc3f0c20a NSS_3_19_BETA3 +1a2a200aeb4002fdb63b412fe50f8e2ba90a82ef NSS_3_19_BETA4 +342f7e837802c1efc73992776ace45f2c8fdfb47 NSS_3_19_BETA5 +607a836b01ed2660eafda422ba2266b5cc91740b NSS_3_19_RC0 +af38c6ffbe4efafee3cf5920ebf0db6ce298f01e NSS_3_19_RTM +ae72d76f8d2472505b499c498191c3ce441b6a17 NSS_3_19_1_BETA1 +ae72d76f8d2472505b499c498191c3ce441b6a17 NSS_3_19_1_BETA1 +736d9f81295197d3ba63a4ece70f1c377d28e630 NSS_3_19_1_BETA1 +537d7fc8624c289e4f818a4c69847eaedecceccb NSS_3_19_1_RTM +2b29dfe134a5fd5ba2c4e80074b7cf8fc2d36cfd NSS_3_19_2_BETA1 +97d30005dd7bb02b15bd2b8a27e2426c49d06d69 NSS_3_19_2_RTM +6e60855257f0f3d34cb51cdd2aba1800b7834f7f NSS_3_21_Beta1 +dc5a3f75d9d5d0fc6dd5f5b60b5b9be693dbbc78 NSS_3_21_Beta2 +feae8cff7fed6f450b8136af59e7f50e448a5c12 NSS_3_21_Beta3 +507694132f6f0706e7b8e33dac63a560a89f67fc NSS_3_21_RTM +d0d925b6cf323b4cd66fae401a8206bed5577575 NSS_3_22_BETA1 +72122a7dc17e04cf98faeb67acbcb382071cbd09 NSS_3_22_BETA2 +ee1254aeba3e9929858d24f071bafcabea32ad4a NSS_3_22_RTM +4f727a27da000cf1b849af882924a88e8b1d9206 NSS_3_23_BETA1 +ed3747827ea71f232c5f66cced2149f68e8c5857 NSS_3_23_BETA2 +58a2646809529953052c1367545145da7c5709a3 NSS_3_23_BETA3 +b27bfeb21edb4a50ee2bb56ed06462ece461a4c1 NSS_3_23_BETA4 +1df3afde15aae0b28df289a0488af302ee06813e NSS_3_23_BETA5 +4bc07bbf4b40931dfda4d65b729ba198d697f96e NSS_3_23_BETA6 +0e6e8153513e40154dc1907c2aff318b5342e73e NSS_3_23_BETA7 +c603975b17e7c073314896c6ce6838508c55f5d8 NSS_3_23_BETA8 +612cfac63edfaaf2bbc7cf9a1b76bebd4975f3a6 NSS_3_23_RC0 +250e4280aaa157a248d9786d02b421d6f025eff6 NSS_3_24_BETA1 +c719ec5480969f921738bdac54faa264adb8fac1 NSS_3_24_BETA2 +04f19b705ec548943b28c01cda1ada2fdb030fd6 NSS_3_24_BETA1b +04f19b705ec548943b28c01cda1ada2fdb030fd6 NSS_3_24_BETA3 +cb003099f3f0d1bd161720d5e7b7deedb611881d NSS_3_24_BETA4 +04f19b705ec548943b28c01cda1ada2fdb030fd6 NSS_3_24_BETA3 +0000000000000000000000000000000000000000 NSS_3_24_BETA3 +8b5c760a62d40c5a7aaad2d21f721637669f5c89 NSS_3_24_BETA5 +4084aa2e0c3e2a8b5138de9d03b40b51b7e97337 NSS_3_24_BETA6 +81ac6ae397ea23d1cf4fdc50e6e133e9815bbbec NSS_3_24_BETA7 +4346b9e3b7184975765f705805e54396cde5d7fc NSS_3_24_RC0 +bdf702cc0f766757d8221b1bb9a8a5a12f0183da NSS_3_25_BETA1 +2c9ec9e42631adeb82ee486a373313df9fcc05fb NSS_3_25_RC0 +98a35207af80f780de09b5e67570add9ca4b6e7e NSS_3.26_BETA1 +2530cf04ae825a678b2917376e50df6cace2ce81 NSS_3.26_BETA2 +929f77302ec909cbc1cb1d340549cee91d8d10aa NSS_3_26_RC0 +cc982d5a9904b9ec478eced92a3eea8ee0ee313a NSS_3_27_BETA1 +d36a5c8225914f92c12f8e182d83f5b4727d327b NSS_3_27_BETA2 +06ed5314230a8abc5436bdca2cc79e7de7f2828f NSS_3_27_BETA3 +32c9bbad265504522441f601333f0b89861a15d1 NSS_3_34_BETA1 +f9e336b12cb424b2e4693feef52c3dc6825a7dea NSS_3_36_BETA1 +3570602e28126ef329de0b66829c1d7100206a55 NSS_3_36_BETA2 +984522987a1a351a414c66a3c4f74a2192ace8f9 NSS_3_44_BETA1 +6cc6cb4410552adafe8168d7645ced7c3098d5ac NSS_3_44_BETA2 +b2aaab1ad8bd040c4d95d4e82838462a5350af43 NSS_3_44_BETA3 +4f80a4077e401bf774905dfee5f025a237707151 NSS_3_45_BETA1 +7b749ff400db3ecab87f394c091ea0831254e674 NSS_3_45_BETA2 +44aa330de2aa0072d6121d82516d39a00346c1b9 NSS_3_46_BETA1 +24b0fc7002039af07f6976d46ee7e186970c5cdb NSS_3_46_BETA2 +93245f5733b3a042604e3021c0233ea8bfb6e3b9 NSS_3_47_BETA1 +f657d65428c6e9e3468158df79c40bf5f6f32faf NSS_3_47_BETA2 +f10c3e0757b7b2cef3fb6201b2a9be795c6aecd4 NSS_3_47_BETA3 +d3c8638f85cdc4ed6c114406fca49314514bc097 NSS_3_47_BETA4 +77976f3fefca36adea9d1087915078950283c6d4 NSS_3_48_BETA1 +9ecd41cd2fa3c88217c75d0642fca9154a16d162 NSS_3_49_BETA1 +0b30eb1c365095be6c5bb9bd0aeb60e4a9901e6f NSS_3_52_BETA1 +bb4462a16de8ca52068ca1e83351b576b60f2410 NSS_3_52_BETA2 +c7a1c91cd9befb627eb908965ae3a611b381c7ad NSS_3_53_BETA1 +8fe22033a88e7fb75d451455ca841017ce50f9c1 NSS_3_53_BETA2 +2bd2f3267dc5e96aabe1145d698a817f37bc8f4c NSS_3_54_BETA1 +0768baa431e720672263deaee5b1409fbce93fdd NSS_3_55_BETA1 +52c965eaffa1272652a4ba765045b5193e586663 NSS_3_56_BETA1 +56224882ccc3c079fb22a8f2afedd1d56a0c199e NSS_3_57_BETA1 +57bbefa793232586d27cee83e74411171e128361 NSS_3_58_BETA1 +c3cb09a7d08766701c7614879701b22af47543a8 NSS_3_59_BETA1 +f84fb229842ab7bba938f943eed9d93c5b1c9189 NSS_3_60_BETA1 +68ae9b456b1bfa745b20ddec421ee6fc3688aed9 NSS_3_61_BETA1 +81628e9164ff78ce446fc03c849580384bef37fe NSS_3_64_BETA1 +ef126608d281cc268e204e65503e1a5b84d53241 NSS_3_64_RTM diff --git a/libs/nss/src/TAG-INFO b/libs/nss/src/TAG-INFO index 1491e0956..144d90529 100644 --- a/libs/nss/src/TAG-INFO +++ b/libs/nss/src/TAG-INFO @@ -1 +1 @@ -NSS_3_63_1_RTM
\ No newline at end of file +NSS_3_64_RTM
\ No newline at end of file diff --git a/libs/nss/src/automation/abi-check/previous-nss-release b/libs/nss/src/automation/abi-check/previous-nss-release index 858dd4efa..db4667ea5 100644 --- a/libs/nss/src/automation/abi-check/previous-nss-release +++ b/libs/nss/src/automation/abi-check/previous-nss-release @@ -1 +1 @@ -NSS_3_62_BRANCH +NSS_3_63_BRANCH diff --git a/libs/nss/src/cmd/bltest/blapitest.c b/libs/nss/src/cmd/bltest/blapitest.c index 06654ef65..98e7c7538 100644 --- a/libs/nss/src/cmd/bltest/blapitest.c +++ b/libs/nss/src/cmd/bltest/blapitest.c @@ -21,6 +21,7 @@ #include "secoid.h" #include "nssutil.h" #include "ecl-curve.h" +#include "chacha20poly1305.h" #include "pkcs1_vectors.h" @@ -628,19 +629,20 @@ typedef enum { bltestSEED_ECB, /* SEED algorithm */ bltestSEED_CBC, /* SEED algorithm */ #endif - bltestCHACHA20, /* ChaCha20 + Poly1305 */ - bltestRSA, /* Public Key Ciphers */ - bltestRSA_OAEP, /* . (Public Key Enc.) */ - bltestRSA_PSS, /* . (Public Key Sig.) */ - bltestECDSA, /* . (Public Key Sig.) */ - bltestDSA, /* . (Public Key Sig.) */ - bltestMD2, /* Hash algorithms */ - bltestMD5, /* . */ - bltestSHA1, /* . */ - bltestSHA224, /* . */ - bltestSHA256, /* . */ - bltestSHA384, /* . */ - bltestSHA512, /* . */ + bltestCHACHA20_CTR, /* ChaCha20 block cipher */ + bltestCHACHA20, /* ChaCha20 + Poly1305 */ + bltestRSA, /* Public Key Ciphers */ + bltestRSA_OAEP, /* . (Public Key Enc.) */ + bltestRSA_PSS, /* . (Public Key Sig.) */ + bltestECDSA, /* . (Public Key Sig.) */ + bltestDSA, /* . (Public Key Sig.) */ + bltestMD2, /* Hash algorithms */ + bltestMD5, /* . */ + bltestSHA1, /* . */ + bltestSHA224, /* . */ + bltestSHA256, /* . */ + bltestSHA384, /* . */ + bltestSHA512, /* . */ NUMMODES } bltestCipherMode; @@ -670,6 +672,7 @@ static char *mode_strings[] = "seed_ecb", "seed_cbc", #endif + "chacha20_ctr", "chacha20_poly1305", "rsa", "rsa_oaep", @@ -800,12 +803,8 @@ struct bltestCipherInfoStr { PRBool is_symmkeyCipher(bltestCipherMode mode) { -/* change as needed! */ -#ifndef NSS_DISABLE_DEPRECATED_SEED - if (mode >= bltestDES_ECB && mode <= bltestSEED_CBC) -#else - if (mode >= bltestDES_ECB && mode <= bltestCAMELLIA_CBC) -#endif + /* change as needed! */ + if (mode >= bltestDES_ECB && mode <= bltestCHACHA20_CTR) return PR_TRUE; return PR_FALSE; } @@ -842,6 +841,7 @@ is_singleShotCipher(bltestCipherMode mode) switch (mode) { case bltestAES_GCM: case bltestAES_CTS: + case bltestCHACHA20_CTR: case bltestCHACHA20: return PR_TRUE; default: @@ -897,6 +897,7 @@ cipher_requires_IV(bltestCipherMode mode) #ifndef NSS_DISABLE_DEPRECATED_SEED case bltestSEED_CBC: #endif + case bltestCHACHA20_CTR: case bltestCHACHA20: return PR_TRUE; default: @@ -1151,6 +1152,21 @@ aes_Decrypt(void *cx, unsigned char *output, unsigned int *outputLen, } SECStatus +chacha20_Encrypt(void *cx, unsigned char *output, unsigned int *outputLen, + unsigned int maxOutputLen, const unsigned char *input, + unsigned int inputLen) +{ + if (maxOutputLen < inputLen) { + PORT_SetError(SEC_ERROR_OUTPUT_LEN); + return SECFailure; + } + ChaCha20Context *ctx = cx; + *outputLen = inputLen; + return ChaCha20_Xor(output, input, inputLen, ctx->key, ctx->nonce, + ctx->counter); +} + +SECStatus chacha20_poly1305_Encrypt(void *cx, unsigned char *output, unsigned int *outputLen, unsigned int maxOutputLen, const unsigned char *input, unsigned int inputLen, @@ -1656,6 +1672,24 @@ bltest_seed_init(bltestCipherInfo *cipherInfo, PRBool encrypt) #endif /* NSS_DISABLE_DEPRECATED_SEED */ SECStatus +bltest_chacha20_ctr_init(bltestCipherInfo *cipherInfo, PRBool encrypt) +{ + const PRUint32 counter = 1; + bltestSymmKeyParams *sk = &cipherInfo->params.sk; + cipherInfo->cx = ChaCha20_CreateContext(sk->key.buf.data, sk->key.buf.len, + sk->iv.buf.data, sk->iv.buf.len, + counter); + + if (cipherInfo->cx == NULL) { + PR_fprintf(PR_STDERR, "ChaCha20_CreateContext() returned NULL\n" + "key must be 32 bytes, iv must be 12 bytes\n"); + return SECFailure; + } + cipherInfo->cipher.symmkeyCipher = chacha20_Encrypt; + return SECSuccess; +} + +SECStatus bltest_chacha20_init(bltestCipherInfo *cipherInfo, PRBool encrypt) { const unsigned int tagLen = 16; @@ -2316,6 +2350,11 @@ cipherInit(bltestCipherInfo *cipherInfo, PRBool encrypt) return bltest_seed_init(cipherInfo, encrypt); break; #endif /* NSS_DISABLE_DEPRECATED_SEED */ + case bltestCHACHA20_CTR: + outlen = cipherInfo->input.pBuf.len; + SECITEM_AllocItem(cipherInfo->arena, &cipherInfo->output.buf, outlen); + return bltest_chacha20_ctr_init(cipherInfo, encrypt); + break; case bltestCHACHA20: outlen = cipherInfo->input.pBuf.len + (encrypt ? 16 : 0); SECITEM_AllocItem(cipherInfo->arena, &cipherInfo->output.buf, outlen); @@ -2620,6 +2659,9 @@ cipherFinish(bltestCipherInfo *cipherInfo) SEED_DestroyContext((SEEDContext *)cipherInfo->cx, PR_TRUE); break; #endif /* NSS_DISABLE_DEPRECATED_SEED */ + case bltestCHACHA20_CTR: + ChaCha20_DestroyContext((ChaCha20Context *)cipherInfo->cx, PR_TRUE); + break; case bltestCHACHA20: ChaCha20Poly1305_DestroyContext((ChaCha20Poly1305Context *) cipherInfo->cx, @@ -2706,7 +2748,10 @@ getHighUnitBytes(PRInt64 res) } } - return PR_smprintf("%d%s", spl[i], marks[i]); + if (i == 0) + return PR_smprintf("%d%s", spl[i], marks[i]); + else + return PR_smprintf("%d%s %d%s", spl[i], marks[i], spl[i - 1], marks[i - 1]); } static void diff --git a/libs/nss/src/coreconf/Linux.mk b/libs/nss/src/coreconf/Linux.mk index 956f0e4a9..70651e28f 100644 --- a/libs/nss/src/coreconf/Linux.mk +++ b/libs/nss/src/coreconf/Linux.mk @@ -54,6 +54,11 @@ ifeq (,$(filter-out ppc64 ppc64le,$(OS_TEST))) ifeq ($(USE_64),1) ARCHFLAG = -m64 endif +ifeq (,$(filter-out ppc ppc64,$(OS_TEST))) +ifneq ($(NSS_DISABLE_CRYPTO_VSX),0) + NSS_DISABLE_CRYPTO_VSX=1 +endif +endif else ifeq ($(OS_TEST),alpha) OS_REL_CFLAGS = -D_ALPHA_ diff --git a/libs/nss/src/coreconf/config.gypi b/libs/nss/src/coreconf/config.gypi index 4c8931c6d..951e9abd1 100644 --- a/libs/nss/src/coreconf/config.gypi +++ b/libs/nss/src/coreconf/config.gypi @@ -107,6 +107,7 @@ 'disable_libpkix%': 1, 'disable_werror%': 0, 'disable_altivec%': 0, + 'disable_crypto_vsx%': 0, 'disable_arm32_neon%': 0, 'mozilla_client%': 0, 'comm_client%': 0, diff --git a/libs/nss/src/coreconf/config.mk b/libs/nss/src/coreconf/config.mk index 2f7b63896..4ae941c47 100644 --- a/libs/nss/src/coreconf/config.mk +++ b/libs/nss/src/coreconf/config.mk @@ -231,10 +231,15 @@ DEFINES += -DNSS_DISABLE_ARM32_NEON endif # Avoid building with PowerPC's Altivec acceleration -ifdef NSS_DISABLE_ALTIVEC +ifeq ($(NSS_DISABLE_ALTIVEC),1) DEFINES += -DNSS_DISABLE_ALTIVEC endif +# Avoid building with PowerPC's Crypto and VSX instructions +ifeq ($(NSS_DISABLE_CRYPTO_VSX),1) +DEFINES += -DNSS_DISABLE_CRYPTO_VSX +endif + # This allows all library and tools code to use the util function # implementations directly from libnssutil3, rather than the wrappers # in libnss3 which are present for binary compatibility only diff --git a/libs/nss/src/coreconf/detect_host_arch.py b/libs/nss/src/coreconf/detect_host_arch.py index a32b01034..69fd960f6 100644 --- a/libs/nss/src/coreconf/detect_host_arch.py +++ b/libs/nss/src/coreconf/detect_host_arch.py @@ -19,6 +19,8 @@ def main(): pass elif host_arch.startswith('arm'): host_arch = 'arm' + elif host_arch.startswith('mips64'): + host_arch = 'mips64' elif host_arch.startswith('mips'): host_arch = 'mips' print(host_arch) diff --git a/libs/nss/src/lib/ckfw/builtins/certdata.txt b/libs/nss/src/lib/ckfw/builtins/certdata.txt index 204b8f280..19bd1b0dd 100644 --- a/libs/nss/src/lib/ckfw/builtins/certdata.txt +++ b/libs/nss/src/lib/ckfw/builtins/certdata.txt @@ -6723,7 +6723,7 @@ END CKA_SERIAL_NUMBER MULTILINE_OCTAL \002\011\000\243\332\102\176\244\261\256\332 END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE @@ -6933,7 +6933,7 @@ END CKA_SERIAL_NUMBER MULTILINE_OCTAL \002\011\000\311\315\323\351\325\175\043\316 END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE diff --git a/libs/nss/src/lib/freebl/Makefile b/libs/nss/src/lib/freebl/Makefile index 269e34c5c..3d5357297 100644 --- a/libs/nss/src/lib/freebl/Makefile +++ b/libs/nss/src/lib/freebl/Makefile @@ -298,6 +298,10 @@ ifdef USE_64 PPC_ABI := $(shell $(CC) -dM -E - < /dev/null | awk '$$2 == "_CALL_ELF" {print $$3}') ifeq ($(PPC_ABI),2) ASFILES += sha512-p8.s + ifeq ($(OS_TEST),ppc64le) + EXTRA_SRCS += chacha20poly1305-ppc.c + ASFILES += chacha20-ppc64le.s + endif # ppc64le endif endif # USE_64 endif # ppc @@ -756,12 +760,20 @@ $(OBJDIR)/$(PROG_PREFIX)sha256-armv8$(OBJ_SUFFIX): CFLAGS += -march=armv8-a+cryp endif ifeq ($(CPU_ARCH),ppc) -ifndef NSS_DISABLE_ALTIVEC -$(OBJDIR)/$(PROG_PREFIX)gcm-ppc$(OBJ_SUFFIX): CFLAGS += -mcrypto -maltivec -mvsx -$(OBJDIR)/$(PROG_PREFIX)gcm$(OBJ_SUFFIX): CFLAGS += -mcrypto -maltivec -mvsx -$(OBJDIR)/$(PROG_PREFIX)rijndael$(OBJ_SUFFIX): CFLAGS += -mcrypto -maltivec -mvsx -$(OBJDIR)/$(PROG_PREFIX)sha512$(OBJ_SUFFIX): CFLAGS += -mcrypto -maltivec -mvsx \ - -funroll-loops -fpeel-loops +$(OBJDIR)/$(PROG_PREFIX)sha512$(OBJ_SUFFIX): CFLAGS += -funroll-loops -fpeel-loops +ifneq ($(NSS_DISABLE_ALTIVEC),1) +$(OBJDIR)/$(PROG_PREFIX)gcm-ppc$(OBJ_SUFFIX): CFLAGS += -maltivec +$(OBJDIR)/$(PROG_PREFIX)gcm$(OBJ_SUFFIX): CFLAGS += -maltivec +$(OBJDIR)/$(PROG_PREFIX)rijndael$(OBJ_SUFFIX): CFLAGS += -maltivec +$(OBJDIR)/$(PROG_PREFIX)sha512$(OBJ_SUFFIX): CFLAGS += -maltivec +$(OBJDIR)/$(PROG_PREFIX)chacha20poly1305-ppc$(OBJ_SUFFIX): CFLAGS += -maltivec +endif +ifneq ($(NSS_DISABLE_CRYPTO_VSX),1) +$(OBJDIR)/$(PROG_PREFIX)gcm-ppc$(OBJ_SUFFIX): CFLAGS += -mcrypto -mvsx +$(OBJDIR)/$(PROG_PREFIX)gcm$(OBJ_SUFFIX): CFLAGS += -mcrypto -mvsx +$(OBJDIR)/$(PROG_PREFIX)rijndael$(OBJ_SUFFIX): CFLAGS += -mcrypto -mvsx +$(OBJDIR)/$(PROG_PREFIX)sha512$(OBJ_SUFFIX): CFLAGS += -mcrypto -mvsx +$(OBJDIR)/$(PROG_PREFIX)chacha20poly1305-ppc$(OBJ_SUFFIX): CFLAGS += -mcrypto -mvsx endif endif diff --git a/libs/nss/src/lib/freebl/blapi.h b/libs/nss/src/lib/freebl/blapi.h index 6f806884e..569bd461f 100644 --- a/libs/nss/src/lib/freebl/blapi.h +++ b/libs/nss/src/lib/freebl/blapi.h @@ -1043,6 +1043,26 @@ Camellia_Decrypt(CamelliaContext *cx, unsigned char *output, /******************************************/ /* +** ChaCha20 block cipher +*/ + +extern SECStatus ChaCha20_InitContext(ChaCha20Context *ctx, + const unsigned char *key, + unsigned int keyLen, + const unsigned char *nonce, + unsigned int nonceLen, + PRUint32 ctr); + +extern ChaCha20Context *ChaCha20_CreateContext(const unsigned char *key, + unsigned int keyLen, + const unsigned char *nonce, + unsigned int nonceLen, + PRUint32 ctr); + +extern void ChaCha20_DestroyContext(ChaCha20Context *ctx, PRBool freeit); + +/******************************************/ +/* ** ChaCha20+Poly1305 AEAD */ diff --git a/libs/nss/src/lib/freebl/blapit.h b/libs/nss/src/lib/freebl/blapit.h index 03cf96381..0054e17b8 100644 --- a/libs/nss/src/lib/freebl/blapit.h +++ b/libs/nss/src/lib/freebl/blapit.h @@ -245,6 +245,7 @@ struct SHA256ContextStr; struct SHA512ContextStr; struct AESKeyWrapContextStr; struct SEEDContextStr; +struct ChaCha20ContextStr; struct ChaCha20Poly1305ContextStr; struct Blake2bContextStr; @@ -265,6 +266,7 @@ typedef struct SHA512ContextStr SHA512Context; typedef struct SHA512ContextStr SHA384Context; typedef struct AESKeyWrapContextStr AESKeyWrapContext; typedef struct SEEDContextStr SEEDContext; +typedef struct ChaCha20ContextStr ChaCha20Context; typedef struct ChaCha20Poly1305ContextStr ChaCha20Poly1305Context; typedef struct Blake2bContextStr BLAKE2BContext; diff --git a/libs/nss/src/lib/freebl/chacha20-ppc64le.S b/libs/nss/src/lib/freebl/chacha20-ppc64le.S new file mode 100644 index 000000000..487ff830a --- /dev/null +++ b/libs/nss/src/lib/freebl/chacha20-ppc64le.S @@ -0,0 +1,668 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + + +# vs0 - vs15 : buffer for xor +# vs32 - vs47 (v0 - v15) : 4 "converted" states +# vs48 - vs51 (v16 - v19) : original state +# vs52 - vs55 (v20 - v23) : "converted" constants +# vs56 (v24) : "converted" counter +# vs57 (v25) : increment for "converted" counter +# vs60 - vs63 (v28 - v31) : constants for rotate left or vpermxor + +#define r0 0 +#define sp 1 +#define r2 2 +#define rSIZE 3 +#define rDST 4 +#define rSRC 5 +#define rKEY 6 +#define rNONCE 7 +#define rCNTR 8 +#define r9 9 +#define r10 10 +#define r11 11 +#define r12 12 +#define r13 13 +#define r14 14 +#define r15 15 +#define r16 16 +#define r17 17 +#define r18 18 +#define r19 19 +#define r20 20 +#define r21 21 +#define r22 22 +#define r23 23 +#define r24 24 +#define r25 25 +#define r26 26 +#define r27 27 +#define r28 28 +#define r29 29 +#define r30 30 +#define r31 31 + +#define v0 0 +#define v1 1 +#define v2 2 +#define v3 3 +#define v4 4 +#define v5 5 +#define v6 6 +#define v7 7 +#define v8 8 +#define v9 9 +#define v10 10 +#define v11 11 +#define v12 12 +#define v13 13 +#define v14 14 +#define v15 15 +#define v16 16 +#define v17 17 +#define v18 18 +#define v19 19 +#define v20 20 +#define v21 21 +#define v22 22 +#define v23 23 +#define v24 24 +#define v25 25 +#define v26 26 +#define v27 27 +#define v28 28 +#define v29 29 +#define v30 30 +#define v31 31 + +#define vs0 0 +#define vs1 1 +#define vs2 2 +#define vs3 3 +#define vs4 4 +#define vs5 5 +#define vs6 6 +#define vs7 7 +#define vs8 8 +#define vs9 9 +#define vs10 10 +#define vs11 11 +#define vs12 12 +#define vs13 13 +#define vs14 14 +#define vs15 15 +#define vs16 16 +#define vs17 17 +#define vs18 18 +#define vs19 19 +#define vs20 20 +#define vs21 21 +#define vs22 22 +#define vs23 23 +#define vs24 24 +#define vs25 25 +#define vs26 26 +#define vs27 27 +#define vs28 28 +#define vs29 29 +#define vs30 30 +#define vs31 31 +#define vs32 32 +#define vs33 33 +#define vs34 34 +#define vs35 35 +#define vs36 36 +#define vs37 37 +#define vs38 38 +#define vs39 39 +#define vs40 40 +#define vs41 41 +#define vs42 42 +#define vs43 43 +#define vs44 44 +#define vs45 45 +#define vs46 46 +#define vs47 47 +#define vs48 48 +#define vs49 49 +#define vs50 50 +#define vs51 51 +#define vs52 52 +#define vs53 53 +#define vs54 54 +#define vs55 55 +#define vs56 56 +#define vs57 57 +#define vs58 58 +#define vs59 59 +#define vs60 60 +#define vs61 61 +#define vs62 62 +#define vs63 63 + +.abiversion 2 +.section ".data" +.align 5 +lblock: .skip 256 +cnts0: .long 0x61707865, 0x3320646e, 0x79622d32, 0x6b206574 +cnts1: .long 0x61707865, 0x61707865, 0x61707865, 0x61707865 +cnts2: .long 0x3320646e, 0x3320646e, 0x3320646e, 0x3320646e +cnts3: .long 0x79622d32, 0x79622d32, 0x79622d32, 0x79622d32 +cnts4: .long 0x6b206574, 0x6b206574, 0x6b206574, 0x6b206574 +st4: .long 0, 0, 0, 0 +cntr: .long 0, 0, 0, 0 +incr: .long 4, 4, 4, 4 +rotl1: .long 0x22330011, 0x66774455, 0xAABB8899, 0xEEFFCCDD +rotl2: .long 12, 12, 12, 12 +rotl3: .long 0x11223300, 0x55667744, 0x99AABB88, 0xDDEEFFCC +rotl4: .long 7, 7, 7, 7 + +.section ".text" +.align 5 +.globl chacha20vsx +.type chacha20vsx, @function +chacha20vsx: + # prologue + addis 2, r12, .TOC.-chacha20vsx@ha + addi 2, 2, .TOC.-chacha20vsx@l + .localentry chacha20vsx, .-chacha20vsx + std r14, -8(sp) + std r15, -16(sp) + std r16, -24(sp) + std r17, -32(sp) + std r18, -40(sp) + std r19, -48(sp) + std r20, -56(sp) + std r21, -64(sp) + std r22, -72(sp) + std r23, -80(sp) + std r24, -88(sp) + std r25, -96(sp) + std r26, -104(sp) + std r27, -112(sp) + std r28, -120(sp) + std r29, -128(sp) + std r30, -136(sp) + std r31, -144(sp) + + addi r14, sp, -160 + + li r16, -16 + li r17, -32 + li r18, -48 + li r19, -64 + li r20, -80 + li r21, -96 + li r22, -112 + li r23, -128 + li r24, -144 + li r25, -160 + li r26, -176 + li r27, -192 + li r28, -208 + + # save f14, f15 + stxvw4x vs14, 0, r14 + stxvw4x vs15, r16, r14 + + # save v20 - v31 + stxvw4x vs52, r17, r14 + stxvw4x vs53, r18, r14 + stxvw4x vs54, r19, r14 + stxvw4x vs55, r20, r14 + stxvw4x vs56, r21, r14 + stxvw4x vs57, r22, r14 + stxvw4x vs58, r23, r14 + stxvw4x vs59, r24, r14 + stxvw4x vs60, r25, r14 + stxvw4x vs61, r26, r14 + stxvw4x vs62, r27, r14 + stxvw4x vs63, r28, r14 + + # offset in src/dst + li r17, 16 + li r18, 32 + li r19, 48 + li r20, 64 + li r21, 80 + li r22, 96 + li r23, 112 + li r24, 128 + li r25, 144 + li r26, 160 + li r27, 176 + li r28, 192 + li r29, 208 + li r30, 224 + li r31, 240 + + # load const's address + addis r14, 2, cnts0@toc@ha + addi r14, r14, cnts0@toc@l + + # save nonce to st4 + lwz r15, 0(rNONCE) + stw r15, 84(r14) + lwz r15, 4(rNONCE) + stw r15, 88(r14) + lwz r15, 8(rNONCE) + stw r15, 92(r14) + + # load state to vectors + lxvw4x vs48, 0, r14 + lxvw4x vs49, 0, rKEY + lxvw4x vs50, r17, rKEY + lxvw4x vs51, r21, r14 + + # load consts for x4 rounds + lxvw4x vs52, r17, r14 + lxvw4x vs53, r18, r14 + lxvw4x vs54, r19, r14 + lxvw4x vs55, r20, r14 + + # counter + stw rCNTR, 96(r14) + addi rCNTR, rCNTR, 1 + stw rCNTR, 100(r14) + addi rCNTR, rCNTR, 1 + stw rCNTR, 104(r14) + addi rCNTR, rCNTR, 1 + stw rCNTR, 108(r14) + lxvw4x vs56, r22, r14 + + # load increment + lxvw4x vs57, r23, r14 + + # load rotl to vectors + lxvw4x vs60, r24, r14 + lxvw4x vs61, r25, r14 + lxvw4x vs62, r26, r14 + lxvw4x vs63, r27, r14 + + # counter for loop = size/256 + li r15, 256 + divdu. r16, rSIZE, r15 + beq lastblock + mtctr r16 + +mainloop: + # init 16 vectors (4 states x4) + vor v0, v20, v20 + vor v1, v21, v21 + vor v2, v22, v22 + vor v3, v23, v23 + vspltw v4, v17, v0 + vspltw v5, v17, v1 + vspltw v6, v17, v2 + vspltw v7, v17, v3 + vspltw v8, v18, v0 + vspltw v9, v18, v1 + vspltw v10, v18, v2 + vspltw v11, v18, v3 + vor v12, v24, v24 + vspltw v13, v19, v1 + vspltw v14, v19, v2 + vspltw v15, v19, v3 + +.macro _plus a b_y b_x + vadduwm \a, \a, \b_y*4+(\b_x)%4 + vadduwm \a+1, \a+1, \b_y*4+(\b_x+1)%4 + vadduwm \a+2, \a+2, \b_y*4+(\b_x+2)%4 + vadduwm \a+3, \a+3, \b_y*4+(\b_x+3)%4 +.endm + +.macro _xor a b_y b_x + vxor \a, \a, \b_y*4+(\b_x)%4 + vxor \a+1, \a+1, \b_y*4+(\b_x+1)%4 + vxor \a+2, \a+2, \b_y*4+(\b_x+2)%4 + vxor \a+3, \a+3, \b_y*4+(\b_x+3)%4 +.endm + +.macro _rotl a b + vrlw \a, \a, \b + vrlw \a+1, \a+1, \b + vrlw \a+2, \a+2, \b + vrlw \a+3, \a+3, \b +.endm + +.macro _pxor a b_y b_x c + vpermxor \a, \a, \b_y*4+(\b_x)%4, \c + vpermxor \a+1, \a+1, \b_y*4+(\b_x+1)%4, \c + vpermxor \a+2, \a+2, \b_y*4+(\b_x+2)%4, \c + vpermxor \a+3, \a+3, \b_y*4+(\b_x+3)%4, \c +.endm + +# 00 01 02 03 +# 04 05 06 07 +# 08 09 10 11 +# 12 13 14 15 +.macro doubleround + # column round + _plus v0, v1, v0 # a+=b + _pxor v12, v0, v0, v28 # d^=a; d<<<=16 + _plus v8, v3, v0 # c+=d + _xor v4, v2, v0 # b^=c + _rotl v4, v29 # b<<<=12 + _plus v0, v1, v0 # a+=b + _pxor v12, v0, v0, v30 # d^=a; d<<<=8 + _plus v8, v3, v0 # c+=d + _xor v4, v2, v0 # b^=c + _rotl v4, v31 # b<<<=7 + + # diagonal round + _plus v0, v1, v1 # a+=b + _pxor v12, v0, v1, v28 # d^=a; d<<<=16 + _plus v8, v3, v1 # c+=d + _xor v4, v2, v1 # b^=c + _rotl v4, v29 # b<<<=12 + _plus v0, v1, v1 # a+=b + _pxor v12, v0, v1, v30 # d^=a; d<<<=8 + _plus v8, v3, v1 # c+=d + _xor v4, v2, v1 # b^=c + _rotl v4, v31 # b<<<=7 +.endm + + doubleround # 1 + doubleround # 2 + doubleround # 3 + doubleround # 4 + doubleround # 5 + doubleround # 6 + doubleround # 7 + doubleround # 8 + doubleround # 9 + doubleround # 10 + + # counter += original counter + vadduwm v12, v12, v24 + +.macro convert a + vmrgew 26, 0+\a, 1+\a + vmrgew 27, 2+\a, 3+\a + vmrgow 0+\a, 0+\a, 1+\a + vmrgow 2+\a, 2+\a, 3+\a + xxmrghd 33+\a, 32+\a, 34+\a + xxmrgld 35+\a, 32+\a, 34+\a + xxmrghd 32+\a, 58, 59 + xxmrgld 34+\a, 58, 59 +.endm + + convert 0 + convert 4 + convert 8 + convert 12 + +.macro addition a + vadduwm 0+\a, 0+\a, 16 + vadduwm 4+\a, 4+\a, 17 + vadduwm 8+\a, 8+\a, 18 + vadduwm 12+\a, 12+\a, 19 +.endm + + addition 0 + addition 1 + addition 2 + addition 3 + + # load text/cipher + lxvw4x vs0, 0, rSRC + lxvw4x vs1, r17, rSRC + lxvw4x vs2, r18, rSRC + lxvw4x vs3, r19, rSRC + lxvw4x vs4, r20, rSRC + lxvw4x vs5, r21, rSRC + lxvw4x vs6, r22, rSRC + lxvw4x vs7, r23, rSRC + lxvw4x vs8, r24, rSRC + lxvw4x vs9, r25, rSRC + lxvw4x vs10, r26, rSRC + lxvw4x vs11, r27, rSRC + lxvw4x vs12, r28, rSRC + lxvw4x vs13, r29, rSRC + lxvw4x vs14, r30, rSRC + lxvw4x vs15, r31, rSRC + # xor (encrypt/decrypt) + xxlxor vs0, vs0, vs32 + xxlxor vs1, vs1, vs36 + xxlxor vs2, vs2, vs40 + xxlxor vs3, vs3, vs44 + xxlxor vs4, vs4, vs33 + xxlxor vs5, vs5, vs37 + xxlxor vs6, vs6, vs41 + xxlxor vs7, vs7, vs45 + xxlxor vs8, vs8, vs34 + xxlxor vs9, vs9, vs38 + xxlxor vs10, vs10, vs42 + xxlxor vs11, vs11, vs46 + xxlxor vs12, vs12, vs35 + xxlxor vs13, vs13, vs39 + xxlxor vs14, vs14, vs43 + xxlxor vs15, vs15, vs47 + # store cipher/text + stxvw4x vs0, 0, rDST + stxvw4x vs1, r17, rDST + stxvw4x vs2, r18, rDST + stxvw4x vs3, r19, rDST + stxvw4x vs4, r20, rDST + stxvw4x vs5, r21, rDST + stxvw4x vs6, r22, rDST + stxvw4x vs7, r23, rDST + stxvw4x vs8, r24, rDST + stxvw4x vs9, r25, rDST + stxvw4x vs10, r26, rDST + stxvw4x vs11, r27, rDST + stxvw4x vs12, r28, rDST + stxvw4x vs13, r29, rDST + stxvw4x vs14, r30, rDST + stxvw4x vs15, r31, rDST + + # src/dst increment + addi rSRC, rSRC, 256 + addi rDST, rDST, 256 + + # counter increment + vadduwm v24, v24, v25 + + bdnz mainloop + +lastblock: + # reminder + mulld r16, r16, r15 + subf. r16, r16, rSIZE + + # check reminder + beq exitsub + + addi r14, r14, -256 + # last block x4 + # init 16 vectors (4 states x4) + vor v0, v20, v20 + vor v1, v21, v21 + vor v2, v22, v22 + vor v3, v23, v23 + vspltw v4, v17, v0 + vspltw v5, v17, v1 + vspltw v6, v17, v2 + vspltw v7, v17, v3 + vspltw v8, v18, v0 + vspltw v9, v18, v1 + vspltw v10, v18, v2 + vspltw v11, v18, v3 + vor v12, v24, v24 + vspltw v13, v19, v1 + vspltw v14, v19, v2 + vspltw v15, v19, v3 + + doubleround # 1 + doubleround # 2 + doubleround # 3 + doubleround # 4 + doubleround # 5 + doubleround # 6 + doubleround # 7 + doubleround # 8 + doubleround # 9 + doubleround # 10 + + vadduwm v12, v12, v24 + + convert 0 + convert 4 + convert 8 + convert 12 + + addition 0 + addition 1 + addition 2 + addition 3 + + # store vectors + stxvw4x vs32, 0, r14 + stxvw4x vs36, r17, r14 + stxvw4x vs40, r18, r14 + stxvw4x vs44, r19, r14 + stxvw4x vs33, r20, r14 + stxvw4x vs37, r21, r14 + stxvw4x vs41, r22, r14 + stxvw4x vs45, r23, r14 + stxvw4x vs34, r24, r14 + stxvw4x vs38, r25, r14 + stxvw4x vs42, r26, r14 + stxvw4x vs46, r27, r14 + stxvw4x vs35, r28, r14 + stxvw4x vs39, r29, r14 + stxvw4x vs43, r30, r14 + stxvw4x vs47, r31, r14 + + mtctr r16 + addi rSIZE, r14, -1 + addi rSRC, rSRC, -1 + addi rDST, rDST, -1 +xorlast: + lbzu r15, 1(rSIZE) + lbzu r16, 1(rSRC) + xor r15, r15, r16 + stbu r15, 1(rDST) + bdnz xorlast + + # zeroing last block + xxlxor vs0, vs0, vs0 + stxvw4x vs0, 0, r14 + stxvw4x vs0, r17, r14 + stxvw4x vs0, r18, r14 + stxvw4x vs0, r19, r14 + stxvw4x vs0, r20, r14 + stxvw4x vs0, r21, r14 + stxvw4x vs0, r22, r14 + stxvw4x vs0, r23, r14 + stxvw4x vs0, r24, r14 + stxvw4x vs0, r25, r14 + stxvw4x vs0, r26, r14 + stxvw4x vs0, r27, r14 + stxvw4x vs0, r28, r14 + stxvw4x vs0, r29, r14 + stxvw4x vs0, r30, r14 + stxvw4x vs0, r31, r14 + +exitsub: + # zeroing volatile registers + xxlxor vs0, vs0, vs0 + xxlxor vs1, vs1, vs1 + xxlxor vs2, vs2, vs2 + xxlxor vs3, vs3, vs3 + xxlxor vs4, vs4, vs4 + xxlxor vs5, vs5, vs5 + xxlxor vs6, vs6, vs6 + xxlxor vs7, vs7, vs7 + xxlxor vs8, vs8, vs8 + xxlxor vs9, vs9, vs9 + xxlxor vs10, vs10, vs10 + xxlxor vs11, vs11, vs11 + xxlxor vs12, vs12, vs12 + xxlxor vs13, vs13, vs13 + + xxlxor vs32, vs32, vs32 + xxlxor vs33, vs33, vs33 + xxlxor vs34, vs34, vs34 + xxlxor vs35, vs35, vs35 + xxlxor vs36, vs36, vs36 + xxlxor vs37, vs37, vs37 + xxlxor vs38, vs38, vs38 + xxlxor vs39, vs39, vs39 + xxlxor vs40, vs40, vs40 + xxlxor vs41, vs41, vs41 + xxlxor vs42, vs42, vs42 + xxlxor vs43, vs43, vs43 + xxlxor vs44, vs44, vs44 + xxlxor vs45, vs45, vs45 + xxlxor vs46, vs46, vs46 + xxlxor vs47, vs47, vs47 + xxlxor vs48, vs48, vs48 + xxlxor vs49, vs49, vs49 + xxlxor vs50, vs50, vs50 + xxlxor vs51, vs51, vs51 + + li rSIZE, 0 + li rDST, 0 + li rSRC, 0 + li rKEY, 0 + li rNONCE, 0 + li rCNTR, 0 + + # epilogue + addi r14, sp, -160 + + li r16, -16 + li r17, -32 + li r18, -48 + li r19, -64 + li r20, -80 + li r21, -96 + li r22, -112 + li r23, -128 + li r24, -144 + li r25, -160 + li r26, -176 + li r27, -192 + li r28, -208 + + # load f14, f15 + lxvw4x vs14, 0, r14 + lxvw4x vs15, r16, r14 + + # load v20 - v31 + lxvw4x vs52, r17, r14 + lxvw4x vs53, r18, r14 + lxvw4x vs54, r19, r14 + lxvw4x vs55, r20, r14 + lxvw4x vs56, r21, r14 + lxvw4x vs57, r22, r14 + lxvw4x vs58, r23, r14 + lxvw4x vs59, r24, r14 + lxvw4x vs60, r25, r14 + lxvw4x vs61, r26, r14 + lxvw4x vs62, r27, r14 + lxvw4x vs63, r28, r14 + + ld r14, -8(sp) + ld r15, -16(sp) + ld r16, -24(sp) + ld r17, -32(sp) + ld r18, -40(sp) + ld r19, -48(sp) + ld r20, -56(sp) + ld r21, -64(sp) + ld r22, -72(sp) + ld r23, -80(sp) + ld r24, -88(sp) + ld r25, -96(sp) + ld r26, -104(sp) + ld r27, -112(sp) + ld r28, -120(sp) + ld r29, -128(sp) + ld r30, -136(sp) + ld r31, -144(sp) + + blr diff --git a/libs/nss/src/lib/freebl/chacha20poly1305-ppc.c b/libs/nss/src/lib/freebl/chacha20poly1305-ppc.c new file mode 100644 index 000000000..c9766cd40 --- /dev/null +++ b/libs/nss/src/lib/freebl/chacha20poly1305-ppc.c @@ -0,0 +1,588 @@ +/* MIT License + * + * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include "Hacl_Chacha20Poly1305_32.h" + +/* Forward declaration from chacha20-ppc64le.S */ +void chacha20vsx(uint32_t len, uint8_t *output, uint8_t *block, uint8_t *k, + uint8_t *nonce, uint32_t ctr); + +static inline void +poly1305_padded_32(uint64_t *ctx, uint32_t len, uint8_t *text) +{ + uint32_t n = len / (uint32_t)16U; + uint32_t r = len % (uint32_t)16U; + uint8_t *blocks = text; + uint8_t *rem = text + n * (uint32_t)16U; + uint64_t *pre0 = ctx + (uint32_t)5U; + uint64_t *acc0 = ctx; + uint32_t nb = n * (uint32_t)16U / (uint32_t)16U; + uint32_t rem1 = n * (uint32_t)16U % (uint32_t)16U; + for (uint32_t i = (uint32_t)0U; i < nb; i++) { + uint8_t *block = blocks + i * (uint32_t)16U; + uint64_t e[5U] = { 0U }; + uint64_t u0 = load64_le(block); + uint64_t lo = u0; + uint64_t u = load64_le(block + (uint32_t)8U); + uint64_t hi = u; + uint64_t f0 = lo; + uint64_t f1 = hi; + uint64_t f010 = f0 & (uint64_t)0x3ffffffU; + uint64_t f110 = f0 >> (uint32_t)26U & (uint64_t)0x3ffffffU; + uint64_t f20 = f0 >> (uint32_t)52U | (f1 & (uint64_t)0x3fffU) << (uint32_t)12U; + uint64_t f30 = f1 >> (uint32_t)14U & (uint64_t)0x3ffffffU; + uint64_t f40 = f1 >> (uint32_t)40U; + uint64_t f01 = f010; + uint64_t f111 = f110; + uint64_t f2 = f20; + uint64_t f3 = f30; + uint64_t f41 = f40; + e[0U] = f01; + e[1U] = f111; + e[2U] = f2; + e[3U] = f3; + e[4U] = f41; + uint64_t b = (uint64_t)0x1000000U; + uint64_t mask = b; + uint64_t f4 = e[4U]; + e[4U] = f4 | mask; + uint64_t *r1 = pre0; + uint64_t *r5 = pre0 + (uint32_t)5U; + uint64_t r0 = r1[0U]; + uint64_t r11 = r1[1U]; + uint64_t r2 = r1[2U]; + uint64_t r3 = r1[3U]; + uint64_t r4 = r1[4U]; + uint64_t r51 = r5[1U]; + uint64_t r52 = r5[2U]; + uint64_t r53 = r5[3U]; + uint64_t r54 = r5[4U]; + uint64_t f10 = e[0U]; + uint64_t f11 = e[1U]; + uint64_t f12 = e[2U]; + uint64_t f13 = e[3U]; + uint64_t f14 = e[4U]; + uint64_t a0 = acc0[0U]; + uint64_t a1 = acc0[1U]; + uint64_t a2 = acc0[2U]; + uint64_t a3 = acc0[3U]; + uint64_t a4 = acc0[4U]; + uint64_t a01 = a0 + f10; + uint64_t a11 = a1 + f11; + uint64_t a21 = a2 + f12; + uint64_t a31 = a3 + f13; + uint64_t a41 = a4 + f14; + uint64_t a02 = r0 * a01; + uint64_t a12 = r11 * a01; + uint64_t a22 = r2 * a01; + uint64_t a32 = r3 * a01; + uint64_t a42 = r4 * a01; + uint64_t a03 = a02 + r54 * a11; + uint64_t a13 = a12 + r0 * a11; + uint64_t a23 = a22 + r11 * a11; + uint64_t a33 = a32 + r2 * a11; + uint64_t a43 = a42 + r3 * a11; + uint64_t a04 = a03 + r53 * a21; + uint64_t a14 = a13 + r54 * a21; + uint64_t a24 = a23 + r0 * a21; + uint64_t a34 = a33 + r11 * a21; + uint64_t a44 = a43 + r2 * a21; + uint64_t a05 = a04 + r52 * a31; + uint64_t a15 = a14 + r53 * a31; + uint64_t a25 = a24 + r54 * a31; + uint64_t a35 = a34 + r0 * a31; + uint64_t a45 = a44 + r11 * a31; + uint64_t a06 = a05 + r51 * a41; + uint64_t a16 = a15 + r52 * a41; + uint64_t a26 = a25 + r53 * a41; + uint64_t a36 = a35 + r54 * a41; + uint64_t a46 = a45 + r0 * a41; + uint64_t t0 = a06; + uint64_t t1 = a16; + uint64_t t2 = a26; + uint64_t t3 = a36; + uint64_t t4 = a46; + uint64_t mask26 = (uint64_t)0x3ffffffU; + uint64_t z0 = t0 >> (uint32_t)26U; + uint64_t z1 = t3 >> (uint32_t)26U; + uint64_t x0 = t0 & mask26; + uint64_t x3 = t3 & mask26; + uint64_t x1 = t1 + z0; + uint64_t x4 = t4 + z1; + uint64_t z01 = x1 >> (uint32_t)26U; + uint64_t z11 = x4 >> (uint32_t)26U; + uint64_t t = z11 << (uint32_t)2U; + uint64_t z12 = z11 + t; + uint64_t x11 = x1 & mask26; + uint64_t x41 = x4 & mask26; + uint64_t x2 = t2 + z01; + uint64_t x01 = x0 + z12; + uint64_t z02 = x2 >> (uint32_t)26U; + uint64_t z13 = x01 >> (uint32_t)26U; + uint64_t x21 = x2 & mask26; + uint64_t x02 = x01 & mask26; + uint64_t x31 = x3 + z02; + uint64_t x12 = x11 + z13; + uint64_t z03 = x31 >> (uint32_t)26U; + uint64_t x32 = x31 & mask26; + uint64_t x42 = x41 + z03; + uint64_t o0 = x02; + uint64_t o1 = x12; + uint64_t o2 = x21; + uint64_t o3 = x32; + uint64_t o4 = x42; + acc0[0U] = o0; + acc0[1U] = o1; + acc0[2U] = o2; + acc0[3U] = o3; + acc0[4U] = o4; + } + if (rem1 > (uint32_t)0U) { + uint8_t *last = blocks + nb * (uint32_t)16U; + uint64_t e[5U] = { 0U }; + uint8_t tmp[16U] = { 0U }; + memcpy(tmp, last, rem1 * sizeof(last[0U])); + uint64_t u0 = load64_le(tmp); + uint64_t lo = u0; + uint64_t u = load64_le(tmp + (uint32_t)8U); + uint64_t hi = u; + uint64_t f0 = lo; + uint64_t f1 = hi; + uint64_t f010 = f0 & (uint64_t)0x3ffffffU; + uint64_t f110 = f0 >> (uint32_t)26U & (uint64_t)0x3ffffffU; + uint64_t f20 = f0 >> (uint32_t)52U | (f1 & (uint64_t)0x3fffU) << (uint32_t)12U; + uint64_t f30 = f1 >> (uint32_t)14U & (uint64_t)0x3ffffffU; + uint64_t f40 = f1 >> (uint32_t)40U; + uint64_t f01 = f010; + uint64_t f111 = f110; + uint64_t f2 = f20; + uint64_t f3 = f30; + uint64_t f4 = f40; + e[0U] = f01; + e[1U] = f111; + e[2U] = f2; + e[3U] = f3; + e[4U] = f4; + uint64_t b = (uint64_t)1U << rem1 * (uint32_t)8U % (uint32_t)26U; + uint64_t mask = b; + uint64_t fi = e[rem1 * (uint32_t)8U / (uint32_t)26U]; + e[rem1 * (uint32_t)8U / (uint32_t)26U] = fi | mask; + uint64_t *r1 = pre0; + uint64_t *r5 = pre0 + (uint32_t)5U; + uint64_t r0 = r1[0U]; + uint64_t r11 = r1[1U]; + uint64_t r2 = r1[2U]; + uint64_t r3 = r1[3U]; + uint64_t r4 = r1[4U]; + uint64_t r51 = r5[1U]; + uint64_t r52 = r5[2U]; + uint64_t r53 = r5[3U]; + uint64_t r54 = r5[4U]; + uint64_t f10 = e[0U]; + uint64_t f11 = e[1U]; + uint64_t f12 = e[2U]; + uint64_t f13 = e[3U]; + uint64_t f14 = e[4U]; + uint64_t a0 = acc0[0U]; + uint64_t a1 = acc0[1U]; + uint64_t a2 = acc0[2U]; + uint64_t a3 = acc0[3U]; + uint64_t a4 = acc0[4U]; + uint64_t a01 = a0 + f10; + uint64_t a11 = a1 + f11; + uint64_t a21 = a2 + f12; + uint64_t a31 = a3 + f13; + uint64_t a41 = a4 + f14; + uint64_t a02 = r0 * a01; + uint64_t a12 = r11 * a01; + uint64_t a22 = r2 * a01; + uint64_t a32 = r3 * a01; + uint64_t a42 = r4 * a01; + uint64_t a03 = a02 + r54 * a11; + uint64_t a13 = a12 + r0 * a11; + uint64_t a23 = a22 + r11 * a11; + uint64_t a33 = a32 + r2 * a11; + uint64_t a43 = a42 + r3 * a11; + uint64_t a04 = a03 + r53 * a21; + uint64_t a14 = a13 + r54 * a21; + uint64_t a24 = a23 + r0 * a21; + uint64_t a34 = a33 + r11 * a21; + uint64_t a44 = a43 + r2 * a21; + uint64_t a05 = a04 + r52 * a31; + uint64_t a15 = a14 + r53 * a31; + uint64_t a25 = a24 + r54 * a31; + uint64_t a35 = a34 + r0 * a31; + uint64_t a45 = a44 + r11 * a31; + uint64_t a06 = a05 + r51 * a41; + uint64_t a16 = a15 + r52 * a41; + uint64_t a26 = a25 + r53 * a41; + uint64_t a36 = a35 + r54 * a41; + uint64_t a46 = a45 + r0 * a41; + uint64_t t0 = a06; + uint64_t t1 = a16; + uint64_t t2 = a26; + uint64_t t3 = a36; + uint64_t t4 = a46; + uint64_t mask26 = (uint64_t)0x3ffffffU; + uint64_t z0 = t0 >> (uint32_t)26U; + uint64_t z1 = t3 >> (uint32_t)26U; + uint64_t x0 = t0 & mask26; + uint64_t x3 = t3 & mask26; + uint64_t x1 = t1 + z0; + uint64_t x4 = t4 + z1; + uint64_t z01 = x1 >> (uint32_t)26U; + uint64_t z11 = x4 >> (uint32_t)26U; + uint64_t t = z11 << (uint32_t)2U; + uint64_t z12 = z11 + t; + uint64_t x11 = x1 & mask26; + uint64_t x41 = x4 & mask26; + uint64_t x2 = t2 + z01; + uint64_t x01 = x0 + z12; + uint64_t z02 = x2 >> (uint32_t)26U; + uint64_t z13 = x01 >> (uint32_t)26U; + uint64_t x21 = x2 & mask26; + uint64_t x02 = x01 & mask26; + uint64_t x31 = x3 + z02; + uint64_t x12 = x11 + z13; + uint64_t z03 = x31 >> (uint32_t)26U; + uint64_t x32 = x31 & mask26; + uint64_t x42 = x41 + z03; + uint64_t o0 = x02; + uint64_t o1 = x12; + uint64_t o2 = x21; + uint64_t o3 = x32; + uint64_t o4 = x42; + acc0[0U] = o0; + acc0[1U] = o1; + acc0[2U] = o2; + acc0[3U] = o3; + acc0[4U] = o4; + } + uint8_t tmp[16U] = { 0U }; + memcpy(tmp, rem, r * sizeof(rem[0U])); + if (r > (uint32_t)0U) { + uint64_t *pre = ctx + (uint32_t)5U; + uint64_t *acc = ctx; + uint64_t e[5U] = { 0U }; + uint64_t u0 = load64_le(tmp); + uint64_t lo = u0; + uint64_t u = load64_le(tmp + (uint32_t)8U); + uint64_t hi = u; + uint64_t f0 = lo; + uint64_t f1 = hi; + uint64_t f010 = f0 & (uint64_t)0x3ffffffU; + uint64_t f110 = f0 >> (uint32_t)26U & (uint64_t)0x3ffffffU; + uint64_t f20 = f0 >> (uint32_t)52U | (f1 & (uint64_t)0x3fffU) << (uint32_t)12U; + uint64_t f30 = f1 >> (uint32_t)14U & (uint64_t)0x3ffffffU; + uint64_t f40 = f1 >> (uint32_t)40U; + uint64_t f01 = f010; + uint64_t f111 = f110; + uint64_t f2 = f20; + uint64_t f3 = f30; + uint64_t f41 = f40; + e[0U] = f01; + e[1U] = f111; + e[2U] = f2; + e[3U] = f3; + e[4U] = f41; + uint64_t b = (uint64_t)0x1000000U; + uint64_t mask = b; + uint64_t f4 = e[4U]; + e[4U] = f4 | mask; + uint64_t *r1 = pre; + uint64_t *r5 = pre + (uint32_t)5U; + uint64_t r0 = r1[0U]; + uint64_t r11 = r1[1U]; + uint64_t r2 = r1[2U]; + uint64_t r3 = r1[3U]; + uint64_t r4 = r1[4U]; + uint64_t r51 = r5[1U]; + uint64_t r52 = r5[2U]; + uint64_t r53 = r5[3U]; + uint64_t r54 = r5[4U]; + uint64_t f10 = e[0U]; + uint64_t f11 = e[1U]; + uint64_t f12 = e[2U]; + uint64_t f13 = e[3U]; + uint64_t f14 = e[4U]; + uint64_t a0 = acc[0U]; + uint64_t a1 = acc[1U]; + uint64_t a2 = acc[2U]; + uint64_t a3 = acc[3U]; + uint64_t a4 = acc[4U]; + uint64_t a01 = a0 + f10; + uint64_t a11 = a1 + f11; + uint64_t a21 = a2 + f12; + uint64_t a31 = a3 + f13; + uint64_t a41 = a4 + f14; + uint64_t a02 = r0 * a01; + uint64_t a12 = r11 * a01; + uint64_t a22 = r2 * a01; + uint64_t a32 = r3 * a01; + uint64_t a42 = r4 * a01; + uint64_t a03 = a02 + r54 * a11; + uint64_t a13 = a12 + r0 * a11; + uint64_t a23 = a22 + r11 * a11; + uint64_t a33 = a32 + r2 * a11; + uint64_t a43 = a42 + r3 * a11; + uint64_t a04 = a03 + r53 * a21; + uint64_t a14 = a13 + r54 * a21; + uint64_t a24 = a23 + r0 * a21; + uint64_t a34 = a33 + r11 * a21; + uint64_t a44 = a43 + r2 * a21; + uint64_t a05 = a04 + r52 * a31; + uint64_t a15 = a14 + r53 * a31; + uint64_t a25 = a24 + r54 * a31; + uint64_t a35 = a34 + r0 * a31; + uint64_t a45 = a44 + r11 * a31; + uint64_t a06 = a05 + r51 * a41; + uint64_t a16 = a15 + r52 * a41; + uint64_t a26 = a25 + r53 * a41; + uint64_t a36 = a35 + r54 * a41; + uint64_t a46 = a45 + r0 * a41; + uint64_t t0 = a06; + uint64_t t1 = a16; + uint64_t t2 = a26; + uint64_t t3 = a36; + uint64_t t4 = a46; + uint64_t mask26 = (uint64_t)0x3ffffffU; + uint64_t z0 = t0 >> (uint32_t)26U; + uint64_t z1 = t3 >> (uint32_t)26U; + uint64_t x0 = t0 & mask26; + uint64_t x3 = t3 & mask26; + uint64_t x1 = t1 + z0; + uint64_t x4 = t4 + z1; + uint64_t z01 = x1 >> (uint32_t)26U; + uint64_t z11 = x4 >> (uint32_t)26U; + uint64_t t = z11 << (uint32_t)2U; + uint64_t z12 = z11 + t; + uint64_t x11 = x1 & mask26; + uint64_t x41 = x4 & mask26; + uint64_t x2 = t2 + z01; + uint64_t x01 = x0 + z12; + uint64_t z02 = x2 >> (uint32_t)26U; + uint64_t z13 = x01 >> (uint32_t)26U; + uint64_t x21 = x2 & mask26; + uint64_t x02 = x01 & mask26; + uint64_t x31 = x3 + z02; + uint64_t x12 = x11 + z13; + uint64_t z03 = x31 >> (uint32_t)26U; + uint64_t x32 = x31 & mask26; + uint64_t x42 = x41 + z03; + uint64_t o0 = x02; + uint64_t o1 = x12; + uint64_t o2 = x21; + uint64_t o3 = x32; + uint64_t o4 = x42; + acc[0U] = o0; + acc[1U] = o1; + acc[2U] = o2; + acc[3U] = o3; + acc[4U] = o4; + return; + } +} + +static inline void +poly1305_do_32( + uint8_t *k, + uint32_t aadlen, + uint8_t *aad, + uint32_t mlen, + uint8_t *m, + uint8_t *out) +{ + uint64_t ctx[25U] = { 0U }; + uint8_t block[16U] = { 0U }; + Hacl_Poly1305_32_poly1305_init(ctx, k); + poly1305_padded_32(ctx, aadlen, aad); + poly1305_padded_32(ctx, mlen, m); + store64_le(block, (uint64_t)aadlen); + store64_le(block + (uint32_t)8U, (uint64_t)mlen); + uint64_t *pre = ctx + (uint32_t)5U; + uint64_t *acc = ctx; + uint64_t e[5U] = { 0U }; + uint64_t u0 = load64_le(block); + uint64_t lo = u0; + uint64_t u = load64_le(block + (uint32_t)8U); + uint64_t hi = u; + uint64_t f0 = lo; + uint64_t f1 = hi; + uint64_t f010 = f0 & (uint64_t)0x3ffffffU; + uint64_t f110 = f0 >> (uint32_t)26U & (uint64_t)0x3ffffffU; + uint64_t f20 = f0 >> (uint32_t)52U | (f1 & (uint64_t)0x3fffU) << (uint32_t)12U; + uint64_t f30 = f1 >> (uint32_t)14U & (uint64_t)0x3ffffffU; + uint64_t f40 = f1 >> (uint32_t)40U; + uint64_t f01 = f010; + uint64_t f111 = f110; + uint64_t f2 = f20; + uint64_t f3 = f30; + uint64_t f41 = f40; + e[0U] = f01; + e[1U] = f111; + e[2U] = f2; + e[3U] = f3; + e[4U] = f41; + uint64_t b = (uint64_t)0x1000000U; + uint64_t mask = b; + uint64_t f4 = e[4U]; + e[4U] = f4 | mask; + uint64_t *r = pre; + uint64_t *r5 = pre + (uint32_t)5U; + uint64_t r0 = r[0U]; + uint64_t r1 = r[1U]; + uint64_t r2 = r[2U]; + uint64_t r3 = r[3U]; + uint64_t r4 = r[4U]; + uint64_t r51 = r5[1U]; + uint64_t r52 = r5[2U]; + uint64_t r53 = r5[3U]; + uint64_t r54 = r5[4U]; + uint64_t f10 = e[0U]; + uint64_t f11 = e[1U]; + uint64_t f12 = e[2U]; + uint64_t f13 = e[3U]; + uint64_t f14 = e[4U]; + uint64_t a0 = acc[0U]; + uint64_t a1 = acc[1U]; + uint64_t a2 = acc[2U]; + uint64_t a3 = acc[3U]; + uint64_t a4 = acc[4U]; + uint64_t a01 = a0 + f10; + uint64_t a11 = a1 + f11; + uint64_t a21 = a2 + f12; + uint64_t a31 = a3 + f13; + uint64_t a41 = a4 + f14; + uint64_t a02 = r0 * a01; + uint64_t a12 = r1 * a01; + uint64_t a22 = r2 * a01; + uint64_t a32 = r3 * a01; + uint64_t a42 = r4 * a01; + uint64_t a03 = a02 + r54 * a11; + uint64_t a13 = a12 + r0 * a11; + uint64_t a23 = a22 + r1 * a11; + uint64_t a33 = a32 + r2 * a11; + uint64_t a43 = a42 + r3 * a11; + uint64_t a04 = a03 + r53 * a21; + uint64_t a14 = a13 + r54 * a21; + uint64_t a24 = a23 + r0 * a21; + uint64_t a34 = a33 + r1 * a21; + uint64_t a44 = a43 + r2 * a21; + uint64_t a05 = a04 + r52 * a31; + uint64_t a15 = a14 + r53 * a31; + uint64_t a25 = a24 + r54 * a31; + uint64_t a35 = a34 + r0 * a31; + uint64_t a45 = a44 + r1 * a31; + uint64_t a06 = a05 + r51 * a41; + uint64_t a16 = a15 + r52 * a41; + uint64_t a26 = a25 + r53 * a41; + uint64_t a36 = a35 + r54 * a41; + uint64_t a46 = a45 + r0 * a41; + uint64_t t0 = a06; + uint64_t t1 = a16; + uint64_t t2 = a26; + uint64_t t3 = a36; + uint64_t t4 = a46; + uint64_t mask26 = (uint64_t)0x3ffffffU; + uint64_t z0 = t0 >> (uint32_t)26U; + uint64_t z1 = t3 >> (uint32_t)26U; + uint64_t x0 = t0 & mask26; + uint64_t x3 = t3 & mask26; + uint64_t x1 = t1 + z0; + uint64_t x4 = t4 + z1; + uint64_t z01 = x1 >> (uint32_t)26U; + uint64_t z11 = x4 >> (uint32_t)26U; + uint64_t t = z11 << (uint32_t)2U; + uint64_t z12 = z11 + t; + uint64_t x11 = x1 & mask26; + uint64_t x41 = x4 & mask26; + uint64_t x2 = t2 + z01; + uint64_t x01 = x0 + z12; + uint64_t z02 = x2 >> (uint32_t)26U; + uint64_t z13 = x01 >> (uint32_t)26U; + uint64_t x21 = x2 & mask26; + uint64_t x02 = x01 & mask26; + uint64_t x31 = x3 + z02; + uint64_t x12 = x11 + z13; + uint64_t z03 = x31 >> (uint32_t)26U; + uint64_t x32 = x31 & mask26; + uint64_t x42 = x41 + z03; + uint64_t o0 = x02; + uint64_t o1 = x12; + uint64_t o2 = x21; + uint64_t o3 = x32; + uint64_t o4 = x42; + acc[0U] = o0; + acc[1U] = o1; + acc[2U] = o2; + acc[3U] = o3; + acc[4U] = o4; + Hacl_Poly1305_32_poly1305_finish(out, k, ctx); +} + +void +Chacha20Poly1305_vsx_aead_encrypt( + uint8_t *k, + uint8_t *n, + uint32_t aadlen, + uint8_t *aad, + uint32_t mlen, + uint8_t *m, + uint8_t *cipher, + uint8_t *mac) +{ + chacha20vsx(mlen, cipher, m, k, n, (uint32_t)1U); + uint8_t tmp[64U] = { 0U }; + chacha20vsx((uint32_t)64U, tmp, tmp, k, n, (uint32_t)0U); + uint8_t *key = tmp; + poly1305_do_32(key, aadlen, aad, mlen, cipher, mac); +} + +uint32_t +Chacha20Poly1305_vsx_aead_decrypt( + uint8_t *k, + uint8_t *n, + uint32_t aadlen, + uint8_t *aad, + uint32_t mlen, + uint8_t *m, + uint8_t *cipher, + uint8_t *mac) +{ + uint8_t computed_mac[16U] = { 0U }; + uint8_t tmp[64U] = { 0U }; + chacha20vsx((uint32_t)64U, tmp, tmp, k, n, (uint32_t)0U); + uint8_t *key = tmp; + poly1305_do_32(key, aadlen, aad, mlen, cipher, computed_mac); + uint8_t res = (uint8_t)255U; + for (uint32_t i = (uint32_t)0U; i < (uint32_t)16U; i++) { + uint8_t uu____0 = FStar_UInt8_eq_mask(computed_mac[i], mac[i]); + res = uu____0 & res; + } + uint8_t z = res; + if (z == (uint8_t)255U) { + chacha20vsx(mlen, m, cipher, k, n, (uint32_t)1U); + return (uint32_t)0U; + } + return (uint32_t)1U; +} diff --git a/libs/nss/src/lib/freebl/chacha20poly1305.c b/libs/nss/src/lib/freebl/chacha20poly1305.c index 5c294a9ea..cfb56fca6 100644 --- a/libs/nss/src/lib/freebl/chacha20poly1305.c +++ b/libs/nss/src/lib/freebl/chacha20poly1305.c @@ -69,6 +69,80 @@ Hacl_Chacha20Poly1305_32_aead_decrypt(uint8_t *k, uint8_t *n1, uint32_t aadlen, uint8_t *aad, uint32_t mlen, uint8_t *m, uint8_t *cipher, uint8_t *mac); +// Forward declaration from chacha20-ppc64le.S +void chacha20vsx(uint32_t len, uint8_t *output, uint8_t *block, uint8_t *k, + uint8_t *nonce, uint32_t ctr); + +// Forward declaration from chacha20poly1305-ppc.c +extern void +Chacha20Poly1305_vsx_aead_encrypt(uint8_t *k, uint8_t *n1, uint32_t aadlen, + uint8_t *aad, uint32_t mlen, uint8_t *m, + uint8_t *cipher, uint8_t *mac); +extern uint32_t +Chacha20Poly1305_vsx_aead_decrypt(uint8_t *k, uint8_t *n1, uint32_t aadlen, + uint8_t *aad, uint32_t mlen, uint8_t *m, + uint8_t *cipher, uint8_t *mac); + +SECStatus +ChaCha20_InitContext(ChaCha20Context *ctx, const unsigned char *key, + unsigned int keyLen, const unsigned char *nonce, + unsigned int nonceLen, PRUint32 ctr) +{ +#ifdef NSS_DISABLE_CHACHAPOLY + return SECFailure; +#else + if (keyLen != 32) { + PORT_SetError(SEC_ERROR_BAD_KEY); + return SECFailure; + } + if (nonceLen != 12) { + PORT_SetError(SEC_ERROR_INVALID_ARGS); + return SECFailure; + } + + ctx->counter = ctr; + PORT_Memcpy(ctx->key, key, sizeof(ctx->key)); + PORT_Memcpy(ctx->nonce, nonce, sizeof(ctx->nonce)); + + return SECSuccess; +#endif +} + +ChaCha20Context * +ChaCha20_CreateContext(const unsigned char *key, unsigned int keyLen, + const unsigned char *nonce, unsigned int nonceLen, + PRUint32 ctr) +{ +#ifdef NSS_DISABLE_CHACHAPOLY + return NULL; +#else + ChaCha20Context *ctx; + + ctx = PORT_New(ChaCha20Context); + if (ctx == NULL) { + return NULL; + } + + if (ChaCha20_InitContext(ctx, key, keyLen, nonce, nonceLen, ctr) != SECSuccess) { + PORT_Free(ctx); + ctx = NULL; + } + + return ctx; +#endif +} + +void +ChaCha20_DestroyContext(ChaCha20Context *ctx, PRBool freeit) +{ +#ifndef NSS_DISABLE_CHACHAPOLY + PORT_Memset(ctx, 0, sizeof(*ctx)); + if (freeit) { + PORT_Free(ctx); + } +#endif +} + SECStatus ChaCha20Poly1305_InitContext(ChaCha20Poly1305Context *ctx, const unsigned char *key, unsigned int keyLen, @@ -144,6 +218,11 @@ ChaCha20Xor(uint8_t *output, uint8_t *block, uint32_t len, uint8_t *k, } #endif } else +#elif defined(__powerpc64__) && defined(__LITTLE_ENDIAN__) && \ + !defined(NSS_DISABLE_ALTIVEC) && !defined(NSS_DISABLE_CRYPTO_VSX) + if (ppc_crypto_support()) { + chacha20vsx(len, output, block, k, nonce, ctr); + } else #endif { Hacl_Chacha20_chacha20_encrypt(len, output, block, k, nonce, ctr); @@ -212,6 +291,13 @@ ChaCha20Poly1305_Seal(const ChaCha20Poly1305Context *ctx, unsigned char *output, } #endif } else +#elif defined(__powerpc64__) && defined(__LITTLE_ENDIAN__) && \ + !defined(NSS_DISABLE_ALTIVEC) && !defined(NSS_DISABLE_CRYPTO_VSX) + if (ppc_crypto_support()) { + Chacha20Poly1305_vsx_aead_encrypt( + (uint8_t *)ctx->key, (uint8_t *)nonce, adLen, (uint8_t *)ad, inputLen, + (uint8_t *)input, output, output + inputLen); + } else #endif { Hacl_Chacha20Poly1305_32_aead_encrypt( @@ -274,6 +360,13 @@ ChaCha20Poly1305_Open(const ChaCha20Poly1305Context *ctx, unsigned char *output, } #endif } else +#elif defined(__powerpc64__) && defined(__LITTLE_ENDIAN__) && \ + !defined(NSS_DISABLE_ALTIVEC) && !defined(NSS_DISABLE_CRYPTO_VSX) + if (ppc_crypto_support()) { + res = Chacha20Poly1305_vsx_aead_decrypt( + (uint8_t *)ctx->key, (uint8_t *)nonce, adLen, (uint8_t *)ad, ciphertextLen, + (uint8_t *)output, (uint8_t *)input, (uint8_t *)input + ciphertextLen); + } else #endif { res = Hacl_Chacha20Poly1305_32_aead_decrypt( @@ -323,6 +416,13 @@ ChaCha20Poly1305_Encrypt(const ChaCha20Poly1305Context *ctx, (uint8_t *)ctx->key, (uint8_t *)nonce, adLen, (uint8_t *)ad, inputLen, (uint8_t *)input, output, outTag); } else +#elif defined(__powerpc64__) && defined(__LITTLE_ENDIAN__) && \ + !defined(NSS_DISABLE_ALTIVEC) && !defined(NSS_DISABLE_CRYPTO_VSX) + if (ppc_crypto_support()) { + Chacha20Poly1305_vsx_aead_encrypt( + (uint8_t *)ctx->key, (uint8_t *)nonce, adLen, (uint8_t *)ad, inputLen, + (uint8_t *)input, output, outTag); + } else #endif { Hacl_Chacha20Poly1305_32_aead_encrypt( @@ -370,6 +470,13 @@ ChaCha20Poly1305_Decrypt(const ChaCha20Poly1305Context *ctx, (uint8_t *)ctx->key, (uint8_t *)nonce, adLen, (uint8_t *)ad, ciphertextLen, (uint8_t *)output, (uint8_t *)input, (uint8_t *)tagIn); } else +#elif defined(__powerpc64__) && defined(__LITTLE_ENDIAN__) && \ + !defined(NSS_DISABLE_ALTIVEC) && !defined(NSS_DISABLE_CRYPTO_VSX) + if (ppc_crypto_support()) { + res = Chacha20Poly1305_vsx_aead_decrypt( + (uint8_t *)ctx->key, (uint8_t *)nonce, adLen, (uint8_t *)ad, ciphertextLen, + (uint8_t *)output, (uint8_t *)input, (uint8_t *)tagIn); + } else #endif { res = Hacl_Chacha20Poly1305_32_aead_decrypt( diff --git a/libs/nss/src/lib/freebl/chacha20poly1305.h b/libs/nss/src/lib/freebl/chacha20poly1305.h index c77632aa1..fff528af3 100644 --- a/libs/nss/src/lib/freebl/chacha20poly1305.h +++ b/libs/nss/src/lib/freebl/chacha20poly1305.h @@ -12,4 +12,10 @@ struct ChaCha20Poly1305ContextStr { unsigned char tagLen; }; +struct ChaCha20ContextStr { + unsigned char key[32]; + unsigned char nonce[12]; + PRUint32 counter; +}; + #endif /* _CHACHA20_POLY1305_H_ */ diff --git a/libs/nss/src/lib/freebl/freebl.gyp b/libs/nss/src/lib/freebl/freebl.gyp index 6578fac6a..865f89232 100644 --- a/libs/nss/src/lib/freebl/freebl.gyp +++ b/libs/nss/src/lib/freebl/freebl.gyp @@ -264,14 +264,25 @@ 'dependencies': [ '<(DEPTH)/exports.gyp:nss_exports' ], - 'cflags': [ - '-mcrypto', - '-maltivec' - ], - 'cflags_mozilla': [ - '-mcrypto', - '-maltivec' - ], + 'conditions': [ + [ 'disable_crypto_vsx==0', { + 'cflags': [ + '-mcrypto', + '-maltivec' + ], + 'cflags_mozilla': [ + '-mcrypto', + '-maltivec' + ], + }, 'disable_crypto_vsx==1', { + 'cflags': [ + '-maltivec' + ], + 'cflags_mozilla': [ + '-maltivec' + ], + }] + ] }, { 'target_name': 'gcm-sha512-nodepend-ppc_c_lib', @@ -282,20 +293,35 @@ 'dependencies': [ '<(DEPTH)/exports.gyp:nss_exports' ], - 'cflags': [ - '-mcrypto', - '-maltivec', - '-mvsx', - '-funroll-loops', - '-fpeel-loops', - ], - 'cflags_mozilla': [ - '-mcrypto', - '-maltivec', - '-mvsx', - '-funroll-loops', - '-fpeel-loops', - ], + 'conditions': [ + [ 'disable_crypto_vsx==0', { + 'cflags': [ + '-mcrypto', + '-maltivec', + '-mvsx', + '-funroll-loops', + '-fpeel-loops' + ], + 'cflags_mozilla': [ + '-mcrypto', + '-maltivec', + '-mvsx', + '-funroll-loops', + '-fpeel-loops' + ], + }, 'disable_crypto_vsx==1', { + 'cflags': [ + '-maltivec', + '-funroll-loops', + '-fpeel-loops' + ], + 'cflags_mozilla': [ + '-maltivec', + '-funroll-loops', + '-fpeel-loops' + ], + }] + ] }, { 'target_name': 'gcm-sha512-ppc_c_lib', @@ -306,25 +332,48 @@ 'dependencies': [ '<(DEPTH)/exports.gyp:nss_exports' ], - 'cflags': [ - '-mcrypto', - '-maltivec', - '-mvsx', - '-funroll-loops', - '-fpeel-loops', - ], - 'cflags_mozilla': [ - '-mcrypto', - '-maltivec', - '-mvsx', - '-funroll-loops', - '-fpeel-loops', + 'conditions': [ + [ 'disable_crypto_vsx==0', { + 'cflags': [ + '-mcrypto', + '-maltivec', + '-mvsx', + '-funroll-loops', + '-fpeel-loops' + ], + 'cflags_mozilla': [ + '-mcrypto', + '-maltivec', + '-mvsx', + '-funroll-loops', + '-fpeel-loops' + ], + }, 'disable_crypto_vsx==1', { + 'cflags': [ + '-maltivec', + '-funroll-loops', + '-fpeel-loops' + ], + 'cflags_mozilla': [ + '-maltivec', + '-funroll-loops', + '-fpeel-loops' + ], + }] ], 'defines!': [ 'FREEBL_NO_DEPEND', ], }, { + 'target_name': 'chacha20-ppc_lib', + 'type': 'static_library', + 'sources': [ + 'chacha20poly1305-ppc.c', + 'chacha20-ppc64le.S', + ] + }, + { 'target_name': 'armv8_c_lib', 'type': 'static_library', 'sources': [ @@ -406,10 +455,17 @@ 'gcm-aes-aarch64_c_lib', ], }], - [ 'disable_altivec==0 and (target_arch=="ppc64" or target_arch=="ppc64le")', { + [ 'disable_altivec==0 and target_arch=="ppc64"', { + 'dependencies': [ + 'gcm-aes-ppc_c_lib', + 'gcm-sha512-ppc_c_lib', + ], + }], + [ 'disable_altivec==0 and target_arch=="ppc64le"', { 'dependencies': [ 'gcm-aes-ppc_c_lib', 'gcm-sha512-ppc_c_lib', + 'chacha20-ppc_lib', ], }], [ 'disable_altivec==1 and (target_arch=="ppc64" or target_arch=="ppc64le")', { @@ -417,6 +473,11 @@ 'NSS_DISABLE_ALTIVEC', ], }], + [ 'disable_crypto_vsx==1 and (target_arch=="ppc" or target_arch=="ppc64" or target_arch=="ppc64le")', { + 'defines!': [ + 'NSS_DISABLE_CRYPTO_VSX', + ], + }], [ 'OS=="linux"', { 'defines!': [ 'FREEBL_NO_DEPEND', @@ -485,6 +546,11 @@ 'NSS_DISABLE_ALTIVEC', ], }], + [ 'disable_crypto_vsx==1 and (target_arch=="ppc" or target_arch=="ppc64" or target_arch=="ppc64le")', { + 'defines!': [ + 'NSS_DISABLE_CRYPTO_VSX', + ], + }], [ 'OS!="linux"', { 'conditions': [ [ 'moz_fold_libs==0', { diff --git a/libs/nss/src/lib/freebl/freebl_base.gypi b/libs/nss/src/lib/freebl/freebl_base.gypi index 39ec14982..afbffac72 100644 --- a/libs/nss/src/lib/freebl/freebl_base.gypi +++ b/libs/nss/src/lib/freebl/freebl_base.gypi @@ -95,6 +95,12 @@ 'mpi/mpi_arm.c', ], }], + [ 'target_arch=="ppc64le"', { + 'sources': [ + 'chacha20poly1305-ppc.c', + 'chacha20-ppc64le.S', + ], + }] ], }], [ 'OS=="win"', { diff --git a/libs/nss/src/lib/freebl/ldvector.c b/libs/nss/src/lib/freebl/ldvector.c index f14425f21..ac3b862b5 100644 --- a/libs/nss/src/lib/freebl/ldvector.c +++ b/libs/nss/src/lib/freebl/ldvector.c @@ -371,9 +371,14 @@ static const struct FREEBLVectorStr vector = AESKeyWrap_DecryptKWP, /* End of version 3.023 */ - KEA_PrimeCheck + KEA_PrimeCheck, /* End of version 3.024 */ + ChaCha20_InitContext, + ChaCha20_CreateContext, + ChaCha20_DestroyContext + + /* End of version 3.025 */ }; const FREEBLVector* diff --git a/libs/nss/src/lib/freebl/loader.c b/libs/nss/src/lib/freebl/loader.c index 891516fa5..692a8831b 100644 --- a/libs/nss/src/lib/freebl/loader.c +++ b/libs/nss/src/lib/freebl/loader.c @@ -2159,6 +2159,36 @@ ChaCha20_Xor(unsigned char *output, const unsigned char *block, unsigned int len } SECStatus +ChaCha20_InitContext(ChaCha20Context *ctx, const unsigned char *key, + unsigned int keyLen, + const unsigned char *nonce, + unsigned int nonceLen, + PRUint32 ctr) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return SECFailure; + return (vector->p_ChaCha20_InitContext)(ctx, key, keyLen, nonce, nonceLen, ctr); +} + +ChaCha20Context * +ChaCha20_CreateContext(const unsigned char *key, unsigned int keyLen, + const unsigned char *nonce, unsigned int nonceLen, + PRUint32 ctr) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return NULL; + return (vector->p_ChaCha20_CreateContext)(key, keyLen, nonce, nonceLen, ctr); +} + +void +ChaCha20_DestroyContext(ChaCha20Context *ctx, PRBool freeit) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_ChaCha20_DestroyContext)(ctx, freeit); +} + +SECStatus ChaCha20Poly1305_InitContext(ChaCha20Poly1305Context *ctx, const unsigned char *key, unsigned int keyLen, unsigned int tagLen) diff --git a/libs/nss/src/lib/freebl/loader.h b/libs/nss/src/lib/freebl/loader.h index 0b5ee5ef0..eb3046d27 100644 --- a/libs/nss/src/lib/freebl/loader.h +++ b/libs/nss/src/lib/freebl/loader.h @@ -10,7 +10,7 @@ #include "blapi.h" -#define FREEBL_VERSION 0x0324 +#define FREEBL_VERSION 0x0325 struct FREEBLVectorStr { @@ -815,6 +815,23 @@ struct FREEBLVectorStr { PRBool (*p_KEA_PrimeCheck)(SECItem *prime); /* Version 3.024 came to here */ + SECStatus (*p_ChaCha20_InitContext)(ChaCha20Context *ctx, + const unsigned char *key, + unsigned int keyLen, + const unsigned char *nonce, + unsigned int nonceLen, + PRUint32 ctr); + + ChaCha20Context *(*p_ChaCha20_CreateContext)(const unsigned char *key, + unsigned int keyLen, + const unsigned char *nonce, + unsigned int nonceLen, + PRUint32 ctr); + + void (*p_ChaCha20_DestroyContext)(ChaCha20Context *ctx, PRBool freeit); + + /* Version 3.025 came to here */ + /* Add new function pointers at the end of this struct and bump * FREEBL_VERSION at the beginning of this file. */ }; diff --git a/libs/nss/src/lib/nss/nss.h b/libs/nss/src/lib/nss/nss.h index 08e9fc755..48f5003e1 100644 --- a/libs/nss/src/lib/nss/nss.h +++ b/libs/nss/src/lib/nss/nss.h @@ -22,10 +22,10 @@ * The format of the version string should be * "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]" */ -#define NSS_VERSION "3.63.1" _NSS_CUSTOMIZED +#define NSS_VERSION "3.64" _NSS_CUSTOMIZED #define NSS_VMAJOR 3 -#define NSS_VMINOR 63 -#define NSS_VPATCH 1 +#define NSS_VMINOR 64 +#define NSS_VPATCH 0 #define NSS_VBUILD 0 #define NSS_BETA PR_FALSE diff --git a/libs/nss/src/lib/softoken/softkver.h b/libs/nss/src/lib/softoken/softkver.h index 4656644f8..828267909 100644 --- a/libs/nss/src/lib/softoken/softkver.h +++ b/libs/nss/src/lib/softoken/softkver.h @@ -17,10 +17,10 @@ * The format of the version string should be * "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]" */ -#define SOFTOKEN_VERSION "3.63.1" SOFTOKEN_ECC_STRING +#define SOFTOKEN_VERSION "3.64" SOFTOKEN_ECC_STRING #define SOFTOKEN_VMAJOR 3 -#define SOFTOKEN_VMINOR 63 -#define SOFTOKEN_VPATCH 1 +#define SOFTOKEN_VMINOR 64 +#define SOFTOKEN_VPATCH 0 #define SOFTOKEN_VBUILD 0 #define SOFTOKEN_BETA PR_FALSE diff --git a/libs/nss/src/lib/util/nssutil.h b/libs/nss/src/lib/util/nssutil.h index 82abba82a..78e12a790 100644 --- a/libs/nss/src/lib/util/nssutil.h +++ b/libs/nss/src/lib/util/nssutil.h @@ -19,10 +19,10 @@ * The format of the version string should be * "<major version>.<minor version>[.<patch level>[.<build number>]][ <Beta>]" */ -#define NSSUTIL_VERSION "3.63.1" +#define NSSUTIL_VERSION "3.64" #define NSSUTIL_VMAJOR 3 -#define NSSUTIL_VMINOR 63 -#define NSSUTIL_VPATCH 1 +#define NSSUTIL_VMINOR 64 +#define NSSUTIL_VPATCH 0 #define NSSUTIL_VBUILD 0 #define NSSUTIL_BETA PR_FALSE |