diff -Nru thunderbird-38.4.0+build3/calendar/base/modules/calItipUtils.jsm thunderbird-38.5.1+build2/calendar/base/modules/calItipUtils.jsm --- thunderbird-38.4.0+build3/calendar/base/modules/calItipUtils.jsm 2015-11-20 17:23:06.000000000 +0000 +++ thunderbird-38.5.1+build2/calendar/base/modules/calItipUtils.jsm 2016-01-05 22:33:46.000000000 +0000 @@ -580,6 +580,7 @@ let invitedAttendee = cal.isInvitation(aItem) && cal.getInvitedAttendee(aItem); if (invitedAttendee) { // actually is an invitation copy, fix attendee list to send REPLY + invitedAttendee = invitedAttendee.clone(); /* We check if the attendee id matches one of of the * userAddresses. If they aren't equal, it means that * someone is accepting invitations on behalf of an other user. */ @@ -587,7 +588,6 @@ let userAddresses = aItem.calendar.aclEntry.getUserAddresses({}); if (userAddresses.length > 0 && !cal.attendeeMatchesAddresses(invitedAttendee, userAddresses)) { - invitedAttendee = invitedAttendee.clone(); invitedAttendee.setProperty("SENT-BY", "mailto:" + userAddresses[0]); } } @@ -598,7 +598,6 @@ if (aOpType == Components.interfaces.calIOperationListener.DELETE) { // in case the attendee has just deleted the item, we want to send out a DECLINED REPLY: origInvitedAttendee = invitedAttendee; - invitedAttendee = invitedAttendee.clone(); invitedAttendee.participationStatus = "DECLINED"; } diff -Nru thunderbird-38.4.0+build3/calendar/base/src/calItemBase.js thunderbird-38.5.1+build2/calendar/base/src/calItemBase.js --- thunderbird-38.4.0+build3/calendar/base/src/calItemBase.js 2015-11-20 17:23:06.000000000 +0000 +++ thunderbird-38.5.1+build2/calendar/base/src/calItemBase.js 2016-01-05 22:33:46.000000000 +0000 @@ -571,10 +571,17 @@ if (attendee) { if (attendee.commonName) { // migration code for bug 1209399 to remove leading/training double quotes in - attendee.commonName = attendee.commonName - .replace(/^["]*([^"]*)["]*$/, "$1"); - if (attendee.commonName.length == 0) { - attendee.commonName = null; + let cn = attendee.commonName.replace(/^["]*([^"]*)["]*$/, "$1"); + if (cn.length == 0) { + cn = null; + } + if (cn != attendee.commonName) { + if (attendee.isMutable) { + attendee.commonName = cn; + } else { + cal.LOG("Failed to cleanup malformed commonName for immutable attendee " + + attendee.toString() + "\n" + cal.STACK(20)); + } } } this.modify(); diff -Nru thunderbird-38.4.0+build3/debian/changelog thunderbird-38.5.1+build2/debian/changelog --- thunderbird-38.4.0+build3/debian/changelog 2015-11-25 19:50:02.000000000 +0000 +++ thunderbird-38.5.1+build2/debian/changelog 2016-01-06 09:41:40.000000000 +0000 @@ -1,3 +1,10 @@ +thunderbird (1:38.5.1+build2-0ubuntu0.12.04.1) precise-security; urgency=medium + + * New upstream stable release (THUNDERBIRD_38_5_1_BUILD2) + - see USN-2859-1 + + -- Chris Coulson Wed, 06 Jan 2016 09:39:58 +0000 + thunderbird (1:38.4.0+build3-0ubuntu0.12.04.1) precise-security; urgency=medium * New upstream stable release (THUNDERBIRD_38_4_0_BUILD3) diff -Nru thunderbird-38.4.0+build3/debian/config/branch.mk thunderbird-38.5.1+build2/debian/config/branch.mk --- thunderbird-38.4.0+build3/debian/config/branch.mk 2015-11-25 19:50:02.000000000 +0000 +++ thunderbird-38.5.1+build2/debian/config/branch.mk 2016-01-06 09:41:40.000000000 +0000 @@ -1,6 +1,6 @@ CHANNEL = release MOZ_WANT_UNIT_TESTS = 0 -MOZ_ENABLE_BREAKPAD = 0 +MOZ_ENABLE_BREAKPAD = 1 MOZILLA_REPO = http://hg.mozilla.org/releases/comm-esr38 L10N_REPO = http://hg.mozilla.org/releases/l10n/mozilla-release diff -Nru thunderbird-38.4.0+build3/l10n/changesets thunderbird-38.5.1+build2/l10n/changesets --- thunderbird-38.4.0+build3/l10n/changesets 2015-11-20 17:50:15.000000000 +0000 +++ thunderbird-38.5.1+build2/l10n/changesets 2016-01-05 23:07:37.000000000 +0000 @@ -1,58 +1,58 @@ -ar 1848:399ada34869d -ast 1439:0924045135a0 -be 1915:8e288888c117 -bg 1210:422658bbd2c9 -bn-BD 1117:a8b49ed26b51 -br 1435:4fb32227e8f0 -ca 2577:a9f4f3278234 -cs 4217:2c9df3fa1e8c -cy 1236:53a09926da33 -da 2305:9bfd8406a85a -de 5022:62f73856ff82 -dsb 452:daef489d677f -el 1379:472c79f328f6 -en-GB 2097:4c90587072ca -es-AR 2741:a3540e395d2b -es-ES 4290:91a21be07b9c -et 1947:1bd9eb21daf1 -eu 1734:4414602fa307 -fi 2368:0eee6d351d64 -fr 7239:cd7f49fb82a3 -fy-NL 2708:94c61356312c -ga-IE 1907:5a3a95cd9e98 -gd 1795:a5a12d46804e -gl 3192:78f87e0741bb -he 1590:98be678a8e04 -hr 1867:ec009b8687ed -hsb 583:03c1976e5e71 -hu 2431:74d923f48f75 -hy-AM 1325:6c01675b4503 -id 1809:50010e2a9a09 -is 1501:944218b1d7dd -it 6019:75696865057c -ja 2528:4487f06d4258 -ja-JP-mac 2097:b682796c4600 -ko 2094:e5c1f10deb79 -lt 3113:02466b68975e -nb-NO 2819:9a5fb51b3f35 -nl 5700:25e7790dba92 -nn-NO 1604:754f7dcd0da2 -pa-IN 2001:7d8888ee9c6d -pl 7726:764bef086b89 -pt-BR 2282:c29524dc80c6 -pt-PT 4894:8cfd32bd3f14 -rm 1394:fbaaaface8a0 -ro 1980:a5371fc17c7c -ru 4246:8028dd006a59 -si 1376:4bcd4f83ce72 -sk 2215:9dff1082cd9f -sl 2502:f24e19a00fee -sq 2067:ea916ea4e55a -sr 1193:a50220943737 -sv-SE 4884:1c90935f438e -ta-LK 684:42f24c1c2f3f -tr 2301:b95b1e48cc2f -uk 3142:e36ffd97bb37 -vi 1071:620a7dab5544 -zh-CN 2495:2891d060916a -zh-TW 2821:f66af469ed6d +ar 1915:c7cbcf953aff +ast 1458:c8e66e7e4949 +be 1945:50d162d964c6 +bg 1266:ba8c57a79fe8 +bn-BD 1176:d62b94a331da +br 1502:3db7b21d885c +ca 2651:3ed68a24eb58 +cs 4298:0a091556dda6 +cy 1292:3c575d61cb85 +da 2358:1ca2e352fbe6 +de 5092:3a44f8ead4a3 +dsb 512:ca33a1c21a9b +el 1445:17ecd58f81ef +en-GB 2143:aba2b0e8f0d6 +es-AR 2787:3a1a503a77f3 +es-ES 4368:da0575c3dd36 +et 2001:11b51c7a52b6 +eu 1797:00e259859b30 +fi 2419:b4ea40499dcb +fr 7314:5deb25b97ce6 +fy-NL 2769:9e0e0f193dee +ga-IE 1974:4f08703604c5 +gd 1851:34bbc79a0e15 +gl 3241:c9d48890afcb +he 1627:0a8dd502c668 +hr 1921:83af819bdd28 +hsb 648:555fa86a01d3 +hu 2654:bdac8300bc37 +hy-AM 1389:5ee638876d50 +id 1872:846fbcb3810d +is 1558:6711b5532ced +it 6192:adf52d3b914f +ja 2585:dc06aafb29a8 +ja-JP-mac 2139:0ec7670608df +ko 2152:c0cc5ed1e33f +lt 3177:0201893b208f +nb-NO 2925:395d14dbd125 +nl 5757:9b983ff83a47 +nn-NO 1676:52ad50438da4 +pa-IN 2040:52966e28ab1b +pl 7978:95204c47d50b +pt-BR 2362:1d68c999726e +pt-PT 5012:10ec941ecb47 +rm 1453:ac4ff76de2b9 +ro 2120:ac30727ffc61 +ru 4306:46e1d920bd41 +si 1407:ac21dcacd219 +sk 2257:004da4a2cd19 +sl 2569:168b98dedbff +sq 2132:f00365054d31 +sr 1273:4d3ffc2ca714 +sv-SE 4941:9df486d6c285 +ta-LK 686:0306877cfdc3 +tr 2397:7b5bb8be407e +uk 3224:47d87a1698c1 +vi 1099:5e165550db0c +zh-CN 2540:a967161fa962 +zh-TW 2867:3cdbb4824f5c diff -Nru thunderbird-38.4.0+build3/mail/app/blocklist.xml thunderbird-38.5.1+build2/mail/app/blocklist.xml --- thunderbird-38.4.0+build3/mail/app/blocklist.xml 2015-11-20 17:23:07.000000000 +0000 +++ thunderbird-38.5.1+build2/mail/app/blocklist.xml 2016-01-05 22:33:48.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -114,6 +114,12 @@ browser.search.defaultenginename + + + + + + @@ -2770,6 +2776,42 @@ https://get.adobe.com/shockwave/ + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + @@ -2817,7 +2859,7 @@ 0x9807 DIRECT3D_9_LAYERS BLOCKED_DEVICE - WINNT 5.1 0x8086 DIRECT3D_9_LAYERS, WEBGL_ANGLE BLOCKED_DRIVER_VERSION 6.14.10.5218 LESS_THAN + WINNT 5.1 0x8086 DIRECT3D_9_LAYERS BLOCKED_DRIVER_VERSION 6.14.10.5218 LESS_THAN WINNT 10.0 0x1002 0x6920 0x6921 @@ -2865,6 +2907,55 @@ 0x9877 DIRECT2D BLOCKED_DRIVER_VERSION 15.201.1151.0 LESS_THAN + WINNT 5.1 0x8086 WEBGL_ANGLE BLOCKED_DRIVER_VERSION 6.14.10.5218 LESS_THAN + 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1851 EQUAL + 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1855 EQUAL + 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1872 EQUAL + 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1883 EQUAL + 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1892 EQUAL + 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1994 EQUAL diff -Nru thunderbird-38.4.0+build3/mail/components/addrbook/content/abCommon.js thunderbird-38.5.1+build2/mail/components/addrbook/content/abCommon.js --- thunderbird-38.4.0+build3/mail/components/addrbook/content/abCommon.js 2015-11-20 17:23:06.000000000 +0000 +++ thunderbird-38.5.1+build2/mail/components/addrbook/content/abCommon.js 2016-01-05 22:33:46.000000000 +0000 @@ -266,8 +266,6 @@ if (abList) { abList.insertItemAt(0, gAddressBookBundle.getString("allAddressBooks"), kAllDirectoryRoot + "?"); - // Select the newly added entry. - abList.selectedIndex = 0; } } diff -Nru thunderbird-38.4.0+build3/mail/config/version.txt thunderbird-38.5.1+build2/mail/config/version.txt --- thunderbird-38.4.0+build3/mail/config/version.txt 2015-11-20 17:23:06.000000000 +0000 +++ thunderbird-38.5.1+build2/mail/config/version.txt 2016-01-05 22:33:46.000000000 +0000 @@ -1 +1 @@ -38.4.0 +38.5.1 diff -Nru thunderbird-38.4.0+build3/mail/installer/windows/nsis/defines.nsi.in thunderbird-38.5.1+build2/mail/installer/windows/nsis/defines.nsi.in --- thunderbird-38.4.0+build3/mail/installer/windows/nsis/defines.nsi.in 2015-11-20 17:23:06.000000000 +0000 +++ thunderbird-38.5.1+build2/mail/installer/windows/nsis/defines.nsi.in 2016-01-05 22:33:46.000000000 +0000 @@ -23,8 +23,12 @@ !define PreReleaseSuffix "@PRE_RELEASE_SUFFIX@" !define BrandFullName "${BrandFullNameInternal}${PreReleaseSuffix}" -!define CERTIFICATE_NAME "Mozilla Corporation" -!define CERTIFICATE_ISSUER "DigiCert Assured ID Code Signing CA-1" +!define CERTIFICATE_NAME "Mozilla Corporation" +!define CERTIFICATE_ISSUER "DigiCert SHA2 Assured ID Code Signing CA" +; Changing the name or issuer requires us to have both the old and the new +; in the registry at the same time, temporarily. +!define CERTIFICATE_NAME_PREVIOUS "Mozilla Corporation" +!define CERTIFICATE_ISSUER_PREVIOUS "DigiCert Assured ID Code Signing CA-1" # NO_INSTDIR_FROM_REG is defined for pre-releases which have a PreReleaseSuffix # (e.g. Alpha X, Beta X, etc.) to prevent finding a non-default installation diff -Nru thunderbird-38.4.0+build3/mail/installer/windows/nsis/maintenanceservice_installer.nsi thunderbird-38.5.1+build2/mail/installer/windows/nsis/maintenanceservice_installer.nsi --- thunderbird-38.4.0+build3/mail/installer/windows/nsis/maintenanceservice_installer.nsi 2015-11-20 17:23:06.000000000 +0000 +++ thunderbird-38.5.1+build2/mail/installer/windows/nsis/maintenanceservice_installer.nsi 2016-01-05 22:33:46.000000000 +0000 @@ -219,7 +219,7 @@ ; These keys are used to bypass the installation dir is a valid installation ; check from the service so that tests can be run. ; WriteRegStr HKLM "${FallbackKey}\0" "name" "Mozilla Corporation" - ; WriteRegStr HKLM "${FallbackKey}\0" "issuer" "DigiCert Assured ID Code Signing CA-1" + ; WriteRegStr HKLM "${FallbackKey}\0" "issuer" "DigiCert SHA2 Assured ID Code Signing CA" ${If} ${RunningX64} SetRegView lastused ${EndIf} diff -Nru thunderbird-38.4.0+build3/mail/installer/windows/nsis/shared.nsh thunderbird-38.5.1+build2/mail/installer/windows/nsis/shared.nsh --- thunderbird-38.4.0+build3/mail/installer/windows/nsis/shared.nsh 2015-11-20 17:23:06.000000000 +0000 +++ thunderbird-38.5.1+build2/mail/installer/windows/nsis/shared.nsh 2016-01-05 22:33:46.000000000 +0000 @@ -577,6 +577,12 @@ DeleteRegKey HKLM "$R0" WriteRegStr HKLM "$R0\0" "name" "${CERTIFICATE_NAME}" WriteRegStr HKLM "$R0\0" "issuer" "${CERTIFICATE_ISSUER}" + ; These values associate the allowed certificates for the previous + ; installation, so that we can update from it cleanly using the + ; old updater.exe (which will still have this signature). + WriteRegStr HKLM "$R0\1" "name" "${CERTIFICATE_NAME_PREVIOUS}" + WriteRegStr HKLM "$R0\1" "issuer" "${CERTIFICATE_ISSUER_PREVIOUS}" + SetRegView lastused ClearErrors ${EndIf} diff -Nru thunderbird-38.4.0+build3/mozilla/browser/app/blocklist.xml thunderbird-38.5.1+build2/mozilla/browser/app/blocklist.xml --- thunderbird-38.4.0+build3/mozilla/browser/app/blocklist.xml 2015-11-20 17:39:05.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/browser/app/blocklist.xml 2016-01-05 22:52:10.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -406,6 +406,12 @@ + + + + + + @@ -2823,12 +2829,13 @@ https://get.adobe.com/flashplayer/ - + - + https://java.com/ + @@ -3277,6 +3284,22 @@ https://get.adobe.com/flashplayer/ + + + https://java.com/ + + + + https://real.com/ + + + + https://get.adobe.com/shockwave/ + + + + https://get.adobe.com/shockwave/ + @@ -3341,6 +3364,11 @@ 0x6903 0x6907 0x7300 + 0x9870 + 0x9874 + 0x9875 + 0x9876 + 0x9877 DIRECT2D BLOCKED_DRIVER_VERSION 15.201.1151.0 LESS_THAN All 0x8086 DIRECT2D BLOCKED_DRIVER_VERSION 8.15.10.2413 LESS_THAN_OR_EQUAL @@ -3360,6 +3388,11 @@ 0x6903 0x6907 0x7300 + 0x9870 + 0x9874 + 0x9875 + 0x9876 + 0x9877 DIRECT2D BLOCKED_DRIVER_VERSION 15.201.1151.0 LESS_THAN diff -Nru thunderbird-38.4.0+build3/mozilla/browser/branding/aurora/branding.nsi thunderbird-38.5.1+build2/mozilla/browser/branding/aurora/branding.nsi --- thunderbird-38.4.0+build3/mozilla/browser/branding/aurora/branding.nsi 2015-11-20 17:38:05.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/browser/branding/aurora/branding.nsi 2016-01-05 22:52:12.000000000 +0000 @@ -20,7 +20,7 @@ # The installer's certificate name and issuer expected by the stub installer !define CertNameDownload "Mozilla Corporation" -!define CertIssuerDownload "DigiCert Assured ID Code Signing CA-1" +!define CertIssuerDownload "DigiCert SHA2 Assured ID Code Signing CA" # Dialog units are used so the UI displays correctly with the system's DPI # settings. diff -Nru thunderbird-38.4.0+build3/mozilla/browser/branding/nightly/branding.nsi thunderbird-38.5.1+build2/mozilla/browser/branding/nightly/branding.nsi --- thunderbird-38.4.0+build3/mozilla/browser/branding/nightly/branding.nsi 2015-11-20 17:38:05.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/browser/branding/nightly/branding.nsi 2016-01-05 22:52:13.000000000 +0000 @@ -19,7 +19,7 @@ # The installer's certificate name and issuer expected by the stub installer !define CertNameDownload "Mozilla Corporation" -!define CertIssuerDownload "DigiCert Assured ID Code Signing CA-1" +!define CertIssuerDownload "DigiCert SHA2 Assured ID Code Signing CA" # Dialog units are used so the UI displays correctly with the system's DPI # settings. diff -Nru thunderbird-38.4.0+build3/mozilla/browser/branding/official/branding.nsi thunderbird-38.5.1+build2/mozilla/browser/branding/official/branding.nsi --- thunderbird-38.4.0+build3/mozilla/browser/branding/official/branding.nsi 2015-11-20 17:38:05.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/browser/branding/official/branding.nsi 2016-01-05 22:52:14.000000000 +0000 @@ -24,7 +24,7 @@ # The installer's certificate name and issuer expected by the stub installer !define CertNameDownload "Mozilla Corporation" -!define CertIssuerDownload "DigiCert Assured ID Code Signing CA-1" +!define CertIssuerDownload "DigiCert SHA2 Assured ID Code Signing CA" # Dialog units are used so the UI displays correctly with the system's DPI # settings. diff -Nru thunderbird-38.4.0+build3/mozilla/browser/branding/unofficial/branding.nsi thunderbird-38.5.1+build2/mozilla/browser/branding/unofficial/branding.nsi --- thunderbird-38.4.0+build3/mozilla/browser/branding/unofficial/branding.nsi 2015-11-20 17:38:05.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/browser/branding/unofficial/branding.nsi 2016-01-05 22:52:14.000000000 +0000 @@ -19,7 +19,7 @@ # The installer's certificate name and issuer expected by the stub installer !define CertNameDownload "Mozilla Corporation" -!define CertIssuerDownload "Thawte Code Signing CA - G2" +!define CertIssuerDownload "DigiCert SHA2 Assured ID Code Signing CA" # Dialog units are used so the UI displays correctly with the system's DPI # settings. diff -Nru thunderbird-38.4.0+build3/mozilla/browser/config/version.txt thunderbird-38.5.1+build2/mozilla/browser/config/version.txt --- thunderbird-38.4.0+build3/mozilla/browser/config/version.txt 2015-11-20 17:38:06.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/browser/config/version.txt 2016-01-05 22:52:18.000000000 +0000 @@ -1 +1 @@ -38.4.0esrpre +38.5.2esrpre diff -Nru thunderbird-38.4.0+build3/mozilla/browser/installer/windows/nsis/defines.nsi.in thunderbird-38.5.1+build2/mozilla/browser/installer/windows/nsis/defines.nsi.in --- thunderbird-38.4.0+build3/mozilla/browser/installer/windows/nsis/defines.nsi.in 2015-11-20 17:38:07.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/browser/installer/windows/nsis/defines.nsi.in 2016-01-05 22:52:22.000000000 +0000 @@ -36,8 +36,12 @@ !endif !define BrandFullName "${BrandFullNameInternal}" -!define CERTIFICATE_NAME "Mozilla Corporation" -!define CERTIFICATE_ISSUER "DigiCert Assured ID Code Signing CA-1" +!define CERTIFICATE_NAME "Mozilla Corporation" +!define CERTIFICATE_ISSUER "DigiCert SHA2 Assured ID Code Signing CA" +; Changing the name or issuer requires us to have both the old and the new +; in the registry at the same time, temporarily. +!define CERTIFICATE_NAME_PREVIOUS "Mozilla Corporation" +!define CERTIFICATE_ISSUER_PREVIOUS "DigiCert Assured ID Code Signing CA-1" # LSP_CATEGORIES is the permitted LSP categories for the application. Each LSP # category value is ANDed together to set multiple permitted categories. diff -Nru thunderbird-38.4.0+build3/mozilla/browser/installer/windows/nsis/maintenanceservice_installer.nsi thunderbird-38.5.1+build2/mozilla/browser/installer/windows/nsis/maintenanceservice_installer.nsi --- thunderbird-38.4.0+build3/mozilla/browser/installer/windows/nsis/maintenanceservice_installer.nsi 2015-11-20 17:38:07.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/browser/installer/windows/nsis/maintenanceservice_installer.nsi 2016-01-05 22:52:22.000000000 +0000 @@ -218,7 +218,7 @@ ; These keys are used to bypass the installation dir is a valid installation ; check from the service so that tests can be run. ; WriteRegStr HKLM "${FallbackKey}\0" "name" "Mozilla Corporation" - ; WriteRegStr HKLM "${FallbackKey}\0" "issuer" "DigiCert Assured ID Code Signing CA-1" + ; WriteRegStr HKLM "${FallbackKey}\0" "issuer" "DigiCert SHA2 Assured ID Code Signing CA" ${If} ${RunningX64} SetRegView lastused ${EndIf} diff -Nru thunderbird-38.4.0+build3/mozilla/browser/installer/windows/nsis/shared.nsh thunderbird-38.5.1+build2/mozilla/browser/installer/windows/nsis/shared.nsh --- thunderbird-38.4.0+build3/mozilla/browser/installer/windows/nsis/shared.nsh 2015-11-20 17:38:07.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/browser/installer/windows/nsis/shared.nsh 2016-01-05 22:52:22.000000000 +0000 @@ -829,6 +829,11 @@ ; installation. WriteRegStr HKLM "$R0\0" "name" "${CERTIFICATE_NAME}" WriteRegStr HKLM "$R0\0" "issuer" "${CERTIFICATE_ISSUER}" + ; These values associate the allowed certificates for the previous + ; installation, so that we can update from it cleanly using the + ; old updater.exe (which will still have this signature). + WriteRegStr HKLM "$R0\1" "name" "${CERTIFICATE_NAME_PREVIOUS}" + WriteRegStr HKLM "$R0\1" "issuer" "${CERTIFICATE_ISSUER_PREVIOUS}" ${If} ${RunningX64} SetRegView lastused ${EndIf} diff -Nru thunderbird-38.4.0+build3/mozilla/config/milestone.txt thunderbird-38.5.1+build2/mozilla/config/milestone.txt --- thunderbird-38.4.0+build3/mozilla/config/milestone.txt 2015-11-20 17:38:08.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/config/milestone.txt 2016-01-05 22:53:24.000000000 +0000 @@ -10,4 +10,4 @@ # hardcoded milestones in the tree from these two files. #-------------------------------------------------------- -38.4.0 +38.5.1 diff -Nru thunderbird-38.4.0+build3/mozilla/config/system-headers thunderbird-38.5.1+build2/mozilla/config/system-headers --- thunderbird-38.4.0+build3/mozilla/config/system-headers 2015-11-20 17:38:08.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/config/system-headers 2016-01-05 22:52:25.000000000 +0000 @@ -472,6 +472,7 @@ freetype/ftxf86.h freetype.h ftcache.h +ftfntfmt.h ftglyph.h ftsynth.h ftoutln.h diff -Nru thunderbird-38.4.0+build3/mozilla/dom/base/nsHostObjectURI.cpp thunderbird-38.5.1+build2/mozilla/dom/base/nsHostObjectURI.cpp --- thunderbird-38.4.0+build3/mozilla/dom/base/nsHostObjectURI.cpp 2015-11-20 17:38:10.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/dom/base/nsHostObjectURI.cpp 2016-01-05 22:52:26.000000000 +0000 @@ -81,6 +81,15 @@ true); } +NS_IMETHODIMP +nsHostObjectURI::SetScheme(const nsACString& aScheme) +{ + // Disallow setting the scheme, since that could cause us to be associated + // with a different protocol handler that doesn't expect us to be carrying + // around a principal with nsIURIWithPrincipal. + return NS_ERROR_FAILURE; +} + // nsIURI methods: nsresult nsHostObjectURI::CloneInternal(nsSimpleURI::RefHandlingEnum aRefHandlingMode, diff -Nru thunderbird-38.4.0+build3/mozilla/dom/base/nsHostObjectURI.h thunderbird-38.5.1+build2/mozilla/dom/base/nsHostObjectURI.h --- thunderbird-38.4.0+build3/mozilla/dom/base/nsHostObjectURI.h 2015-11-20 17:38:10.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/dom/base/nsHostObjectURI.h 2016-01-05 22:52:26.000000000 +0000 @@ -34,6 +34,8 @@ NS_DECL_NSISERIALIZABLE NS_DECL_NSICLASSINFO + NS_IMETHOD SetScheme(const nsACString &aProtocol) override; + // Override CloneInternal() and EqualsInternal() virtual nsresult CloneInternal(RefHandlingEnum aRefHandlingMode, nsIURI** aClone) override; diff -Nru thunderbird-38.4.0+build3/mozilla/dom/canvas/WebGLProgram.cpp thunderbird-38.5.1+build2/mozilla/dom/canvas/WebGLProgram.cpp --- thunderbird-38.4.0+build3/mozilla/dom/canvas/WebGLProgram.cpp 2015-11-20 17:38:11.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/dom/canvas/WebGLProgram.cpp 2016-01-05 22:52:30.000000000 +0000 @@ -569,18 +569,26 @@ gl::GLContext* gl = mContext->gl; gl->MakeCurrent(); - // Bug 777028: Mesa can't handle more than 16 samplers per program, - // counting each array entry. - size_t numSamplerUniforms_upperBound = mVertShader->CalcNumSamplerUniforms() + - mFragShader->CalcNumSamplerUniforms(); if (gl->WorkAroundDriverBugs() && - mContext->mIsMesa && - numSamplerUniforms_upperBound > 16) + mContext->mIsMesa) { - mLinkLog.AssignLiteral("Programs with more than 16 samplers are disallowed on" - " Mesa drivers to avoid crashing."); - mContext->GenerateWarning("linkProgram: %s", mLinkLog.BeginReading()); - return false; + // Bug 777028: Mesa can't handle more than 16 samplers per program, + // counting each array entry. + size_t numSamplerUniforms_upperBound = mVertShader->CalcNumSamplerUniforms() + + mFragShader->CalcNumSamplerUniforms(); + if (numSamplerUniforms_upperBound > 16) { + mLinkLog.AssignLiteral("Programs with more than 16 samplers are disallowed on" + " Mesa drivers to avoid crashing."); + mContext->GenerateWarning("linkProgram: %s", mLinkLog.BeginReading()); + return false; + } + + // Bug 1203135: Mesa crashes internally if we exceed the reported maximum attribute count. + if (mVertShader->NumAttributes() > mContext->MaxVertexAttribs()) { + mLinkLog.AssignLiteral("Number of attributes exceeds Mesa's reported max attribute count."); + mContext->GenerateWarning("linkProgram: %s", mLinkLog.BeginReading()); + return false; + } } // Bind the attrib locations. diff -Nru thunderbird-38.4.0+build3/mozilla/dom/canvas/WebGLShader.cpp thunderbird-38.5.1+build2/mozilla/dom/canvas/WebGLShader.cpp --- thunderbird-38.4.0+build3/mozilla/dom/canvas/WebGLShader.cpp 2015-11-20 17:38:11.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/dom/canvas/WebGLShader.cpp 2016-01-05 22:52:30.000000000 +0000 @@ -299,6 +299,16 @@ return 0; } +size_t +WebGLShader::NumAttributes() const +{ + if (mValidator) + return mValidator->NumAttributes(); + + // TODO + return 0; +} + void WebGLShader::BindAttribLocation(GLuint prog, const nsCString& userName, GLuint index) const diff -Nru thunderbird-38.4.0+build3/mozilla/dom/canvas/WebGLShader.h thunderbird-38.5.1+build2/mozilla/dom/canvas/WebGLShader.h --- thunderbird-38.4.0+build3/mozilla/dom/canvas/WebGLShader.h 2015-11-20 17:38:11.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/dom/canvas/WebGLShader.h 2016-01-05 22:52:30.000000000 +0000 @@ -45,6 +45,7 @@ // Util funcs bool CanLinkTo(const WebGLShader* prev, nsCString* const out_log) const; size_t CalcNumSamplerUniforms() const; + size_t NumAttributes() const; void BindAttribLocation(GLuint prog, const nsCString& userName, GLuint index) const; bool FindAttribUserNameByMappedName(const nsACString& mappedName, nsDependentCString* const out_userName) const; diff -Nru thunderbird-38.4.0+build3/mozilla/dom/canvas/WebGLShaderValidator.cpp thunderbird-38.5.1+build2/mozilla/dom/canvas/WebGLShaderValidator.cpp --- thunderbird-38.4.0+build3/mozilla/dom/canvas/WebGLShaderValidator.cpp 2015-11-20 17:38:11.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/dom/canvas/WebGLShaderValidator.cpp 2016-01-05 22:52:30.000000000 +0000 @@ -274,6 +274,12 @@ return accum; } +size_t +ShaderValidator::NumAttributes() const +{ + return ShGetAttributes(mHandle)->size(); +} + // Attribs cannot be structs or arrays, and neither can vertex inputs in ES3. // Therefore, attrib names are always simple. bool diff -Nru thunderbird-38.4.0+build3/mozilla/dom/canvas/WebGLShaderValidator.h thunderbird-38.5.1+build2/mozilla/dom/canvas/WebGLShaderValidator.h --- thunderbird-38.4.0+build3/mozilla/dom/canvas/WebGLShaderValidator.h 2015-11-20 17:38:11.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/dom/canvas/WebGLShaderValidator.h 2016-01-05 22:52:30.000000000 +0000 @@ -41,6 +41,7 @@ void GetOutput(nsACString* out) const; bool CanLinkTo(const ShaderValidator* prev, nsCString* const out_log) const; size_t CalcNumSamplerUniforms() const; + size_t NumAttributes() const; bool FindAttribUserNameByMappedName(const std::string& mappedName, const std::string** const out_userName) const; diff -Nru thunderbird-38.4.0+build3/mozilla/dom/plugins/base/nsNPAPIPlugin.cpp thunderbird-38.5.1+build2/mozilla/dom/plugins/base/nsNPAPIPlugin.cpp --- thunderbird-38.4.0+build3/mozilla/dom/plugins/base/nsNPAPIPlugin.cpp 2015-11-20 17:38:18.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/dom/plugins/base/nsNPAPIPlugin.cpp 2016-01-05 22:52:38.000000000 +0000 @@ -1411,12 +1411,21 @@ void _releaseobject(NPObject* npobj) { + // If nothing is passed, just return, even if we're on the wrong thread. + if (!npobj) { + return; + } + + // If releaseobject is called off the main thread and we have a valid pointer, + // we at least know it was created on the main thread (see _createobject + // implementation). However, forwarding the deletion back to the main thread + // without careful checking could cause bad memory management races. So, for + // now, we leak by warning and then just returning early. But it should fix + // java 7 crashes. if (!NS_IsMainThread()) { NPN_PLUGIN_LOG(PLUGIN_LOG_ALWAYS,("NPN_releaseobject called from the wrong thread\n")); - MOZ_CRASH("NPN_releaseobject called from the wrong thread"); - } - if (!npobj) return; + } int32_t refCnt = PR_ATOMIC_DECREMENT((int32_t*)&npobj->referenceCount); NS_LOG_RELEASE(npobj, refCnt, "BrowserNPObject"); diff -Nru thunderbird-38.4.0+build3/mozilla/gfx/2d/2D.h thunderbird-38.5.1+build2/mozilla/gfx/2d/2D.h --- thunderbird-38.4.0+build3/mozilla/gfx/2d/2D.h 2015-11-20 17:38:41.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/gfx/2d/2D.h 2016-01-05 22:52:54.000000000 +0000 @@ -1082,22 +1082,41 @@ size_t mTileCount; }; +struct Config { + LogForwarder* mLogForwarder; + int32_t mMaxTextureSize; + int32_t mMaxAllocSize; + + Config() + : mLogForwarder(nullptr) + , mMaxTextureSize(8192) + , mMaxAllocSize(52000000) + {} +}; + class GFX2D_API Factory { public: + static void Init(const Config& aConfig); + static void ShutDown(); + static bool HasSSE2(); /** Make sure that the given dimensions don't overflow a 32-bit signed int * using 4 bytes per pixel; optionally, make sure that either dimension * doesn't exceed the given limit. */ - static bool CheckSurfaceSize(const IntSize &sz, int32_t limit = 0); + static bool CheckSurfaceSize(const IntSize &sz, + int32_t limit = 0, + int32_t allocLimit = 0); /** Make sure the given dimension satisfies the CheckSurfaceSize and is * within 8k limit. The 8k value is chosen a bit randomly. */ static bool ReasonableSurfaceSize(const IntSize &aSize); + static bool AllowedSurfaceSize(const IntSize &aSize); + static TemporaryRef CreateDrawTargetForCairoSurface(cairo_surface_t* aSurface, const IntSize& aSize, SurfaceFormat* aFormat = nullptr); static TemporaryRef @@ -1171,10 +1190,10 @@ static uint32_t GetMaxSurfaceSize(BackendType aType); - static LogForwarder* GetLogForwarder() { return mLogForwarder; } + static LogForwarder* GetLogForwarder() { return sConfig ? sConfig->mLogForwarder : nullptr; } private: - static LogForwarder* mLogForwarder; + static Config* sConfig; public: #ifdef USE_SKIA_GPU diff -Nru thunderbird-38.4.0+build3/mozilla/gfx/2d/Factory.cpp thunderbird-38.5.1+build2/mozilla/gfx/2d/Factory.cpp --- thunderbird-38.4.0+build3/mozilla/gfx/2d/Factory.cpp 2015-11-20 17:39:05.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/gfx/2d/Factory.cpp 2016-01-05 22:53:24.000000000 +0000 @@ -188,6 +188,35 @@ DrawEventRecorder *Factory::mRecorder; +mozilla::gfx::Config* Factory::sConfig = nullptr; + +void +Factory::Init(const Config& aConfig) +{ + MOZ_ASSERT(!sConfig); + sConfig = new Config(aConfig); + + // Make sure we don't completely break rendering because of a typo in the + // pref or whatnot. + const int32_t kMinAllocPref = 10000000; + const int32_t kMinSizePref = 2048; + if (sConfig->mMaxAllocSize < kMinAllocPref) { + sConfig->mMaxAllocSize = kMinAllocPref; + } + if (sConfig->mMaxTextureSize < kMinSizePref) { + sConfig->mMaxTextureSize = kMinSizePref; + } +} + +void +Factory::ShutDown() +{ + if (sConfig) { + delete sConfig; + sConfig = nullptr; + } +} + bool Factory::HasSSE2() { @@ -222,11 +251,25 @@ bool Factory::ReasonableSurfaceSize(const IntSize &aSize) { - return Factory::CheckSurfaceSize(aSize,8192); + return Factory::CheckSurfaceSize(aSize, 8192); +} + +bool +Factory::AllowedSurfaceSize(const IntSize &aSize) +{ + if (sConfig) { + return Factory::CheckSurfaceSize(aSize, + sConfig->mMaxTextureSize, + sConfig->mMaxAllocSize); + } + + return CheckSurfaceSize(aSize); } bool -Factory::CheckSurfaceSize(const IntSize &sz, int32_t limit) +Factory::CheckSurfaceSize(const IntSize &sz, + int32_t extentLimit, + int32_t allocLimit) { if (sz.width <= 0 || sz.height <= 0) { gfxDebug() << "Surface width or height <= 0!"; @@ -234,8 +277,8 @@ } // reject images with sides bigger than limit - if (limit && (sz.width > limit || sz.height > limit)) { - gfxDebug() << "Surface size too large (exceeds caller's limit)!"; + if (extentLimit && (sz.width > extentLimit || sz.height > extentLimit)) { + gfxDebug() << "Surface size too large (exceeds extent limit)!"; return false; } @@ -267,13 +310,18 @@ return false; } + if (allocLimit && allocLimit < numBytes.value()) { + gfxDebug() << "Surface size too large (exceeds allocation limit)!"; + return false; + } + return true; } TemporaryRef Factory::CreateDrawTarget(BackendType aBackend, const IntSize &aSize, SurfaceFormat aFormat) { - if (!CheckSurfaceSize(aSize)) { + if (!AllowedSurfaceSize(aSize)) { gfxCriticalError(LoggerOptionsBasedOnSize(aSize)) << "Failed to allocate a surface due to invalid size " << aSize; return nullptr; } @@ -364,7 +412,7 @@ SurfaceFormat aFormat) { MOZ_ASSERT(aData); - if (!CheckSurfaceSize(aSize)) { + if (!AllowedSurfaceSize(aSize)) { gfxCriticalError(LoggerOptionsBasedOnSize(aSize)) << "Failed to allocate a surface due to invalid size " << aSize; return nullptr; } @@ -838,7 +886,7 @@ SurfaceFormat aFormat, bool aZero) { - if (!CheckSurfaceSize(aSize)) { + if (!AllowedSurfaceSize(aSize)) { gfxCriticalError(LoggerOptionsBasedOnSize(aSize)) << "Failed to allocate a surface due to invalid size " << aSize; return nullptr; } @@ -884,14 +932,13 @@ mRecorder = aRecorder; } -LogForwarder* Factory::mLogForwarder = nullptr; - // static void Factory::SetLogForwarder(LogForwarder* aLogFwd) { - mLogForwarder = aLogFwd; + sConfig->mLogForwarder = aLogFwd; } + // static void CriticalLogger::OutputMessage(const std::string &aString, diff -Nru thunderbird-38.4.0+build3/mozilla/gfx/2d/SourceSurfaceSkia.cpp thunderbird-38.5.1+build2/mozilla/gfx/2d/SourceSurfaceSkia.cpp --- thunderbird-38.4.0+build3/mozilla/gfx/2d/SourceSurfaceSkia.cpp 2015-11-20 17:38:41.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/gfx/2d/SourceSurfaceSkia.cpp 2016-01-05 22:52:54.000000000 +0000 @@ -110,8 +110,10 @@ GrTexture *skiaTexture = aOwner->mGrContext->wrapBackendTexture(skiaTexGlue); SkImageInfo imgInfo = SkImageInfo::Make(aSize.width, aSize.height, GfxFormatToSkiaColorType(aFormat), kOpaque_SkAlphaType); SkGrPixelRef *texRef = new SkGrPixelRef(imgInfo, skiaTexture, false); - mBitmap.setInfo(imgInfo, aSize.width*aSize.height*4); + mBitmap.setInfo(imgInfo); mBitmap.setPixelRef(texRef); + mFormat = aFormat; + mStride = mBitmap.rowBytes(); mDrawTarget = aOwner; return true; diff -Nru thunderbird-38.4.0+build3/mozilla/gfx/layers/client/TextureClient.cpp thunderbird-38.5.1+build2/mozilla/gfx/layers/client/TextureClient.cpp --- thunderbird-38.4.0+build3/mozilla/gfx/layers/client/TextureClient.cpp 2015-11-20 17:38:42.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/gfx/layers/client/TextureClient.cpp 2016-01-05 22:52:56.000000000 +0000 @@ -315,6 +315,10 @@ aMoz2DBackend = gfxPlatform::GetPlatform()->GetContentBackend(); } + if (!gfx::Factory::AllowedSurfaceSize(aSize)) { + return nullptr; + } + RefPtr texture; #if defined(MOZ_WIDGET_GONK) || defined(XP_WIN) @@ -415,6 +419,10 @@ TextureFlags aTextureFlags, TextureAllocationFlags aAllocFlags) { + if (!gfx::Factory::AllowedSurfaceSize(aSize)) { + return nullptr; + } + RefPtr texture = CreateBufferTextureClient(aAllocator, aFormat, aTextureFlags, aMoz2DBackend); @@ -434,6 +442,10 @@ StereoMode aStereoMode, TextureFlags aTextureFlags) { + if (!gfx::Factory::AllowedSurfaceSize(aYSize)) { + return nullptr; + } + RefPtr texture; if (aAllocator->IsSameProcess()) { texture = new MemoryTextureClient(aAllocator, gfx::SurfaceFormat::YUV, diff -Nru thunderbird-38.4.0+build3/mozilla/gfx/layers/ImageDataSerializer.cpp thunderbird-38.5.1+build2/mozilla/gfx/layers/ImageDataSerializer.cpp --- thunderbird-38.4.0+build3/mozilla/gfx/layers/ImageDataSerializer.cpp 2015-11-20 17:38:42.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/gfx/layers/ImageDataSerializer.cpp 2016-01-05 22:52:55.000000000 +0000 @@ -84,21 +84,23 @@ SurfaceFormat aFormat) { MOZ_ASSERT(aSize.height >= 0 && aSize.width >= 0); - if (aSize.height <= 0 || aSize.width <= 0) { - gfxDebug() << "Non-positive image buffer size request " << aSize.width << "x" << aSize.height; + + // This takes care of checking whether there could be overflow + // with enough margin for the metadata. + if (!gfx::Factory::AllowedSurfaceSize(aSize)) { return 0; } - CheckedInt bufsize = ComputeStride(aFormat, aSize.width); - bufsize *= aSize.height; + int32_t bufsize = GetAlignedStride<16>(ComputeStride(aFormat, aSize.width) + * aSize.height) + + SurfaceBufferInfo::GetOffset(); - if (!bufsize.isValid() || bufsize.value() <= 0) { - gfxDebug() << "Buffer size overflow " << aSize.width << "x" << aSize.height; + if (bufsize < 0) { + // This should not be possible thanks to Factory::AllowedSurfaceSize return 0; } - return SurfaceBufferInfo::GetOffset() - + GetAlignedStride<16>(bufsize.value()); + return bufsize; } void @@ -114,7 +116,8 @@ } size_t requiredSize = ComputeMinBufferSize(IntSize(info->width, info->height), info->format); - mIsValid = requiredSize <= mDataSize; + + mIsValid = !!requiredSize && requiredSize <= mDataSize; } uint8_t* diff -Nru thunderbird-38.4.0+build3/mozilla/gfx/layers/YCbCrImageDataSerializer.cpp thunderbird-38.5.1+build2/mozilla/gfx/layers/YCbCrImageDataSerializer.cpp --- thunderbird-38.4.0+build3/mozilla/gfx/layers/YCbCrImageDataSerializer.cpp 2015-11-20 17:38:42.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/gfx/layers/YCbCrImageDataSerializer.cpp 2016-01-05 22:52:55.000000000 +0000 @@ -150,6 +150,13 @@ gfxDebug() << "Non-positive YCbCr buffer size request " << aYSize.height << "x" << aYSize.width << ", " << aCbCrSize.height << "x" << aCbCrSize.width; return 0; } + + if (!gfx::Factory::AllowedSurfaceSize(aYSize) || + aCbCrSize.width > aYSize.width || + aCbCrSize.height > aYSize.height) { + return 0; + } + return ComputeOffset(aYSize.height, aYStride) + 2 * ComputeOffset(aCbCrSize.height, aCbCrStride) + MOZ_ALIGN_WORD(sizeof(YCbCrBufferInfo)); diff -Nru thunderbird-38.4.0+build3/mozilla/gfx/thebes/gfxPlatform.cpp thunderbird-38.5.1+build2/mozilla/gfx/thebes/gfxPlatform.cpp --- thunderbird-38.4.0+build3/mozilla/gfx/thebes/gfxPlatform.cpp 2015-11-20 17:38:04.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/gfx/thebes/gfxPlatform.cpp 2016-01-05 22:52:10.000000000 +0000 @@ -458,13 +458,18 @@ } gEverInitialized = true; - CrashStatsLogForwarder* logForwarder = new CrashStatsLogForwarder("GraphicsCriticalError"); - mozilla::gfx::Factory::SetLogForwarder(logForwarder); - // Initialize the preferences by creating the singleton. gfxPrefs::GetSingleton(); - logForwarder->SetCircularBufferSize(gfxPrefs::GfxLoggingCrashLength()); + auto fwd = new CrashStatsLogForwarder("GraphicsCriticalError"); + fwd->SetCircularBufferSize(gfxPrefs::GfxLoggingCrashLength()); + + mozilla::gfx::Config cfg; + cfg.mLogForwarder = fwd; + cfg.mMaxTextureSize = gfxPrefs::MaxTextureSize(); + cfg.mMaxAllocSize = gfxPrefs::MaxAllocSize(); + + gfx::Factory::Init(cfg); gGfxPlatformPrefsLock = new Mutex("gfxPlatform::gGfxPlatformPrefsLock"); @@ -641,6 +646,8 @@ delete mozilla::gfx::Factory::GetLogForwarder(); mozilla::gfx::Factory::SetLogForwarder(nullptr); + gfx::Factory::ShutDown(); + delete gGfxPlatformPrefsLock; gfxPrefs::DestroySingleton(); diff -Nru thunderbird-38.4.0+build3/mozilla/gfx/thebes/gfxPrefs.h thunderbird-38.5.1+build2/mozilla/gfx/thebes/gfxPrefs.h --- thunderbird-38.4.0+build3/mozilla/gfx/thebes/gfxPrefs.h 2015-11-20 17:38:04.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/gfx/thebes/gfxPrefs.h 2016-01-05 22:52:10.000000000 +0000 @@ -209,6 +209,9 @@ DECL_GFX_PREF(Live, "gfx.layerscope.port", LayerScopePort, int32_t, 23456); // Note that "gfx.logging.level" is defined in Logging.h DECL_GFX_PREF(Once, "gfx.logging.crash.length", GfxLoggingCrashLength, uint32_t, 6); + // The maximums here are quite conservative, we can tighten them if problems show up. + DECL_GFX_PREF(Once, "gfx.max-alloc-size", MaxAllocSize, int32_t, (int32_t)500000000); + DECL_GFX_PREF(Once, "gfx.max-texture-size", MaxTextureSize, int32_t, (int32_t)32767); DECL_GFX_PREF(Live, "gfx.perf-warnings.enabled", PerfWarnings, bool, false); DECL_GFX_PREF(Once, "gfx.work-around-driver-bugs", WorkAroundDriverBugs, bool, true); diff -Nru thunderbird-38.4.0+build3/mozilla/image/src/Downscaler.cpp thunderbird-38.5.1+build2/mozilla/image/src/Downscaler.cpp --- thunderbird-38.4.0+build3/mozilla/image/src/Downscaler.cpp 2015-11-20 17:38:04.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/image/src/Downscaler.cpp 2016-01-05 22:52:10.000000000 +0000 @@ -86,11 +86,16 @@ mTargetSize.height, mYFilter.get()); // Allocate the buffer, which contains scanlines of the original image. - mRowBuffer = MakeUnique(mOriginalSize.width * sizeof(uint32_t)); + size_t bufferLen = mOriginalSize.width * sizeof(uint32_t); + mRowBuffer = MakeUnique(bufferLen); if (MOZ_UNLIKELY(!mRowBuffer)) { return NS_ERROR_OUT_OF_MEMORY; } + // Zero buffer to keep valgrind happy. + memset(mRowBuffer.get(), 0, bufferLen); + + // Allocate the window, which contains horizontally downscaled scanlines. (We // can store scanlines which are already downscale because our downscaling // filter is separable.) diff -Nru thunderbird-38.4.0+build3/mozilla/media/libstagefright/frameworks/av/include/media/stagefright/MetaData.h thunderbird-38.5.1+build2/mozilla/media/libstagefright/frameworks/av/include/media/stagefright/MetaData.h --- thunderbird-38.4.0+build3/mozilla/media/libstagefright/frameworks/av/include/media/stagefright/MetaData.h 2015-11-20 17:38:09.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/media/libstagefright/frameworks/av/include/media/stagefright/MetaData.h 2016-01-05 22:52:25.000000000 +0000 @@ -248,7 +248,7 @@ return mSize <= sizeof(u.reservoir); } - void allocateStorage(size_t size); + bool allocateStorage(size_t size); void freeStorage(); void *storage() { diff -Nru thunderbird-38.4.0+build3/mozilla/media/libstagefright/frameworks/av/media/libstagefright/MetaData.cpp thunderbird-38.5.1+build2/mozilla/media/libstagefright/frameworks/av/media/libstagefright/MetaData.cpp --- thunderbird-38.4.0+build3/mozilla/media/libstagefright/frameworks/av/media/libstagefright/MetaData.cpp 2015-11-20 17:38:09.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/media/libstagefright/frameworks/av/media/libstagefright/MetaData.cpp 2016-01-05 22:52:25.000000000 +0000 @@ -220,7 +220,7 @@ } MetaData::typed_data::typed_data() - : mType(0), + : mType(TYPE_NONE), mSize(0) { } @@ -231,17 +231,19 @@ MetaData::typed_data::typed_data(const typed_data &from) : mType(from.mType), mSize(0) { - allocateStorage(from.mSize); - memcpy(storage(), from.storage(), mSize); + if (allocateStorage(from.mSize)) { + memcpy(storage(), from.storage(), mSize); + } } MetaData::typed_data &MetaData::typed_data::operator=( const MetaData::typed_data &from) { if (this != &from) { clear(); - mType = from.mType; - allocateStorage(from.mSize); - memcpy(storage(), from.storage(), mSize); + if (allocateStorage(from.mSize)) { + mType = from.mType; + memcpy(storage(), from.storage(), mSize); + } } return *this; @@ -250,16 +252,17 @@ void MetaData::typed_data::clear() { freeStorage(); - mType = 0; + mType = TYPE_NONE; } void MetaData::typed_data::setData( uint32_t type, const void *data, size_t size) { clear(); - mType = type; - allocateStorage(size); - memcpy(storage(), data, size); + if (allocateStorage(size)) { + mType = type; + memcpy(storage(), data, size); + } } void MetaData::typed_data::getData( @@ -269,14 +272,22 @@ *data = storage(); } -void MetaData::typed_data::allocateStorage(size_t size) { +bool MetaData::typed_data::allocateStorage(size_t size) { + // Update mSize now, as it is needed by usesReservoir() below. + // (mSize will be reset if the allocation fails further below.) mSize = size; if (usesReservoir()) { - return; + return true; } u.ext_data = malloc(mSize); + if (!u.ext_data) { + mType = TYPE_NONE; + mSize = 0; + return false; + } + return true; } void MetaData::typed_data::freeStorage() { diff -Nru thunderbird-38.4.0+build3/mozilla/media/libstagefright/frameworks/av/media/libstagefright/MPEG4Extractor.cpp thunderbird-38.5.1+build2/mozilla/media/libstagefright/frameworks/av/media/libstagefright/MPEG4Extractor.cpp --- thunderbird-38.4.0+build3/mozilla/media/libstagefright/frameworks/av/media/libstagefright/MPEG4Extractor.cpp 2015-11-20 17:38:09.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/media/libstagefright/frameworks/av/media/libstagefright/MPEG4Extractor.cpp 2016-01-05 22:52:25.000000000 +0000 @@ -508,12 +508,19 @@ CHECK_NE(err, (status_t)NO_INIT); // copy pssh data into file metadata - int psshsize = 0; + uint64_t psshsize = 0; for (size_t i = 0; i < mPssh.size(); i++) { psshsize += 20 + mPssh[i].datalen; + if (mPssh[i].datalen > kMAX_ALLOCATION - 20 || + psshsize > kMAX_ALLOCATION) { + return ERROR_MALFORMED; + } } if (psshsize) { char *buf = (char*)malloc(psshsize); + if (!buf) { + return ERROR_MALFORMED; + } char *ptr = buf; for (size_t i = 0; i < mPssh.size(); i++) { memcpy(ptr, mPssh[i].uuid, 20); // uuid + length @@ -1883,12 +1890,15 @@ if (mFileMetaData != NULL) { ALOGV("chunk_data_size = %lld and data_offset = %lld", chunk_data_size, data_offset); + const int kSkipBytesOfDataBox = 16; + if (chunk_data_size <= kSkipBytesOfDataBox) { + return ERROR_MALFORMED; + } sp buffer = new ABuffer(chunk_data_size + 1); if (mDataSource->readAt( data_offset, buffer->data(), chunk_data_size) != (ssize_t)chunk_data_size) { return ERROR_IO; } - const int kSkipBytesOfDataBox = 16; mFileMetaData->setData( kKeyAlbumArt, MetaData::TYPE_NONE, buffer->data() + kSkipBytesOfDataBox, chunk_data_size - kSkipBytesOfDataBox); diff -Nru thunderbird-38.4.0+build3/mozilla/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp thunderbird-38.5.1+build2/mozilla/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp --- thunderbird-38.4.0+build3/mozilla/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp 2015-11-20 17:38:10.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp 2016-01-05 22:52:27.000000000 +0000 @@ -1004,7 +1004,7 @@ NS_IMETHODIMP PeerConnectionImpl::EnsureDataConnection(uint16_t aNumstreams) { - PC_AUTO_ENTER_API_CALL_NO_CHECK(); + PC_AUTO_ENTER_API_CALL(false); #ifdef MOZILLA_INTERNAL_API if (mDataConnection) { @@ -1102,7 +1102,7 @@ nsresult PeerConnectionImpl::InitializeDataChannel() { - PC_AUTO_ENTER_API_CALL_NO_CHECK(); + PC_AUTO_ENTER_API_CALL(false); CSFLogDebug(logTag, "%s", __FUNCTION__); const JsepApplicationCodecDescription* codec; @@ -1184,7 +1184,7 @@ uint16_t aStream, nsDOMDataChannel** aRetval) { - PC_AUTO_ENTER_API_CALL_NO_CHECK(); + PC_AUTO_ENTER_API_CALL(false); MOZ_ASSERT(aRetval); #ifdef MOZILLA_INTERNAL_API diff -Nru thunderbird-38.4.0+build3/mozilla/media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/rtp_utility.cc thunderbird-38.5.1+build2/mozilla/media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/rtp_utility.cc --- thunderbird-38.4.0+build3/mozilla/media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/rtp_utility.cc 2015-11-20 17:38:12.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/rtp_utility.cc 2016-01-05 22:52:31.000000000 +0000 @@ -338,12 +338,6 @@ return false; } - const uint8_t CSRCocts = CC * 4; - - if ((ptr + CSRCocts) > _ptrRTPDataEnd) { - return false; - } - header.markerBit = M; header.payloadType = PT; header.sequenceNumber = sequenceNumber; @@ -352,6 +346,14 @@ header.numCSRCs = CC; header.paddingLength = P ? *(_ptrRTPDataEnd - 1) : 0; + // 12 == sizeof(RFC rtp header) == kRtpMinParseLength, each CSRC=4 bytes + header.headerLength = 12 + (CC * 4); + // not a full validation, just safety against underflow. Padding must + // start after the header. We can have 0 payload bytes left, note. + if (header.paddingLength + header.headerLength > length) { + return false; + } + for (unsigned int i = 0; i < CC; ++i) { uint32_t CSRC = *ptr++ << 24; CSRC += *ptr++ << 16; @@ -359,8 +361,7 @@ CSRC += *ptr++; header.arrOfCSRCs[i] = CSRC; } - - header.headerLength = 12 + CSRCocts; + assert((ptr - _ptrRTPDataBegin) == header.headerLength); // If in effect, MAY be omitted for those packets for which the offset // is zero. @@ -385,8 +386,9 @@ | header extension | | .... | */ - const ptrdiff_t remain = _ptrRTPDataEnd - ptr; - if (remain < 4) { + // earlier test ensures we have at least paddingLength bytes left + const ptrdiff_t remain = (_ptrRTPDataEnd - ptr) - header.paddingLength; + if (remain < 4) { // minimum header extension length = 32 bits return false; } @@ -395,11 +397,11 @@ uint16_t definedByProfile = *ptr++ << 8; definedByProfile += *ptr++; - uint16_t XLen = *ptr++ << 8; + size_t XLen = *ptr++ << 8; XLen += *ptr++; // in 32 bit words XLen *= 4; // in octs - if (remain < (4 + XLen)) { + if (remain < (4 + XLen)) { // we already accounted for padding return false; } if (definedByProfile == kRtpOneByteHeaderExtensionId) { diff -Nru thunderbird-38.4.0+build3/mozilla/security/manager/boot/src/nsSTSPreloadList.errors thunderbird-38.5.1+build2/mozilla/security/manager/boot/src/nsSTSPreloadList.errors --- thunderbird-38.4.0+build3/mozilla/security/manager/boot/src/nsSTSPreloadList.errors 2015-11-20 17:39:05.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/security/manager/boot/src/nsSTSPreloadList.errors 2016-01-05 22:52:52.000000000 +0000 @@ -1,7 +1,8 @@ 0x0a.net: could not connect to host +1password.com: did not receive HSTS header 300651.ru: did not receive HSTS header +3chit.cf: could not connect to host 56ct.com: could not connect to host -9point6.com: could not connect to host activiti.alfresco.com: did not receive HSTS header ad-notam.com: did not receive HSTS header ad-notam.de: did not receive HSTS header @@ -17,7 +18,6 @@ afp548.tk: could not connect to host agrimap.com: did not receive HSTS header agrios.de: did not receive HSTS header -aids.gov: did not receive HSTS header airbnb.com: did not receive HSTS header aiticon.de: did not receive HSTS header akselimedia.fi: did not receive HSTS header @@ -31,7 +31,7 @@ andreasbreitenlohner.de: did not receive HSTS header andreasolsson.se: could not connect to host ankakaak.com: could not connect to host -antoniomarques.eu: could not connect to host +anycoin.me: did not receive HSTS header apachelounge.com: did not receive HSTS header api.mega.co.nz: could not connect to host api.recurly.com: did not receive HSTS header @@ -60,13 +60,13 @@ azprep.us: could not connect to host balcan-underground.net: could not connect to host baldwinkoo.com: could not connect to host -ball.holdings: did not receive HSTS header bccx.com: could not connect to host bcm.com.au: max-age too low: 0 be.search.yahoo.com: did not receive HSTS header beastowner.com: did not receive HSTS header bedeta.de: could not connect to host belairsewvac.com: did not receive HSTS header +beneffy.com: could not connect to host betnet.fr: could not connect to host bhatia.at: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] bi.search.yahoo.com: did not receive HSTS header @@ -83,8 +83,8 @@ blubbablasen.de: could not connect to host bluetenmeer.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] bochs.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] +bodo-wolff.de: did not receive HSTS header bonigo.de: did not receive HSTS header -bookingapp.nl: did not receive HSTS header bowlroll.net: max-age too low: 0 br.search.yahoo.com: did not receive HSTS header braintreepayments.com: did not receive HSTS header @@ -103,10 +103,11 @@ cake.care: could not connect to host calibreapp.com: did not receive HSTS header calyxinstitute.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] -cao.la: could not connect to host carbonmade.com: max-age too low: 5184000 carlolly.co.uk: could not connect to host -casa-su.casa: did not receive HSTS header +catnapstudios.com: could not connect to host +cavac.at: could not connect to host +caveclan.org: could not connect to host cd.search.yahoo.com: did not receive HSTS header cdnb.co: could not connect to host celltek-server.de: did not receive HSTS header @@ -143,9 +144,10 @@ coffeestrategies.com: did not receive HSTS header coindam.com: could not connect to host comdurav.com: did not receive HSTS header +compucorner.mx: did not receive HSTS header conformal.com: could not connect to host +connext.de: could not connect to host console.python.org: did not receive HSTS header -copperhead.co: did not receive HSTS header cordial-restaurant.com: could not connect to host core.mx: could not connect to host coursella.com: did not receive HSTS header @@ -163,8 +165,9 @@ cybershambles.com: could not connect to host cydia-search.io: could not connect to host cyphertite.com: could not connect to host +darknode.in: did not receive HSTS header +darlo.co.uk: could not connect to host data-abundance.com: could not connect to host -datasnitch.co.uk: could not connect to host datenkeks.de: did not receive HSTS header dateno1.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] daylightcompany.com: did not receive HSTS header @@ -175,19 +178,17 @@ depixion.agency: did not receive HSTS header derevtsov.com: did not receive HSTS header devh.de: did not receive HSTS header -diablotine.rocks: did not receive HSTS header -diedrich.co: max-age too low: 7776000 +diablotine.rocks: could not connect to host +diasp.cz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] digitaldaddy.net: could not connect to host dinamoelektrik.com: max-age too low: 0 discovery.lookout.com: did not receive HSTS header dk.search.yahoo.com: did not receive HSTS header dl.google.com: did not receive HSTS header (error ignored - included regardless) -dn42.us: could not connect to host do.search.yahoo.com: did not receive HSTS header docs.google.com: did not receive HSTS header (error ignored - included regardless) dohosting.ru: could not connect to host domaris.de: did not receive HSTS header -dorianmuthig.com: could not connect to host dotadata.me: could not connect to host download.jitsi.org: did not receive HSTS header dragons-of-highlands.cz: could not connect to host @@ -195,10 +196,12 @@ drive.google.com: did not receive HSTS header (error ignored - included regardless) dropcam.com: did not receive HSTS header drtroyhendrickson.com: could not connect to host +dubrovskiy.net: did not receive HSTS header +dubrovskiy.pro: did not receive HSTS header dzlibs.io: could not connect to host e-aut.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] e-deca2.org: did not receive HSTS header -ebaymotorssucks.com: could not connect to host +ebaymotorssucks.com: max-age too low: 0 ecake.in: could not connect to host ecdn.cz: could not connect to host ecg.fr: could not connect to host @@ -206,6 +209,7 @@ edmodo.com: did not receive HSTS header egit.co: could not connect to host electromc.com: could not connect to host +elimdengelen.com: did not receive HSTS header elnutricionista.es: did not receive HSTS header email.lookout.com: could not connect to host en-maktoob.search.yahoo.com: did not receive HSTS header @@ -219,9 +223,8 @@ esec.rs: did not receive HSTS header espanol.search.yahoo.com: did not receive HSTS header espra.com: could not connect to host -etoprekrasno.ru: did not receive HSTS header etsysecure.com: could not connect to host -exiahost.com: did not receive HSTS header +explodie.org: could not connect to host expoundite.net: did not receive HSTS header ezequiel-garzon.com: could not connect to host ezimoeko.net: could not connect to host @@ -240,14 +243,18 @@ firemail.io: could not connect to host fixingdns.com: did not receive HSTS header fj.search.yahoo.com: did not receive HSTS header +flow.su: did not receive HSTS header floweslawncare.com: did not receive HSTS header fm83.nl: did not receive HSTS header fonetiq.io: could not connect to host +food4health.guide: could not connect to host foreignexchangeresource.com: did not receive HSTS header foro.io: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] fotiu.com: could not connect to host fr.search.yahoo.com: did not receive HSTS header -frusky.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] +fr33d0m.link: did not receive HSTS header +freifunk-luenen.de: did not receive HSTS header +frusky.de: did not receive HSTS header g2g.com: did not receive HSTS header g4w.co: could not connect to host g4w.co: could not connect to host (error ignored - included regardless) @@ -257,8 +264,10 @@ getable.com: did not receive HSTS header getlantern.org: did not receive HSTS header getssl.uz: could not connect to host +gizzo.sk: could not connect to host gl.search.yahoo.com: did not receive HSTS header glass.google.com: did not receive HSTS header (error ignored - included regardless) +glws.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] gm.search.yahoo.com: did not receive HSTS header gmail.com: did not receive HSTS header (error ignored - included regardless) gmantra.org: did not receive HSTS header @@ -304,7 +313,6 @@ herzbotschaft.de: max-age too low: 0 hexony.com: did not receive HSTS header hicn.gq: could not connect to host -hiv.gov: did not receive HSTS header hk.search.yahoo.com: did not receive HSTS header hledejlevne.cz: did not receive HSTS header hn.search.yahoo.com: did not receive HSTS header @@ -333,23 +341,24 @@ inb4.us: could not connect to host inertianetworks.com: did not receive HSTS header infogrfx.com: max-age too low: 0 +informnapalm.org: did not receive HSTS header inksupply.com: did not receive HSTS header inleaked.com: could not connect to host inmyarea.com: did not receive HSTS header intarweb.ca: could not connect to host -interasistmen.se: did not receive HSTS header intercom.io: did not receive HSTS header interserved.com: did not receive HSTS header ionas-law.ro: did not receive HSTS header iop.intuit.com: max-age too low: 86400 -iostips.ru: did not receive HSTS header +iostips.ru: could not connect to host ipmimagazine.com: did not receive HSTS header +iraqidinar.org: did not receive HSTS header irccloud.com: did not receive HSTS header -irmag.ru: could not connect to host isimonbrown.co.uk: could not connect to host isogram.nl: did not receive HSTS header it.search.yahoo.com: did not receive HSTS header itshost.ru: could not connect to host +ivk.website: could not connect to host izdiwho.com: could not connect to host j0s.at: did not receive HSTS header jamesdoylephoto.com: did not receive HSTS header @@ -357,11 +366,13 @@ jayblock.com: did not receive HSTS header jelmer.co.uk: could not connect to host jetaprices.com: max-age too low: 0 -jettshome.org: could not connect to host jkb.pics: could not connect to host jkbuster.com: could not connect to host +jmdekker.it: could not connect to host johners.me: could not connect to host +jonas-keidel.de: did not receive HSTS header jonathan.ir: did not receive HSTS header +jondevin.com: could not connect to host jottit.com: could not connect to host julian-kipka.de: did not receive HSTS header justlikethat.hosting: did not receive HSTS header @@ -382,7 +393,6 @@ kiwiirc.com: max-age too low: 5256000 klaxn.com: could not connect to host klaxn.org: could not connect to host -kojipkgs.fedoraproject.org: could not connect to host komandakovalchuk.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] koop-bremen.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] korni22.org: did not receive HSTS header @@ -393,19 +403,26 @@ kweddingplanning.com: did not receive HSTS header kz.search.yahoo.com: did not receive HSTS header labina.com.tr: did not receive HSTS header +lachlankidson.net: did not receive HSTS header laf.in.net: did not receive HSTS header +lana.swedbank.se: max-age too low: 3024000 landscape.canonical.com: max-age too low: 2592000 +lazurit.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] ldc.com.br: did not receive HSTS header ledgerscope.net: max-age too low: 86400 +leifdreizler.com: could not connect to host +lentri.com: did not receive HSTS header +leon-jaekel.com: did not receive HSTS header li.search.yahoo.com: did not receive HSTS header library.linode.com: did not receive HSTS header libraryfreedomproject.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] lifeguard.aecom.com: max-age too low: 86400 linguaquote.com: did not receive HSTS header lists.fedoraproject.org: did not receive HSTS header -loancompare.co.za: did not receive HSTS header login.corp.google.com: max-age too low: 7776000 (error ignored - included regardless) +lognot.net: could not connect to host logotype.se: did not receive HSTS header +lolicore.ch: could not connect to host lookzook.com: did not receive HSTS header lovelycorral.com: did not receive HSTS header lt.search.yahoo.com: did not receive HSTS header @@ -427,10 +444,11 @@ marshut.net: could not connect to host martijnvhoof.nl: could not connect to host maternalsafety.org: did not receive HSTS header +maveris.com: did not receive HSTS header mb-is.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] mbdb.jp: max-age too low: 0 mdfnet.se: did not receive HSTS header -mebio.us: did not receive HSTS header +mebio.us: could not connect to host medallia.io: could not connect to host mediacru.sh: could not connect to host meetings2.com: did not receive HSTS header @@ -439,6 +457,7 @@ megaxchange.com: did not receive HSTS header meinebo.it: could not connect to host meta-db.com: could not connect to host +miconcinemas.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] micropple.net: could not connect to host mijn-email.org: could not connect to host mindoktor.se: did not receive HSTS header @@ -449,7 +468,7 @@ mobilethreat.net: could not connect to host mobilethreatnetwork.net: could not connect to host modemagazines.co.uk: did not receive HSTS header -motocyklovedily.cz: did not receive HSTS header +moriz.net: did not receive HSTS header mp3gratuiti.com: did not receive HSTS header mp3juices.is: could not connect to host mqas.net: could not connect to host @@ -462,6 +481,7 @@ mw.search.yahoo.com: did not receive HSTS header mx.search.yahoo.com: did not receive HSTS header my.alfresco.com: did not receive HSTS header +my.swedbank.se: max-age too low: 3024000 mydigipass.com: did not receive HSTS header mykolab.com: did not receive HSTS header mykreuzfahrt.de: did not receive HSTS header @@ -492,13 +512,15 @@ np.search.yahoo.com: did not receive HSTS header numericacu.com: did not receive HSTS header nutsandboltsmedia.com: did not receive HSTS header -nymphetomania.net: did not receive HSTS header nz.search.yahoo.com: did not receive HSTS header nzb.cat: did not receive HSTS header ocrami.us: could not connect to host -online.swedbank.se: could not connect to host +onewpst.com: could not connect to host +online.swedbank.se: max-age too low: 3024000 ooonja.de: could not connect to host +open-to-repair.fr: did not receive HSTS header opendesk.cc: did not receive HSTS header +opennippon.com: could not connect to host openshift.redhat.com: did not receive HSTS header orhideous.name: could not connect to host ottospora.nl: could not connect to host @@ -516,6 +538,7 @@ paste.linode.com: could not connect to host pastebin.linode.com: could not connect to host patterson.mp: could not connect to host +pbprint.ru: could not connect to host pctonic.net: did not receive HSTS header pe.search.yahoo.com: did not receive HSTS header perfectionis.me: could not connect to host @@ -526,6 +549,7 @@ phurl.de: could not connect to host picksin.club: could not connect to host pinesandneedles.com: did not receive HSTS header +piratedot.com: did not receive HSTS header piratenlogin.de: could not connect to host pirati.cz: max-age too low: 604800 pisidia.de: did not receive HSTS header @@ -536,13 +560,16 @@ play.google.com: did not receive HSTS header (error ignored - included regardless) plothost.com: did not receive HSTS header poiema.com.sg: did not receive HSTS header -popcorntime.ws: max-age too low: 0 +pol.in.th: could not connect to host +popcorntime.ws: did not receive HSTS header pr.search.yahoo.com: did not receive HSTS header +preissler.co.uk: could not connect to host pressfreedomfoundation.org: did not receive HSTS header prodpad.com: did not receive HSTS header production.vn: did not receive HSTS header promecon-gmbh.de: did not receive HSTS header prontolight.com: did not receive HSTS header +proxybay.club: did not receive HSTS header proxybay.info: did not receive HSTS header pult.co: could not connect to host punchr-kamikazee.rhcloud.com: did not receive HSTS header @@ -551,11 +578,10 @@ qc.search.yahoo.com: did not receive HSTS header qingxuan.info: did not receive HSTS header qvitoo.com: did not receive HSTS header -railgun.ac: did not receive HSTS header +rafaelcz.de: could not connect to host raiseyourflag.com: did not receive HSTS header rapidresearch.me: could not connect to host rasing.me: could not connect to host -raspass.me: could not connect to host ravchat.com: did not receive HSTS header rawstorieslondon.com: could not connect to host raydobe.me: could not connect to host @@ -566,17 +592,18 @@ renem.net: max-age too low: 0 renuo.ch: did not receive HSTS header reserve-online.net: did not receive HSTS header -rid-wan.com: max-age too low: 2592000 rika.me: could not connect to host rippleunion.com: did not receive HSTS header ro.search.yahoo.com: did not receive HSTS header roan24.pl: did not receive HSTS header roddis.net: did not receive HSTS header +romans-place.me.uk: could not connect to host ronvandordt.info: could not connect to host roosterpgplus.nl: did not receive HSTS header ru-sprachstudio.ch: could not connect to host ru.search.yahoo.com: did not receive HSTS header rudloff.pro: did not receive HSTS header +rugirlfriend.com: did not receive HSTS header rusl.me: did not receive HSTS header rw.search.yahoo.com: did not receive HSTS header sah3.net: could not connect to host @@ -585,7 +612,7 @@ saturngames.co.uk: could not connect to host savetheinternet.eu: did not receive HSTS header schallert.com: did not receive HSTS header -schlarp.com: did not receive HSTS header +schnell-gold.com: could not connect to host schoop.me: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] schreiber-netzwerk.eu: did not receive HSTS header scrambl.is: could not connect to host @@ -604,31 +631,32 @@ seomobo.com: did not receive HSTS header seowarp.net: could not connect to host serverdensity.io: did not receive HSTS header +servergno.me: did not receive HSTS header sg.search.yahoo.com: did not receive HSTS header shamka.ru: max-age too low: 0 -shanewadleigh.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] +shanewadleigh.com: could not connect to host shiinko.com: could not connect to host shoprose.ru: did not receive HSTS header shops.neonisi.com: could not connect to host siammedia.co: did not receive HSTS header -sifls.com: did not receive HSTS header +sifls.com: could not connect to host silentcircle.org: could not connect to host silvergoldbull.com: did not receive HSTS header simon.butcher.name: max-age too low: 2629743 simplelearner.com: could not connect to host simplyfixit.co.uk: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] siraweb.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] -sistemy48.ru: did not receive HSTS header sites.google.com: did not receive HSTS header (error ignored - included regardless) smartcoin.com.br: did not receive HSTS header smartlend.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] smkn1lengkong.sch.id: did not receive HSTS header +smksi2.com: did not receive HSTS header snailing.org: could not connect to host sneberger.cz: did not receive HSTS header soccergif.com: did not receive HSTS header soci.ml: could not connect to host +sockeye.cc: could not connect to host sol.io: could not connect to host -sour.is: could not connect to host souyar.de: could not connect to host souyar.net: could not connect to host souyar.us: could not connect to host @@ -643,9 +671,11 @@ stocktrade.de: could not connect to host streamingmagazin.de: could not connect to host strongest-privacy.com: could not connect to host +student.andover.edu: could not connect to host studydrive.net: did not receive HSTS header subrosa.io: could not connect to host suite73.org: could not connect to host +sunflyer.cn: could not connect to host sunshinepress.org: could not connect to host support.mayfirst.org: did not receive HSTS header surfeasy.com: did not receive HSTS header @@ -665,11 +695,10 @@ tanzhijun.com: did not receive HSTS header tapka.cz: did not receive HSTS header tbarter.com: did not receive HSTS header -techhipster.net: could not connect to host techhub.ml: could not connect to host -techllage.com: could not connect to host technotonic.com.au: did not receive HSTS header tegelsensanitaironline.nl: did not receive HSTS header +tekshrek.com: could not connect to host tektoria.de: did not receive HSTS header temehu.com: did not receive HSTS header terrax.berlin: could not connect to host @@ -688,7 +717,7 @@ titties.ml: could not connect to host tls.li: could not connect to host tollmanz.com: did not receive HSTS header -tomfisher.eu: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] +tomfisher.eu: could not connect to host topbargains.com.au: did not receive HSTS header topodin.com: did not receive HSTS header topshelfguild.com: could not connect to host @@ -697,8 +726,8 @@ tradingcentre.com.au: did not receive HSTS header translate.googleapis.com: did not receive HSTS header (error ignored - included regardless) translatoruk.co.uk: did not receive HSTS header -triop.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] -trybind.com: did not receive HSTS header +trinitycore.org: max-age too low: 2592000 +trybind.com: could not connect to host tuturulianda.com: did not receive HSTS header tv.search.yahoo.com: could not connect to host tw.search.yahoo.com: did not receive HSTS header @@ -721,17 +750,21 @@ vbulletinrussia.com: could not connect to host ve.search.yahoo.com: did not receive HSTS header vhost.co.id: could not connect to host +viennan.net: could not connect to host +vivendi.de: could not connect to host vmrdev.com: could not connect to host vn.search.yahoo.com: did not receive HSTS header vortexhobbies.com: did not receive HSTS header vyncke.org: max-age too low: 2678400 vzk.io: could not connect to host waze.com: max-age too low: 0 +webandwords.com.au: could not connect to host webassadors.com: could not connect to host webeau.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] webmail.mayfirst.org: did not receive HSTS header webmaniabr.com: did not receive HSTS header webswitch.io: could not connect to host +werdeeintimo.de: did not receive HSTS header wevahoo.com: could not connect to host when-release.com: did not receive HSTS header whitestagforge.com: did not receive HSTS header @@ -763,8 +796,8 @@ www.surfeasy.com: did not receive HSTS header xa.search.yahoo.com: did not receive HSTS header xavierbarroso.com: did not receive HSTS header +xellos.ml: could not connect to host xiaody.me: could not connect to host -xiaolvmu.me: could not connect to host xiaoxiao.im: could not connect to host xplore-dna.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] xtream-hosting.com: could not connect to host @@ -773,12 +806,13 @@ xtreamhosting.eu: could not connect to host y-o-w.com: did not receive HSTS header yenniferallulli.moda: could not connect to host +yetii.net: did not receive HSTS header +yingyj.com: did not receive HSTS header yokeepo.com: max-age too low: 0 za.search.yahoo.com: did not receive HSTS header zachborboa.com: did not receive HSTS header zarooba.com: did not receive HSTS header zeitpunkt-kulturmagazin.de: did not receive HSTS header -zeno-system.com: could not connect to host zenpayroll.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-esr38-l64-periodicupdate-000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no] zentraler-kreditausschuss.de: max-age too low: 0 zh.search.yahoo.com: did not receive HSTS header diff -Nru thunderbird-38.4.0+build3/mozilla/security/manager/boot/src/nsSTSPreloadList.inc thunderbird-38.5.1+build2/mozilla/security/manager/boot/src/nsSTSPreloadList.inc --- thunderbird-38.4.0+build3/mozilla/security/manager/boot/src/nsSTSPreloadList.inc 2015-11-20 17:39:05.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/security/manager/boot/src/nsSTSPreloadList.inc 2016-01-05 22:52:52.000000000 +0000 @@ -8,7 +8,7 @@ /*****************************************************************************/ #include -const PRTime gPreloadListExpirationTime = INT64_C(1457174179377000); +const PRTime gPreloadListExpirationTime = INT64_C(1458387746089000); class nsSTSPreload { @@ -26,11 +26,13 @@ { "1017scribes.com", true }, { "17hats.com", true }, { "188trafalgar.ca", true }, + { "18f.gov", true }, { "18f.gsa.gov", true }, { "1a-diamantscheiben.de", true }, { "1a-jva.de", true }, { "1a-vermessung.at", true }, { "1a-werkstattgeraete.de", true }, + { "1co-jp.net", true }, { "2048game.co.uk", true }, { "2600hq.com", true }, { "2bis10.de", true }, @@ -45,7 +47,7 @@ { "42ms.org", true }, { "47ronin.com", false }, { "4eyes.ch", true }, - { "4g-server.eu", false }, + { "4g-server.eu", true }, { "4mm.org", true }, { "4sqsu.eu", true }, { "5apps.com", true }, @@ -69,10 +71,12 @@ { "acorns.com", true }, { "acuica.co.uk", false }, { "acus.gov", true }, + { "ad-notam.pt", true }, { "adambyers.com", true }, { "adamkostecki.de", true }, { "adamradocz.com", true }, { "adamstas.com", true }, + { "adblock.ovh", true }, { "adblockextreme.com", true }, { "adduono.com", true }, { "addvocate.com", true }, @@ -80,6 +84,7 @@ { "admin.fedoraproject.org", true }, { "admin.google.com", true }, { "admin.stg.fedoraproject.org", true }, + { "admsel.ec", true }, { "adorai.tk", true }, { "adsfund.org", true }, { "advanced-online.eu", true }, @@ -96,6 +101,7 @@ { "ahmerjamilkhan.org", true }, { "ahoyconference.com", true }, { "ahwatukeefoothillsmontessori.com", true }, + { "aids.gov", true }, { "aie.de", true }, { "aircomms.com", true }, { "airlea.com", true }, @@ -121,10 +127,14 @@ { "alexgaynor.net", true }, { "alexsexton.com", true }, { "alexyang.me", true }, + { "alltheducks.com", true }, { "allthingswild.co.uk", true }, { "alocato.com", true }, { "alpca.org", true }, + { "alphassl.de", true }, { "alt.org", true }, + { "altedirect.com", true }, + { "altestore.com", true }, { "alza.cz", true }, { "alza.de", true }, { "alza.sk", true }, @@ -138,7 +148,7 @@ { "amunoz.org", true }, { "anadoluefessk.org", true }, { "anadoluefessporkulubu.org", true }, - { "anakros.me", false }, + { "anakros.me", true }, { "andere-gedanken.net", true }, { "andreas-kluge.eu", true }, { "andreaskluge.eu", true }, @@ -156,6 +166,9 @@ { "ankakaak.com", true }, { "ankarakart.com.tr", true }, { "ankaraprofesyonelnakliyat.com", true }, + { "ankaraprofesyonelnakliyat.com.tr", true }, + { "ankaraprofesyonelwebtasarim.com", true }, + { "ankarauzmanlarnakliyat.com", true }, { "annahmeschluss.de", true }, { "annevankesteren.com", true }, { "annevankesteren.nl", true }, @@ -164,7 +177,7 @@ { "ansdell.net", true }, { "antipolygraph.org", true }, { "antoniomarques.eu", true }, - { "anycoin.me", true }, + { "anzeiger.ag", true }, { "aojf.fr", true }, { "apachehaus.de", false }, { "apadvantage.com", false }, @@ -175,6 +188,7 @@ { "apibot.de", true }, { "apis.google.com", true }, { "apn-einstellungen.de", true }, + { "apnakliyat.com", true }, { "aponow.de", true }, { "app.lookout.com", false }, { "app.manilla.com", true }, @@ -209,9 +223,12 @@ { "artegusto.ru", true }, { "arteseideias.com.pt", true }, { "arty.name", true }, + { "aryasenna.net", true }, { "ask.fedoraproject.org", true }, { "ask.stg.fedoraproject.org", true }, { "askfit.cz", true }, + { "askwhy.cz", true }, + { "askwhy.eu", true }, { "asm-x.com", true }, { "ass.org.au", true }, { "atavio.at", true }, @@ -221,6 +238,10 @@ { "atgseed.uk", true }, { "athenelive.com", true }, { "atishchenko.com", true }, + { "atisoft.com.tr", true }, + { "atisoft.net", true }, + { "atisoft.net.tr", true }, + { "atisoft.web.tr", true }, { "atlantischild.hu", true }, { "atlassian.net", true }, { "atlex.nl", true }, @@ -230,7 +251,7 @@ { "auditmatrix.com", true }, { "auf-feindgebiet.de", true }, { "augustian-life.cz", true }, - { "aulo.in", true }, + { "aulo.in", false }, { "aurainfosec.com", true }, { "aurainfosec.com.au", true }, { "auraredeye.com", true }, @@ -251,8 +272,10 @@ { "baer.im", true }, { "baff.lu", true }, { "bagelsbakery.com", true }, + { "balboa.io", true }, { "balcan-underground.net", true }, { "balikonos.cz", true }, + { "ball.holdings", true }, { "bank.simple.com", false }, { "bankin.com", true }, { "barcodeberlin.com", true }, @@ -267,6 +290,7 @@ { "bayrisch-fuer-anfaenger.de", true }, { "bccx.com", true }, { "bcrook.com", false }, + { "bcsytv.com", true }, { "bcvps.com", false }, { "beach-inspector.com", true }, { "beamitapp.com", true }, @@ -277,6 +301,7 @@ { "bedeta.de", true }, { "bedreid.dk", true }, { "beercandle.com", true }, + { "beholdthehurricane.com", true }, { "beier.io", true }, { "ben-energy.com", true }, { "benchling.com", true }, @@ -287,10 +312,12 @@ { "benny003.de", true }, { "bentertain.de", true }, { "bentrask.com", true }, + { "beranovi.com", true }, { "berthabailey.com", true }, { "best-wedding-quotes.com", true }, { "betaworx.de", true }, { "betaworx.eu", true }, + { "betterhelp.com", true }, { "bettrlifeapp.com", true }, { "bevapehappy.com", true }, { "bexit.nl", true }, @@ -358,12 +385,13 @@ { "blog.torproject.org", false }, { "blognone.com", true }, { "blubbablasen.de", true }, - { "bodo-wolff.de", false }, { "bohramt.de", true }, { "boiseonlinemall.com", true }, { "bonitabrazilian.co.nz", true }, + { "bookingapp.nl", true }, { "borchers-media.de", true }, { "boris.one", false }, + { "borysek.net", true }, { "bouncyball.eu", true }, { "bouncyballs.org", true }, { "bownty.dk", true }, @@ -382,8 +410,11 @@ { "breeswish.org", true }, { "brianmwaters.net", true }, { "brks.xyz", true }, + { "broadsheet.com.au", true }, + { "broersma.com", true }, { "broeselei.at", true }, { "brossmanit.com", true }, + { "brownfieldstsc.org", true }, { "brrr.fr", true }, { "brunosouza.org", true }, { "bryanquigley.com", true }, @@ -396,6 +427,7 @@ { "buildkite.com", true }, { "bulktrade.de", true }, { "bulldog-hosting.de", true }, + { "bulmafox.com", true }, { "bundaberg.com", true }, { "burningcrash.de", true }, { "burnworks.com", true }, @@ -408,6 +440,7 @@ { "bvalle.com", true }, { "bwcscorecard.org", true }, { "bygningsregistrering.dk", true }, + { "byrtz.de", true }, { "bytepark.de", false }, { "bzv-fr.eu", true }, { "ca.gparent.org", true }, @@ -415,6 +448,7 @@ { "cafe-scientifique.org.ec", true }, { "calgaryconstructionjobs.com", true }, { "call.me", true }, + { "callsigns.ca", true }, { "calomel.org", true }, { "calories.org", true }, { "calvin.me", true }, @@ -434,6 +468,7 @@ { "carlosalves.info", true }, { "cartouche24.eu", true }, { "cartucce24.it", true }, + { "casa-su.casa", true }, { "cashlink.io", true }, { "catnapstudios.com", true }, { "cavac.at", true }, @@ -467,6 +502,7 @@ { "checktype.com", true }, { "cheerflow.com", true }, { "cheesetart.my", false }, + { "chimeratool.com", true }, { "chippy.ch", false }, { "chiralsoftware.com", true }, { "chloe.re", true }, @@ -497,9 +533,11 @@ { "clapping-rhymes.com", true }, { "claralabs.com", true }, { "classdojo.com", true }, + { "classicspublishing.com", true }, { "clerkendweller.uk", true }, { "clevertarget.ru", true }, { "clevisto.com", true }, + { "clickandgo.com", true }, { "climateinteractive.org", true }, { "clintwilson.technology", true }, { "clipped4u.com", true }, @@ -539,6 +577,7 @@ { "coldhak.ca", true }, { "collabornation.net", true }, { "collinmbarrett.com", true }, + { "colognegaming.net", true }, { "coloradocomputernetworking.net", true }, { "colorlib.com", true }, { "comarkinstruments.net", true }, @@ -546,6 +585,7 @@ { "commencepayments.com", true }, { "completionist.audio", true }, { "comssa.org.au", true }, + { "concentrade.de", true }, { "config.schokokeks.org", false }, { "conformal.com", true }, { "connect.ua", false }, @@ -558,6 +598,7 @@ { "controlcenter.gigahost.dk", true }, { "coolaj86.com", true }, { "coore.jp", true }, + { "copperhead.co", true }, { "cor-ser.es", true }, { "coralproject.net", true }, { "cordial-restaurant.com", true }, @@ -576,6 +617,7 @@ { "crackingking.com", true }, { "cradlepointecm.com", true }, { "craftbeerbarn.co.uk", true }, + { "crepererum.net", true }, { "crestoncottage.com", true }, { "crl-autos.com", true }, { "crm.onlime.ch", false }, @@ -589,6 +631,7 @@ { "cryptobells.com", true }, { "cryptobin.org", true }, { "cryptography.io", true }, + { "cryptoparty.dk", true }, { "cryptopartyatx.org", true }, { "cryptopush.com", true }, { "csacongress.org", true }, @@ -628,6 +671,7 @@ { "daknob.net", true }, { "danielalvarez.net", true }, { "dank.ninja", true }, + { "dannyrohde.de", true }, { "danonsecurity.com", true }, { "danskoferie.dk", true }, { "danw.io", true }, @@ -636,7 +680,6 @@ { "darchoods.net", false }, { "darkengine.io", true }, { "darknebula.space", false }, - { "darknode.in", true }, { "darkpony.ru", true }, { "darkserver.fedoraproject.org", true }, { "darkserver.stg.fedoraproject.org", true }, @@ -687,6 +730,7 @@ { "desmaakvanplanten.be", true }, { "destinationbijoux.fr", true }, { "detectify.com", false }, + { "devdoodle.net", true }, { "developer.mydigipass.com", false }, { "developers.facebook.com", false }, { "deviltracks.net", true }, @@ -699,11 +743,13 @@ { "diamante.ro", true }, { "didacte.com", true }, { "die-besten-weisheiten.de", true }, + { "diedrich.co", false }, { "dienstplan.one", true }, { "dietrich.cx", true }, { "digital1st.co.uk", true }, { "digitalskillswap.com", true }, { "dillonkorman.com", true }, + { "dime-staging.com", true }, { "dirkwolf.de", true }, { "discoveringdocker.com", true }, { "disking.co.uk", true }, @@ -721,6 +767,7 @@ { "dnsman.se", true }, { "dobet.in", true }, { "doc.python.org", true }, + { "docket.news", true }, { "docs.google.com", true }, { "docs.python.org", true }, { "docucopies.com", true }, @@ -755,8 +802,6 @@ { "drtroyhendrickson.com", true }, { "drumbandesperanto.nl", true }, { "dsebastien.net", true }, - { "dubrovskiy.net", true }, - { "dubrovskiy.pro", true }, { "duckduckstart.com", true }, { "ducohosting.com", true }, { "dyeager.org", true }, @@ -777,6 +822,7 @@ { "ecfs.link", true }, { "ecg.fr", false }, { "eckel.co", true }, + { "econsumer.gov", true }, { "ecosystem.atlassian.net", true }, { "ecrimex.net", true }, { "ectora.com", true }, @@ -806,6 +852,8 @@ { "electronic-ignition-system.com", true }, { "eleicoes2016.com.br", true }, { "elenag.ga", true }, + { "elephpant.cz", true }, + { "elisa.ee", true }, { "elitegameservers.net", true }, { "elitehosting.de", true }, { "ellegaard.dk", true }, @@ -831,17 +879,21 @@ { "enquos.com", true }, { "enskat.de", true }, { "enskatson-sippe.de", true }, + { "entersynapse.com", true }, { "entrepreneur.or.id", true }, { "entropia.de", false }, { "envygeeks.com", true }, { "envygeeks.io", true }, { "eol34.com", true }, + { "epay.bg", true }, { "eqorg.com", true }, { "erisrenee.com", true }, { "eromixx.com", false }, { "errors.zenpayroll.com", false }, { "eru.me", true }, + { "escalate.eu", true }, { "esoa.net", true }, + { "espci.fr", true }, { "espgg.org", true }, { "espra.com", true }, { "etaes.eu", true }, @@ -853,8 +905,10 @@ { "ethitter.com", true }, { "eucl3d.com", true }, { "eurotramp.com", true }, + { "ev-zertifikate.de", true }, { "eva.cz", true }, { "evalesc.com", true }, + { "evdenevenakliyatankara.pw", true }, { "everhome.de", true }, { "eveshamglass.co.uk", true }, { "evomon.com", true }, @@ -862,6 +916,8 @@ { "ewe2.ninja", true }, { "exceltobarcode.com", true }, { "excessamerica.com", true }, + { "exfiles.cz", true }, + { "exiahost.com", true }, { "exon.io", true }, { "expatads.com", true }, { "experienceoz.com.au", true }, @@ -869,8 +925,10 @@ { "express-vpn.com", true }, { "expresshosting.org", true }, { "expressvpn.com", true }, + { "expxkcd.com", true }, { "extendwings.com", true }, { "extreemhost.nl", true }, + { "eyyit.com", true }, { "ezequiel-garzon.com", true }, { "f-droid.org", true }, { "f2f.cash", true }, @@ -883,8 +941,10 @@ { "fairbill.com", true }, { "fakturoid.cz", true }, { "falconvintners.com", true }, + { "fandomservices.com", true }, { "fangs.ink", true }, { "faq.lookout.com", false }, + { "fasdoutreach.ca", true }, { "fassadenverkleidung24.de", true }, { "fastaim.de", true }, { "fastcomcorp.net", true }, @@ -892,6 +952,7 @@ { "fatherhood.gov", true }, { "faucetbox.com", true }, { "fayolle.info", true }, + { "fca-tools.com", true }, { "federalregister.gov", true }, { "fedorahosted.org", true }, { "fedorapeople.org", true }, @@ -901,6 +962,7 @@ { "felixrr.pro", true }, { "feminists.co", true }, { "ferienhaus-polchow-ruegen.de", false }, + { "fetch.co.uk", true }, { "fewo-thueringer-wald.de", true }, { "ffbans.org", true }, { "fi.google.com", true }, @@ -913,8 +975,9 @@ { "filedir.com", false }, { "filip-prochazka.com", true }, { "filippo.io", true }, + { "findmybottleshop.com.au", true }, { "finkelstein.fr", true }, - { "finn.io", false }, + { "finn.io", true }, { "firebaseio-demo.com", true }, { "firebaseio.com", true }, { "firebirdrangecookers.com", true }, @@ -929,6 +992,7 @@ { "fj.simple.com", false }, { "flagspot.net", true }, { "flamer-scene.com", true }, + { "flamewall.net", true }, { "flamingkeys.com", true }, { "fleximus.org", false }, { "flipagram.com", false }, @@ -938,7 +1002,6 @@ { "florianlillpopp.de", true }, { "florianmitrea.uk", true }, { "floskelwolke.de", true }, - { "flow.su", true }, { "flowlo.me", true }, { "flra.gov", true }, { "flukethoughts.com", true }, @@ -957,11 +1020,11 @@ { "forum.linode.com", false }, { "forum.quantifiedself.com", false }, { "foxelbox.com", true }, - { "fr33d0m.link", true }, { "fralef.me", false }, { "fraye.net", true }, { "frederik-braun.com", true }, { "freedom.press", false }, + { "freelance.boutique", true }, { "freenetproject.org", true }, { "freeshell.de", true }, { "freesounding.com", true }, @@ -974,9 +1037,9 @@ { "friendica.ch", true }, { "froggstack.de", true }, { "fronteers.nl", true }, + { "frtr.gov", true }, { "fruchthof24.de", true }, { "fruitusers.com", true }, - { "frusky.de", false }, { "frusky.net", true }, { "ftccomplaintassistant.gov", true }, { "fteproxy.org", true }, @@ -987,6 +1050,7 @@ { "futos.de", true }, { "fuzzing-project.org", true }, { "fx5.de", true }, + { "g-m-w.eu", true }, { "g4w.co", true }, { "gallery44.org", true }, { "gambit.pro", true }, @@ -999,6 +1063,8 @@ { "gamercredo.net", true }, { "gamers-life.fr", true }, { "gameserver-sponsor.de", true }, + { "gamingzoneservers.com", true }, + { "garbage-juice.com", true }, { "garron.net", true }, { "gavick.com", true }, { "gaytorrent.ru", true }, @@ -1019,6 +1085,7 @@ { "get.zenpayroll.com", false }, { "getbambu.com", false }, { "getbox.me", true }, + { "getbutterfly.com", true }, { "getcloak.com", false }, { "getcolor.com", true }, { "getdash.io", true }, @@ -1054,6 +1121,7 @@ { "gmcd.co", true }, { "gmdu.net", true }, { "gmta.nl", true }, + { "gmw-ingenieurbuero.de", true }, { "gnetwork.eu", true }, { "go-zh.org", true }, { "go.xero.com", false }, @@ -1084,6 +1152,7 @@ { "grandcapital.ru", true }, { "grandlinecsk.ru", true }, { "granth.io", true }, + { "granular.ag", true }, { "gravity-net.de", true }, { "grc.com", false }, { "greatfire.org", true }, @@ -1100,6 +1169,7 @@ { "groetzner.net", true }, { "groszek.pl", true }, { "groups.google.com", true }, + { "gsm-map.com", true }, { "gtanda.tk", true }, { "gtmetrix.com", true }, { "gtraxapp.com", true }, @@ -1116,6 +1186,7 @@ { "gvt2.com", true }, { "gvt3.com", true }, { "gw2treasures.com", true }, + { "gyboche.com", true }, { "gyboche.science", true }, { "h2check.org", true }, { "hablemosdetecnologia.com.ve", true }, @@ -1135,7 +1206,10 @@ { "happyteamlabs.com", true }, { "hardh.at", true }, { "harmoney.com", true }, + { "harristony.com", true }, { "harvestapp.com", true }, + { "harvester.fr", true }, + { "haselsteiner.me", true }, { "hash-list.com", true }, { "hashplex.com", true }, { "haste.ch", true }, @@ -1155,6 +1229,8 @@ { "heha.co", false }, { "heid.ws", true }, { "heijblok.com", true }, + { "helgakristoffer.com", true }, + { "helgakristoffer.wedding", true }, { "helichat.de", true }, { "helloacm.com", true }, { "help.simpletax.ca", false }, @@ -1168,6 +1244,7 @@ { "herocentral.de", true }, { "hetmer.com", true }, { "heute-kaufen.de", true }, + { "heutger.net", true }, { "hex2013.com", true }, { "hg.python.org", true }, { "hicn.gq", true }, @@ -1175,6 +1252,7 @@ { "hilahdih.cz", true }, { "hisbrucker.net", true }, { "history.google.com", false }, + { "hiv.gov", true }, { "hledejpravnika.cz", true }, { "hobbyspeed.com", true }, { "hollowrap.com", true }, @@ -1192,6 +1270,7 @@ { "howsmytls.com", true }, { "hozana.si", true }, { "hpac-portal.com", true }, + { "hpkp-faq.de", true }, { "hrackydomino.cz", true }, { "hranicka.cz", true }, { "hrbatypes.cz", true }, @@ -1242,10 +1321,11 @@ { "imagr.io", true }, { "imbrian.org", true }, { "imgg.es", true }, - { "imirhil.fr", false }, + { "imirhil.fr", true }, { "immoverkauf24.at", true }, { "immoverkauf24.de", true }, { "immunicity.info", true }, + { "imoni-blog.net", true }, { "imouto.my", false }, { "impex.com.bd", true }, { "in.xero.com", false }, @@ -1257,7 +1337,6 @@ { "indiecert.net", true }, { "indovinabank.com.vn", true }, { "influxus.com", false }, - { "informnapalm.org", true }, { "iniiter.com", true }, { "initq.net", true }, { "initrd.net", true }, @@ -1265,20 +1344,25 @@ { "inleaked.com", true }, { "innophate-security.com", true }, { "innophate-security.nl", true }, + { "insideaudit.com", true }, { "insighti.org", true }, { "insouciant.org", true }, { "inspiroinc.com", true }, { "instacart.com", true }, { "instant-hack.com", true }, { "instasex.ch", true }, + { "instela.com", true }, { "institutolancaster.com", true }, { "intarweb.ca", true }, { "integrationinc.com", false }, { "integromat.com", true }, + { "interasistmen.se", true }, + { "interisaudit.com", true }, { "internetbank.swedbank.se", true }, { "internetbugbounty.org", true }, { "interviewpipeline.co.uk", true }, { "intim-uslugi-kazan.net", true }, + { "intxt.net", true }, { "ipledgeonline.org", true }, { "ipomue.com", false }, { "ipsec.pl", true }, @@ -1288,7 +1372,6 @@ { "iqboxy.com", true }, { "iqualtech.com", true }, { "iranianlawschool.com", true }, - { "iraqidinar.org", true }, { "iridiumbrowser.de", true }, { "irische-segenswuensche.info", true }, { "irmag.ru", true }, @@ -1302,6 +1385,7 @@ { "itriskltd.com", true }, { "itsagadget.com", true }, { "itsamurai.ru", true }, + { "itsg-faq.de", true }, { "itshost.ru", true }, { "ivancacic.com", true }, { "ivk.website", true }, @@ -1309,6 +1393,7 @@ { "izdiwho.com", true }, { "j-lsolutions.com", true }, { "j0s.eu", true }, + { "j3e.de", true }, { "jacekowski.org", true }, { "jackyyf.com", false }, { "jacobparry.ca", false }, @@ -1316,6 +1401,7 @@ { "jahliveradio.com", false }, { "jakenbake.com", true }, { "jakub-boucek.cz", true }, + { "jakubboucek.cz", true }, { "jamesbywater.co.uk", true }, { "jamesbywater.com", true }, { "jamesbywater.me", true }, @@ -1329,15 +1415,18 @@ { "jeff393.com", true }, { "jelmer.co.uk", true }, { "jelmer.uk", true }, + { "jennedebleser.com", true }, { "jeremyness.com", true }, { "jettshome.org", true }, { "jfreitag.de", true }, { "jgid.de", true }, { "jh-media.eu", false }, + { "jhalderm.com", true }, { "jhburton.co.uk", true }, { "jimshaver.net", true }, { "jinbo123.com", true }, { "jira.com", true }, + { "jirav.io", true }, { "jitsi.org", false }, { "jkb.pics", true }, { "jkbuster.com", true }, @@ -1350,11 +1439,11 @@ { "johners.me", true }, { "johnguant.com", true }, { "johnmichel.org", true }, - { "jonas-keidel.de", true }, { "jonaswitmer.ch", true }, { "jondevin.com", true }, { "jonnybarnes.uk", true }, { "jonpads.com", true }, + { "josefjanosec.com", true }, { "joshstroup.me", true }, { "jpbike.cz", true }, { "jrc9.ca", true }, @@ -1427,6 +1516,7 @@ { "kissflow.com", true }, { "kitsta.com", true }, { "klarmobil-empfehlen.de", true }, + { "klasfauseweh.de", true }, { "klatschreime.de", true }, { "klausbrinch.dk", false }, { "klaxn.com", true }, @@ -1469,13 +1559,12 @@ { "labaia.info", true }, { "labrador-retrievers.com.au", true }, { "labradorpuppiesforsalebyregisteredlabradorbreeders.com", true }, - { "lachlankidson.net", true }, { "lagerauftrag.info", true }, { "lagoza.name", true }, { "lainchan.org", true }, - { "lana.swedbank.se", true }, { "lancejames.com", true }, { "lapetition.be", true }, + { "lashstuff.com", true }, { "lasst-uns-beten.de", true }, { "lastpass.com", false }, { "latenitefilms.com", true }, @@ -1500,10 +1589,8 @@ { "lelongbank.com", true }, { "lence.net", true }, { "leninalbertop.com.ve", true }, - { "lentri.com", true }, { "lenzw.de", true }, { "leominstercu.com", false }, - { "leon-jaekel.com", true }, { "leonardcamacho.me", true }, { "leonax.net", true }, { "leonklingele.de", true }, @@ -1526,9 +1613,12 @@ { "linode.com", false }, { "linorman1997.me", true }, { "linux-admin-california.com", true }, + { "linux.fi", true }, { "linuxcommand.ru", true }, + { "linuxgeek.ro", true }, { "linx.li", true }, { "linx.net", true }, + { "liquid.cz", true }, { "liquorsanthe.in", true }, { "lists.mayfirst.org", false }, { "lists.stg.fedoraproject.org", true }, @@ -1542,6 +1632,7 @@ { "lmmtfy.io", true }, { "lmsptfy.com", true }, { "lnx.li", true }, + { "loancompare.co.za", true }, { "lobste.rs", true }, { "lockify.com", true }, { "locktheirphone.com", true }, @@ -1568,6 +1659,7 @@ { "lucamerega.it", true }, { "ludwig.im", true }, { "luelistan.net", true }, + { "lukasunger.net", true }, { "lukasztkacz.com", true }, { "lumi.do", false }, { "luneta.nearbuysystems.com", false }, @@ -1580,6 +1672,7 @@ { "m0wef.uk", true }, { "maarten.nyc", true }, { "maartenvandekamp.nl", true }, + { "mac-torrents.me", true }, { "mach-politik.ch", true }, { "maclemon.at", true }, { "madars.org", true }, @@ -1617,7 +1710,7 @@ { "mandala-ausmalbilder.de", true }, { "manfredimatteo.com", true }, { "manicode.com", true }, - { "mantor.org", true }, + { "mantor.org", false }, { "mareklecian.cz", true }, { "marie-curie.fr", true }, { "mark-semmler.de", true }, @@ -1627,6 +1720,7 @@ { "marktboten.de", true }, { "markusehrlicher.de", true }, { "markusueberallassetmanagement.de", true }, + { "marlen.cz", true }, { "marshut.net", true }, { "martijnvhoof.nl", true }, { "marumagic.com", true }, @@ -1674,6 +1768,7 @@ { "mehmetince.net", true }, { "meinebo.it", true }, { "melf.nl", true }, + { "melted.pw", true }, { "members.mayfirst.org", false }, { "members.nearlyfreespeech.net", false }, { "mercuryamericas.com", true }, @@ -1686,6 +1781,7 @@ { "meteosky.net", true }, { "metrobriefs.com", true }, { "mevs.cz", true }, + { "mexicansbook.ru", false }, { "mh-bloemen.co.jp", true }, { "mhx.pw", true }, { "miasarafina.de", true }, @@ -1700,6 +1796,7 @@ { "mikewest.org", true }, { "miku.hatsune.my", false }, { "milahendri.com", false }, + { "milanpala.cz", true }, { "millistream.com", true }, { "mim.properties", true }, { "mimeit.de", true }, @@ -1718,6 +1815,7 @@ { "mirtes.cz", true }, { "miskatonic.org", true }, { "miss-inventory.co.uk", true }, + { "missdream.org", true }, { "mistacms.com", true }, { "mister.hosting", true }, { "mitchellrenouf.ca", true }, @@ -1750,13 +1848,14 @@ { "moparisthebest.net", true }, { "moparisthebest.org", true }, { "moparscape.org", true }, + { "moreapp.co.uk", true }, { "morethanadream.lv", true }, { "moriz.de", true }, - { "moriz.net", true }, { "mosstier.com", true }, { "motd.ch", true }, { "mothereff.in", true }, { "motionpicturesolutions.com", true }, + { "motocyklovedily.cz", true }, { "moula.com.au", true }, { "mountainmusicpromotions.com", true }, { "mountainroseherbs.com", true }, @@ -1772,12 +1871,13 @@ { "mths.be", true }, { "mtouch.facebook.com", false }, { "mudcrab.us", true }, - { "mujadin.se", true }, + { "mujadin.se", false }, { "multigamecard.com", true }, { "munich-rage.de", true }, { "munki.org", true }, { "munuc.org", true }, { "munzee.com", true }, + { "murraycoin.org", true }, { "muscleangels.com", true }, { "musicgamegalaxy.de", true }, { "musicwear.cz", true }, @@ -1792,7 +1892,6 @@ { "mwe.st", true }, { "my-pawnshop.com.ua", true }, { "my.onlime.ch", false }, - { "my.swedbank.se", true }, { "my.usa.gov", false }, { "my.xero.com", false }, { "myaccount.google.com", true }, @@ -1820,6 +1919,7 @@ { "nagb.org", true }, { "naiharngym.com", true }, { "najedlo.sk", true }, + { "nakliyatsirketi.biz", true }, { "nameid.org", true }, { "namepros.com", true }, { "namorico.me", false }, @@ -1830,15 +1930,17 @@ { "natukusa.com", false }, { "navycs.com", true }, { "nayahe.ru", true }, + { "nbb.io", true }, { "nbl.org.tw", true }, { "nctx.co.uk", true }, { "ndarville.com", true }, + { "nder.be", true }, { "necesitodinero.org", true }, { "nectarleaf.com", true }, { "neg9.org", false }, { "neilwynne.com", false }, { "neko.li", true }, - { "nekomimi.pl", true }, + { "nekomimi.pl", false }, { "nella-project.org", true }, { "nellacms.com", true }, { "nellacms.org", true }, @@ -1852,6 +1954,7 @@ { "netrider.net.au", false }, { "nette.org", true }, { "nettopower.dk", true }, + { "netwarc.nl", true }, { "new-black-order.com", true }, { "newmediaone.net", true }, { "newodesign.com", true }, @@ -1865,11 +1968,15 @@ { "nicolaw.uk", true }, { "nieselregen.com", true }, { "nijm.nl", true }, + { "nikao-tech.com", true }, + { "nikobradshaw.com", true }, + { "nikolasbradshaw.com", true }, { "niloxy.com", true }, { "nmctest.net", true }, { "nmd.so", true }, { "nodari.com.ar", true }, { "noemax.com", true }, + { "nomial.co.uk", true }, { "noname-ev.de", true }, { "noob-box.net", true }, { "nopex.no", true }, @@ -1880,6 +1987,7 @@ { "nouvelle-vague-saint-cast.fr", true }, { "novacoast.com", true }, { "nowhere.dk", true }, + { "npmcdn.com", true }, { "npw.net", true }, { "nsboston.org", true }, { "nsboutique.com", true }, @@ -1896,16 +2004,20 @@ { "null-sec.ru", true }, { "null.tips", true }, { "nuos.org", true }, + { "nutritionculture.com", true }, { "nuvini.com", true }, { "nwa.xyz", true }, { "nwgh.org", true }, + { "nymphetomania.net", true }, { "o6asan.com", true }, { "o7.com", false }, { "oakslighting.co.uk", true }, + { "oasis.mobi", true }, { "obermeiers.eu", true }, { "ochsundjunior.ch", true }, { "ocrami.us", true }, { "odin.xxx", true }, + { "offshoot.rentals", true }, { "offshore-firma.org", true }, { "oguya.ch", true }, { "ohling.org", true }, @@ -1920,19 +2032,18 @@ { "onedrive.com", true }, { "onedrive.live.com", false }, { "onet.space", true }, - { "onewpst.com", false }, { "onixcco.com.br", true }, { "only-roses.com", true }, { "onsitemassageco.com", true }, { "ontimestamp.com", true }, { "ooonja.de", true }, { "oopsmycase.com", true }, - { "open-to-repair.fr", true }, { "openacademies.com", true }, { "openkvk.nl", true }, { "opennippon.com", true }, { "opennippon.ru", true }, { "oplop.appspot.com", true }, + { "opsbears.com", true }, { "opsmate.com", false }, { "optimus.io", true }, { "orbograph-hrcm.com", true }, @@ -1945,6 +2056,7 @@ { "osterkraenzchen.de", true }, { "otakurepublic.com", true }, { "otakuworld.de", true }, + { "otchecker.com", true }, { "ourevents.net", true }, { "ovenapp.io", true }, { "overkillshop.com", true }, @@ -1998,13 +2110,13 @@ { "paypal.com", false }, { "payroll.xero.com", false }, { "paysera.com", true }, - { "pbprint.ru", true }, { "pcel.com", true }, { "pcfeuerwehr.de", true }, { "pclob.gov", true }, { "pdf.yt", true }, { "peercraft.com", true }, { "peifi.de", true }, + { "penfold.fr", true }, { "pennylane.me.uk", true }, { "pentesterlab.com", true }, { "perfectionis.me", true }, @@ -2019,6 +2131,7 @@ { "petrachuk.ru", true }, { "pettsy.com", true }, { "pfd-nz.com", true }, + { "pgmann.cf", true }, { "pharmaboard.de", true }, { "phil.tw", true }, { "philosopherswool.com", true }, @@ -2034,12 +2147,13 @@ { "picksin.club", true }, { "picsto.re", true }, { "pieperhome.de", true }, + { "pier28.com", true }, { "pierre-schmitz.com", true }, { "pieterhordijk.com", true }, { "pijuice.com", true }, { "pilgermaske.org", true }, + { "piligrimname.com", true }, { "piratedb.com", true }, - { "piratedot.com", true }, { "pirateproxy.sx", true }, { "pirlitu.com", true }, { "pirxpilot.me", true }, @@ -2067,23 +2181,27 @@ { "poed.com.au", true }, { "poedgirl.com", true }, { "pol.in.th", true }, + { "poleartschool.com", true }, { "polis.or.at", true }, { "pollpodium.nl", true }, { "polymathematician.com", true }, { "polypho.nyc", true }, { "ponythread.com", true }, - { "poolvilla-margarita.net", true }, + { "poolvilla-margarita.net", false }, { "portal.tirol.gv.at", true }, { "portalplatform.net", true }, { "postbox.life", true }, { "posteo.de", false }, + { "posterspy.com", true }, { "postfinance.ch", true }, + { "postn.eu", true }, { "postscheduler.org", true }, { "posttigo.com", true }, { "potbar.com", true }, { "potbox.com", true }, { "pothe.com", true }, { "pothe.de", true }, + { "powercloud.technology", true }, { "powerplannerapp.com", true }, { "prakharprasad.com", true }, { "prefis.com", true }, @@ -2101,12 +2219,16 @@ { "projectascension.io", true }, { "projektzentrisch.de", true }, { "proofwiki.org", true }, + { "proos.nl", true }, { "propagandism.org", true }, { "prospo.co", true }, { "prowhisky.de", true }, { "proximato.com", true }, - { "proxybay.club", true }, { "proxybay.co", true }, + { "psw-group.de", true }, + { "psw.academy", true }, + { "psw.consulting", true }, + { "psw.net", true }, { "ptn.moscow", true }, { "puac.de", true }, { "pubkey.is", true }, @@ -2131,7 +2253,7 @@ { "quli.nl", true }, { "quppa.net", true }, { "quuz.org", true }, - { "r3s1stanc3.me", true }, + { "r3s1stanc3.me", false }, { "raah.co", true }, { "raconconsulting.co.uk", true }, { "rad-route.de", true }, @@ -2139,6 +2261,7 @@ { "radtke.bayern", true }, { "rafaelcz.de", true }, { "ragingserenity.com", true }, + { "railgun.ac", true }, { "rambitteh.ru", true }, { "ramsor-gaming.de", true }, { "rangde.org", false }, @@ -2150,6 +2273,7 @@ { "raymii.org", true }, { "rc4.io", true }, { "reaconverter.com", true }, + { "realcapoeira.ru", true }, { "recommended.reviews", true }, { "recon-networks.com", true }, { "recyclingpromotions.us", true }, @@ -2192,10 +2316,13 @@ { "riccy.org", true }, { "richardwarrender.com", true }, { "richiemail.net", true }, + { "ricki-z.com", true }, { "ricochet.im", true }, + { "rid-wan.com", true }, { "rideworks.com", true }, { "riesenmagnete.de", true }, { "riesenweber.id.au", true }, + { "right-to-love.name", true }, { "rigolitch.fr", true }, { "rika.me", true }, { "rischard.org", true }, @@ -2207,16 +2334,19 @@ { "rlalique.com", true }, { "rme.li", false }, { "rmmanfredi.com", true }, + { "robandjanine.com", true }, { "robertglastra.com", true }, { "roberthurlbut.com", true }, { "robertof.ovh", true }, { "robi-net.it", true }, { "robinadr.com", true }, { "robinsonyu.com", true }, + { "robspc.repair", true }, { "robteix.com", true }, { "robtex.com", true }, { "robtex.net", true }, { "robtex.org", true }, + { "rodolfo.gs", true }, { "rodosto.com", true }, { "roeper.party", true }, { "rohlik.cz", true }, @@ -2247,7 +2377,6 @@ { "rubendv.be", true }, { "rubi-ka.net", true }, { "rubyshop.nl", true }, - { "rugirlfriend.com", true }, { "rugstorene.co.uk", true }, { "runementors.com", true }, { "rusadmin.biz", true }, @@ -2260,6 +2389,7 @@ { "ryansmithphotography.com", true }, { "s-c.se", true }, { "sabahattin-gucukoglu.com", true }, + { "safematix.com", true }, { "safescan.com", true }, { "sagerus.com", true }, { "sageth.com", true }, @@ -2276,6 +2406,8 @@ { "sanasport.cz", true }, { "sanatfilan.com", false }, { "sandbox.mydigipass.com", false }, + { "sanderdorigo.nl", true }, + { "sandervankasteel.nl", true }, { "sanhei.ch", true }, { "sarahlicity.co.uk", false }, { "sarasturdivant.com", true }, @@ -2286,6 +2418,7 @@ { "savvytime.com", true }, { "scaling.solutions", true }, { "schachburg.de", true }, + { "schlarp.com", true }, { "schnell-gold.com", true }, { "schokokeks.org", true }, { "schorel.ovh", true }, @@ -2304,6 +2437,7 @@ { "scrap.tf", true }, { "scribe.systems", true }, { "script.google.com", true }, + { "sdrobs.com", true }, { "sdsl-speedtest.de", true }, { "searchbrothers.com", true }, { "sec.gd", true }, @@ -2312,6 +2446,7 @@ { "section.io", true }, { "secure-games.us", true }, { "secure.facebook.com", false }, + { "securedevelop.net", true }, { "securedrop.org", false }, { "secureideas.com", true }, { "secureradio.net", true }, @@ -2330,7 +2465,6 @@ { "sellme.biz", true }, { "sellocdn.com", true }, { "seminariruum.ee", true }, - { "servergno.me", true }, { "servertastic.com", true }, { "servethecity-karlsruhe.de", false }, { "setuid.io", true }, @@ -2354,11 +2488,13 @@ { "shipcloud.io", true }, { "shodan.io", true }, { "shopapi.cz", true }, + { "shopbakersnook.com", true }, { "shopontarget.com", true }, { "shortdiary.me", true }, { "si-benelux.nl", true }, { "sidium.de", true }, { "siewert-kau.de", true }, + { "signing-milter.org", true }, { "sigterm.sh", true }, { "sikayetvar.com", true }, { "silentcircle.com", false }, @@ -2367,17 +2503,20 @@ { "silvergoldbull.de", true }, { "simbolo.co.uk", false }, { "simod.org", false }, + { "simonkjellberg.com", true }, + { "simphony.cz", true }, { "simple.com", false }, { "simplednscrypt.org", true }, { "simplelearner.com", true }, { "simpletax.ca", false }, { "simplexsupport.com", false }, { "simplia.cz", true }, - { "simplycharlottemason.com", false }, + { "simplycharlottemason.com", true }, { "simplystudio.com", true }, { "siraweb.org", true }, { "sirenslove.com", true }, { "siriad.com", true }, + { "sistemy48.ru", false }, { "sites.google.com", true }, { "sitesko.de", true }, { "sitesten.com", true }, @@ -2415,11 +2554,11 @@ { "smb445.com", true }, { "smiatek.name", true }, { "smith.is", true }, - { "smksi2.com", false }, { "smm.im", true }, { "snailing.org", true }, { "snakehosting.dk", false }, { "snapappointments.com", true }, + { "snapappts.com", true }, { "snazel.co.uk", true }, { "sneakynote.com", true }, { "sneezry.com", true }, @@ -2427,15 +2566,18 @@ { "sobabox.ru", true }, { "soci.ml", true }, { "social-media-strategies.it", true }, + { "socialhead.io", true }, { "socialrank.com", true }, { "socialsecurity.gov", false }, { "socialspirit.com.br", false }, { "sockeye.cc", false }, + { "sogutma.com.tr", true }, { "soia.ca", true }, { "solihullcarnival.co.uk", true }, { "solihulllionsclub.org.uk", true }, { "sonafe.info", true }, { "soply.com", true }, + { "soporte.cc", true }, { "sorz.org", true }, { "souki.cz", true }, { "soulfulglamour.uk", true }, @@ -2466,10 +2608,12 @@ { "srevilak.net", true }, { "sro.center", true }, { "ssa.gov", false }, + { "ssl-zertifikate.de", true }, { "ssl.google-analytics.com", true }, { "ssl.rip", true }, { "ssldecoder.org", true }, { "sslmate.com", true }, + { "sslzilla.de", true }, { "staack.com", true }, { "stablelib.com", true }, { "stackptr.com", true }, @@ -2480,6 +2624,7 @@ { "static.wepay.com", false }, { "staticanime.net", false }, { "stationary-traveller.eu", true }, + { "steamdb.info", true }, { "steelephys.com.au", true }, { "stellenticket.de", true }, { "stemsims.com", true }, @@ -2507,6 +2652,7 @@ { "studienportal.eu", true }, { "stugb.de", true }, { "stulda.cz", true }, + { "stupus.com", true }, { "subdimension.org", true }, { "subeesu.com", true }, { "subrosa.io", true }, @@ -2541,6 +2687,7 @@ { "syzygy-tables.info", true }, { "szaydon.me", false }, { "t23m-navi.jp", false }, + { "taborsky.cz", true }, { "tadigitalstore.com", true }, { "taken.pl", true }, { "takkaaaaa.com", true }, @@ -2567,6 +2714,8 @@ { "teachforcanada.ca", true }, { "teamblueridge.org", true }, { "teamnorthgermany.de", true }, + { "teampaddymurphy.ie", true }, + { "teampoint.cz", true }, { "teamupturn.com", true }, { "tecart-cloud.de", true }, { "tecart-system.de", true }, @@ -2612,6 +2761,7 @@ { "thepaymentscompany.com", true }, { "thepiratebay.al", true }, { "therapynotes.com", true }, + { "therewill.be", true }, { "theshadestore.com", true }, { "thetomharling.com", true }, { "theunitedstates.io", true }, @@ -2622,8 +2772,10 @@ { "thom4s.info", true }, { "thomasgriffin.io", true }, { "thomastimepieces.com.au", true }, + { "thomspooren.nl", true }, { "thorgames.nl", true }, { "thouni.de", true }, + { "threelions.ch", true }, { "throwpass.com", true }, { "thusoy.com", true }, { "thyngster.com", false }, @@ -2646,6 +2798,7 @@ { "tlo.xyz", true }, { "tls.li", true }, { "tls1914.org", true }, + { "tm-solutions.eu", true }, { "tmtopup.com", true }, { "tncnanet.com.br", true }, { "tno.io", true }, @@ -2656,6 +2809,7 @@ { "tokke.dk", true }, { "tollsjekk.no", true }, { "tom.horse", true }, + { "tomasjacik.cz", true }, { "tomfisher.eu", true }, { "tomharling.co.uk", true }, { "tomharling.uk", true }, @@ -2703,6 +2857,7 @@ { "traas.org", true }, { "track.plus", true }, { "tracktivity.com.au", true }, + { "trainex.org", true }, { "translate.fedoraproject.org", true }, { "translate.googleapis.com", true }, { "translate.stg.fedoraproject.org", true }, @@ -2713,6 +2868,7 @@ { "tresorit.com", true }, { "tribaldos.com", true }, { "tribut.de", true }, + { "triop.se", true }, { "trueblueessentials.com", true }, { "ts3.consulting", true }, { "tuamoronline.com", true }, @@ -2724,7 +2880,9 @@ { "tuxgeo.com", true }, { "tuxplace.nl", true }, { "tuzaijidi.com", true }, + { "twaka.com", true }, { "twentymilliseconds.com", true }, + { "twist.party", true }, { "twisto.cz", true }, { "twitter.com", false }, { "twitteroauth.com", true }, @@ -2767,6 +2925,7 @@ { "upstats.eu", true }, { "uptrends.com", true }, { "uptrends.de", true }, + { "urandom.eu.org", true }, { "usaa.com", false }, { "uscntalk.com", true }, { "usgande.com", true }, @@ -2778,6 +2937,7 @@ { "utonia.ch", true }, { "utopians.dk", true }, { "vaddder.com", true }, + { "vallis.net", true }, { "valopv.be", true }, { "vanetv.com", true }, { "vanhoutte.be", true }, @@ -2806,9 +2966,11 @@ { "vigo-krankenversicherung.de", true }, { "vijos.org", true }, { "virtualsanity.com", true }, + { "viscopic.com", true }, { "visionless.me", false }, { "vistb.me", true }, { "vitrado.de", true }, + { "viva-french.com", true }, { "vivendi.de", true }, { "vmoagents.com", false }, { "vmrdev.com", true }, @@ -2828,6 +2990,7 @@ { "vserver-preis-vergleich.de", true }, { "vulnerability.ch", true }, { "vyber-odhadce.cz", true }, + { "vyberodhadce.cz", true }, { "vyplnto.cz", true }, { "vzk.io", false }, { "w-spotlight.appspot.com", true }, @@ -2861,11 +3024,13 @@ { "webstudio-n.com", true }, { "webswitch.io", true }, { "webtalis.nl", true }, + { "webtasarim.pw", true }, { "webtiles.co.uk", true }, { "webtrh.cz", true }, { "webyazilimankara.com", true }, { "weggeweest.nl", true }, { "welches-kinderfahrrad.de", true }, + { "welldrake.com", true }, { "welovemail.com", true }, { "welpy.com", false }, { "wepay.com", false }, @@ -2926,6 +3091,7 @@ { "withyoutube.com", true }, { "wjglerum.nl", true }, { "wm-talk.net", true }, + { "wo2forum.nl", true }, { "wohnsitz-ausland.com", true }, { "woima.fi", false }, { "wolfemg.com", true }, @@ -2943,6 +3109,7 @@ { "wp-tao.com", true }, { "wpmeetup-berlin.de", true }, { "wpserp.com", true }, + { "wrara.org", true }, { "writeapp.me", false }, { "wrldevelopment.com", true }, { "wtfismyip.com", true }, @@ -3001,6 +3168,7 @@ { "www.vino75.com", false }, { "www.wepay.com", false }, { "www.zenpayroll.com", false }, + { "wyeworks.com", true }, { "wzrd.in", true }, { "wzyboy.org", true }, { "x.io", true }, @@ -3011,6 +3179,7 @@ { "xd.cm", true }, { "xellos.ml", true }, { "xenesisziarovky.sk", true }, + { "xetown.com", true }, { "xf-liam.com", true }, { "xgclan.com", true }, { "xho.me", true }, @@ -3037,6 +3206,7 @@ { "xn--u9jv84l7ea468b.com", true }, { "xpd.se", true }, { "xps2pdf.co.uk", true }, + { "xss.sk", true }, { "xtremegaming.it", true }, { "xtrim.ru", true }, { "xunn.io", true }, @@ -3053,7 +3223,6 @@ { "yenniferallulli.moda", true }, { "yenniferallulli.nl", true }, { "yetcore.io", true }, - { "yetii.net", true }, { "yippie.nl", true }, { "yksityisyydensuoja.fi", true }, { "yoloboatrentals.com", true }, @@ -3083,6 +3252,7 @@ { "zeplin.io", true }, { "zera.com.au", true }, { "zeropush.com", true }, + { "zgrep.org", true }, { "zhang-hao.com", true }, { "zhaojin97.cn", true }, { "zhihua-lai.com", true }, @@ -3092,6 +3262,7 @@ { "zlatosnadno.cz", true }, { "zlavomat.sk", true }, { "zorntt.fr", true }, + { "zortium.report", true }, { "zotero.org", true }, { "zravypapir.cz", true }, { "ztan.tk", true }, diff -Nru thunderbird-38.4.0+build3/mozilla/security/manager/boot/src/StaticHPKPins.errors thunderbird-38.5.1+build2/mozilla/security/manager/boot/src/StaticHPKPins.errors --- thunderbird-38.4.0+build3/mozilla/security/manager/boot/src/StaticHPKPins.errors 2015-11-20 17:39:05.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/security/manager/boot/src/StaticHPKPins.errors 2016-01-05 22:52:52.000000000 +0000 @@ -13,3 +13,4 @@ Writing pinset dropbox Writing pinset facebook Writing pinset spideroak +Writing pinset yahoo diff -Nru thunderbird-38.4.0+build3/mozilla/security/manager/boot/src/StaticHPKPins.h thunderbird-38.5.1+build2/mozilla/security/manager/boot/src/StaticHPKPins.h --- thunderbird-38.4.0+build3/mozilla/security/manager/boot/src/StaticHPKPins.h 2015-11-20 17:39:05.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/security/manager/boot/src/StaticHPKPins.h 2016-01-05 22:52:52.000000000 +0000 @@ -331,6 +331,14 @@ static const char kXRamp_Global_CA_RootFingerprint[] = "BRz5+pXkDpuD7a7aaWH2Fox4ecRmAXJHnN1RqwPOpis="; +/* YahooBackup1 */ +static const char kYahooBackup1Fingerprint[] = + "uwnZN/atr9+khywDukPzmD9kFiY="; + +/* YahooBackup2 */ +static const char kYahooBackup2Fingerprint[] = + "Ui85k1YWcCl0z/4IlMvrDmI5zEo="; + /* thawte Primary Root CA */ static const char kthawte_Primary_Root_CAFingerprint[] = "HXXQgxueCIU5TTLHob/bPbwcKOKw6DkfsTWYHbxbqTY="; @@ -725,6 +733,40 @@ &kPinset_spideroak_sha256 }; +static const char* kPinset_yahoo_sha1_Data[] = { + kYahooBackup2Fingerprint, + kYahooBackup1Fingerprint, +}; +static const StaticFingerprints kPinset_yahoo_sha1 = { + sizeof(kPinset_yahoo_sha1_Data) / sizeof(const char*), + kPinset_yahoo_sha1_Data +}; + +static const char* kPinset_yahoo_sha256_Data[] = { + kVerisign_Class_2_Public_Primary_Certification_Authority___G2Fingerprint, + kVeriSign_Class_3_Public_Primary_Certification_Authority___G5Fingerprint, + kGeoTrust_Primary_Certification_AuthorityFingerprint, + kVerisign_Class_3_Public_Primary_Certification_Authority___G3Fingerprint, + kVeriSign_Class_3_Public_Primary_Certification_Authority___G4Fingerprint, + kDigiCert_High_Assurance_EV_Root_CAFingerprint, + kVerisign_Class_2_Public_Primary_Certification_Authority___G3Fingerprint, + kGeoTrust_Global_CAFingerprint, + kVeriSign_Universal_Root_Certification_AuthorityFingerprint, + kGeoTrust_Universal_CAFingerprint, + kGeoTrust_Primary_Certification_Authority___G3Fingerprint, + kDigiCert_Global_Root_CAFingerprint, + kGeoTrust_Primary_Certification_Authority___G2Fingerprint, +}; +static const StaticFingerprints kPinset_yahoo_sha256 = { + sizeof(kPinset_yahoo_sha256_Data) / sizeof(const char*), + kPinset_yahoo_sha256_Data +}; + +static const StaticPinset kPinset_yahoo = { + &kPinset_yahoo_sha1, + &kPinset_yahoo_sha256 +}; + /* Domainlist */ struct TransportSecurityPreload { const char* mHost; @@ -782,6 +824,7 @@ { "dropbox.com", false, false, false, -1, &kPinset_dropbox }, { "dropboxstatic.com", false, true, false, -1, &kPinset_dropbox }, { "dropboxusercontent.com", false, true, false, -1, &kPinset_dropbox }, + { "edit.yahoo.com", true, true, false, -1, &kPinset_yahoo }, { "encrypted.google.com", true, false, false, -1, &kPinset_google_root_pems }, { "exclude-subdomains.pinning.example.com", false, false, false, 0, &kPinset_mozilla_test }, { "facebook.com", false, false, false, -1, &kPinset_facebook }, @@ -1033,9 +1076,11 @@ { "inbox.google.com", true, false, false, -1, &kPinset_google_root_pems }, { "include-subdomains.pinning.example.com", true, false, false, -1, &kPinset_mozilla_test }, { "login.corp.google.com", true, false, false, -1, &kPinset_google_root_pems }, + { "login.yahoo.com", true, true, false, -1, &kPinset_yahoo }, { "m.facebook.com", true, false, false, -1, &kPinset_facebook }, { "mail-settings.google.com", true, false, false, -1, &kPinset_google_root_pems }, { "mail.google.com", true, false, false, -1, &kPinset_google_root_pems }, + { "mail.yahoo.com", false, true, false, -1, &kPinset_yahoo }, { "market.android.com", true, false, false, -1, &kPinset_google_root_pems }, { "mbasic.facebook.com", true, false, false, -1, &kPinset_facebook }, { "mobile.twitter.com", true, false, false, -1, &kPinset_twitterCom }, @@ -1054,6 +1099,7 @@ { "profiles.google.com", true, false, false, -1, &kPinset_google_root_pems }, { "research.facebook.com", true, false, false, -1, &kPinset_facebook }, { "script.google.com", true, false, false, -1, &kPinset_google_root_pems }, + { "search.yahoo.com", false, true, false, -1, &kPinset_yahoo }, { "secure.facebook.com", true, false, false, -1, &kPinset_facebook }, { "security.google.com", true, false, false, -1, &kPinset_google_root_pems }, { "services.mozilla.com", true, false, true, 6, &kPinset_mozilla_services }, @@ -1104,8 +1150,8 @@ { "ytimg.com", true, false, false, -1, &kPinset_google_root_pems }, }; -// Pinning Preload List Length = 365; +// Pinning Preload List Length = 369; static const int32_t kUnknownId = -1; -static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1454754984532000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1455968552302000); diff -Nru thunderbird-38.4.0+build3/mozilla/testing/mozharness/scripts/release/antivirus.py thunderbird-38.5.1+build2/mozilla/testing/mozharness/scripts/release/antivirus.py --- thunderbird-38.4.0+build3/mozilla/testing/mozharness/scripts/release/antivirus.py 2015-11-20 17:39:05.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/testing/mozharness/scripts/release/antivirus.py 2016-01-05 22:52:10.000000000 +0000 @@ -167,7 +167,7 @@ if self._matches_exclude(keyname): self.debug("Excluding {}".format(keyname)) else: - destination = self.dest_dir + keyname.replace(candidates_prefix, '') + destination = os.path.join(self.dest_dir, keyname.replace(candidates_prefix, '')) dest_dir = os.path.dirname(destination) if not os.path.isdir(dest_dir): os.makedirs(dest_dir) diff -Nru thunderbird-38.4.0+build3/mozilla/testing/mozharness/scripts/release/generate-checksums.py thunderbird-38.5.1+build2/mozilla/testing/mozharness/scripts/release/generate-checksums.py --- thunderbird-38.4.0+build3/mozilla/testing/mozharness/scripts/release/generate-checksums.py 2015-11-20 17:38:06.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/testing/mozharness/scripts/release/generate-checksums.py 2016-01-05 22:52:10.000000000 +0000 @@ -3,6 +3,7 @@ from os import path import re import sys +import posixpath sys.path.insert(1, os.path.dirname(os.path.dirname(sys.path[0]))) @@ -52,25 +53,9 @@ "dest": "tools_repo", "default": "https://hg.mozilla.org/build/tools", }], - [["--gecko-repo"], { - "dest": "gecko_repo", - "help": "Gecko repo to get upload.py from, eg: https://hg.mozilla.org/releases/mozilla-beta", - }], - [["--gecko-revision"], { - "dest": "gecko_revision", - "help": "Revision of gecko repo to use when getting upload.py. Must be a valid hg revision identifier.", - }], - [["--upload-host"], { - "dest": "upload_host", - "help": "Host to upload big checksums file to, eg: upload.ffxbld.productdelivery.prod.mozaws.net", - }], - [["--upload-user"], { - "dest": "upload_user", - "help": "Username to use when uploading, eg: ffxbld", - }], - [["--upload-ssh-key"], { - "dest": "upload_ssh_key", - "help": "SSH Key to use when uploading, eg: ~/.ssh/ffxbld_dsa", + [["--credentials"], { + "dest": "credentials", + "help": "File containing access key and secret access key for S3", }], ] + virtualenv_config_options @@ -81,31 +66,33 @@ config={ "virtualenv_modules": [ "boto", - "redo", ], "virtualenv_path": "venv", }, all_actions=[ "create-virtualenv", - "activate-virtualenv", "collect-individual-checksums", "create-big-checksums", "sign", - "get-upload-script", "upload", + "copy-info-files", ], default_actions=[ "create-virtualenv", - "activate-virtualenv", "collect-individual-checksums", "create-big-checksums", "sign", - "get-upload-script", "upload", ], ) self.checksums = {} + self.bucket = None + self.bucket_name = self._get_bucket_name() + self.file_prefix = self._get_file_prefix() + # set the env var for boto to read our special config file + # rather than anything else we have at ~/.boto + os.environ["BOTO_CONFIG"] = os.path.abspath(self.config["credentials"]) def _pre_config_lock(self, rw_config): super(ChecksumsGenerator, self)._pre_config_lock(rw_config) @@ -118,6 +105,7 @@ if not self.config.get("includes"): self.config["includes"] = [ "^.*\.tar\.bz2$", + "^.*\.tar\.xz$", "^.*\.dmg$", "^.*\.bundle$", "^.*\.mar$", @@ -141,21 +129,24 @@ def _get_sums_filename(self, format_): return "{}SUMS".format(format_.upper()) + def _get_bucket(self): + if not self.bucket: + self.activate_virtualenv() + from boto.s3.connection import S3Connection + + self.info("Connecting to S3") + conn = S3Connection() + self.debug("Successfully connected to S3") + self.info("Connecting to bucket {}".format(self.bucket_name)) + self.bucket = conn.get_bucket(self.bucket_name) + return self.bucket + def collect_individual_checksums(self): """This step grabs all of the small checksums files for the release, filters out any unwanted files from within them, and adds the remainder to self.checksums for subsequent steps to use.""" - from boto.s3.connection import S3Connection - - bucket_name = self._get_bucket_name() - file_prefix = self._get_file_prefix() - self.info("Bucket name is: {}".format(bucket_name)) - self.info("File prefix is: {}".format(file_prefix)) - - self.info("Connecting to S3") - conn = S3Connection(anon=True) - self.debug("Successfully connected to S3") - candidates = conn.get_bucket(bucket_name) + bucket = self._get_bucket() + self.info("File prefix is: {}".format(self.file_prefix)) # Temporary holding place for checksums raw_checksums = [] @@ -163,12 +154,12 @@ self.debug("Downloading {}".format(item)) # TODO: It would be nice to download the associated .asc file # and verify against it. - sums = candidates.get_key(item).get_contents_as_string() + sums = bucket.get_key(item).get_contents_as_string() raw_checksums.append(sums) def find_checksums_files(): self.info("Getting key names from bucket") - for key in candidates.list(prefix=file_prefix): + for key in bucket.list(prefix=self.file_prefix): if key.key.endswith(".checksums"): self.debug("Found checksums file: {}".format(key.key)) yield key.key @@ -219,37 +210,32 @@ if retval != 0: self.fatal("Failed to sign {}".format(sums)) - def get_upload_script(self): - remote_file = "{}/raw-file/{}/build/upload.py".format(self.config["gecko_repo"], self.config["gecko_revision"]) - self.download_file(remote_file, file_name="upload.py") - def upload(self): - dirs = self.query_abs_dirs() - - sys.path.append(path.dirname(path.abspath("upload.py"))) - from upload import UploadFiles - files = [] for fmt in self.config["formats"]: files.append(self._get_sums_filename(fmt)) files.append("{}.asc".format(self._get_sums_filename(fmt))) - post_upload_cmd = " ".join([ - "post_upload.py", "-p", self.config["stage_product"], "-n", self.config["build_number"], - "-v", self.config["version"], "--release-to-candidates-dir", "--signed", - "--bucket-prefix", self.config["bucket_name_prefix"], - ]) - - UploadFiles( - self.config["upload_user"], - self.config["upload_host"], - "dummy", - files, - ssh_key=self.config["upload_ssh_key"], - base_path=dirs["abs_work_dir"], - upload_to_temp_dir=True, - post_upload_command=post_upload_cmd, - ) + bucket = self._get_bucket() + for f in files: + dest = posixpath.join(self.file_prefix, f) + self.info("Uploading {} to {}".format(f, dest)) + key = bucket.new_key(dest) + key.set_contents_from_filename(f, headers={'Content-Type': 'text/plain'}) + + def copy_info_files(self): + bucket = self._get_bucket() + + for key in bucket.list(prefix=self.file_prefix): + if re.search(r'/en-US/android.*_info\.txt$', key.name): + self.info("Found {}".format(key.name)) + dest = posixpath.join(self.file_prefix, posixpath.basename(key.name)) + self.info("Copying to {}".format(dest)) + bucket.copy_key(new_key_name=dest, + src_bucket_name=self.bucket_name, + src_key_name=key.name, + metadata={'Content-Type': 'text/plain'}) + if __name__ == "__main__": myScript = ChecksumsGenerator() diff -Nru thunderbird-38.4.0+build3/mozilla/toolkit/components/maintenanceservice/bootstrapinstaller/maintenanceservice_installer.nsi thunderbird-38.5.1+build2/mozilla/toolkit/components/maintenanceservice/bootstrapinstaller/maintenanceservice_installer.nsi --- thunderbird-38.4.0+build3/mozilla/toolkit/components/maintenanceservice/bootstrapinstaller/maintenanceservice_installer.nsi 2015-11-20 17:38:11.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/toolkit/components/maintenanceservice/bootstrapinstaller/maintenanceservice_installer.nsi 2016-01-05 22:52:16.000000000 +0000 @@ -217,7 +217,7 @@ ; These keys are used to bypass the installation dir is a valid installation ; check from the service so that tests can be run. WriteRegStr HKLM "${FallbackKey}\0" "name" "Mozilla Corporation" - WriteRegStr HKLM "${FallbackKey}\0" "issuer" "DigiCert Assured ID Code Signing CA-1" + WriteRegStr HKLM "${FallbackKey}\0" "issuer" "DigiCert SHA2 Assured ID Code Signing CA" WriteRegStr HKLM "${FallbackKey}\1" "name" "Mozilla Fake SPC" WriteRegStr HKLM "${FallbackKey}\1" "issuer" "Mozilla Fake CA" ${If} ${RunningX64} diff -Nru thunderbird-38.4.0+build3/mozilla/toolkit/mozapps/installer/signing.mk thunderbird-38.5.1+build2/mozilla/toolkit/mozapps/installer/signing.mk --- thunderbird-38.4.0+build3/mozilla/toolkit/mozapps/installer/signing.mk 2015-11-20 17:38:29.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/toolkit/mozapps/installer/signing.mk 2016-01-05 22:52:19.000000000 +0000 @@ -8,8 +8,8 @@ # Signing support ifdef MOZ_SIGN_CMD ifeq (WINNT,$(OS_ARCH)) -MOZ_INTERNAL_SIGNING_FORMAT := osslsigncode -MOZ_EXTERNAL_SIGNING_FORMAT := osslsigncode +MOZ_INTERNAL_SIGNING_FORMAT := sha2signcode +MOZ_EXTERNAL_SIGNING_FORMAT := sha2signcode SIGN_INCLUDES := \ '*.dll' \ '*.exe' \ diff -Nru thunderbird-38.4.0+build3/mozilla/toolkit/mozapps/installer/upload-files.mk thunderbird-38.5.1+build2/mozilla/toolkit/mozapps/installer/upload-files.mk --- thunderbird-38.4.0+build3/mozilla/toolkit/mozapps/installer/upload-files.mk 2015-11-20 17:38:29.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/toolkit/mozapps/installer/upload-files.mk 2016-01-05 22:52:19.000000000 +0000 @@ -151,8 +151,8 @@ endif ifeq ($(MOZ_PKG_FORMAT),ZIP) ifdef MOZ_EXTERNAL_SIGNING_FORMAT -# We can't use osslsigncode on zip files -MOZ_EXTERNAL_SIGNING_FORMAT := $(filter-out osslsigncode,$(MOZ_EXTERNAL_SIGNING_FORMAT)) +# We can't use sha2signcode on zip files +MOZ_EXTERNAL_SIGNING_FORMAT := $(filter-out sha2signcode,$(MOZ_EXTERNAL_SIGNING_FORMAT)) endif PKG_SUFFIX = .zip INNER_MAKE_PACKAGE = $(ZIP) -r9D $(PACKAGE) $(MOZ_PKG_DIR) \ diff -Nru thunderbird-38.4.0+build3/mozilla/tools/update-packaging/Makefile.in thunderbird-38.5.1+build2/mozilla/tools/update-packaging/Makefile.in --- thunderbird-38.4.0+build3/mozilla/tools/update-packaging/Makefile.in 2015-11-20 17:38:30.000000000 +0000 +++ thunderbird-38.5.1+build2/mozilla/tools/update-packaging/Makefile.in 2016-01-05 22:52:19.000000000 +0000 @@ -46,8 +46,8 @@ include $(topsrcdir)/toolkit/mozapps/installer/packager.mk ifdef MOZ_EXTERNAL_SIGNING_FORMAT -# We can't use osslsigncode on mar files -MOZ_EXTERNAL_SIGNING_FORMAT := $(filter-out osslsigncode,$(MOZ_EXTERNAL_SIGNING_FORMAT)) +# We can't use sha2signcode on mar files +MOZ_EXTERNAL_SIGNING_FORMAT := $(filter-out sha2signcode,$(MOZ_EXTERNAL_SIGNING_FORMAT)) MOZ_EXTERNAL_SIGNING_FORMAT := mar $(MOZ_EXTERNAL_SIGNING_FORMAT) endif