commit f85aff6916e646bfa907817e9866a2ae5e9745cf Author: Mike Perry mikeperry-git@fscked.org Date: Wed Jun 20 15:27:47 2012 -0700
Fix an internal compiler error on sub-ancient GCCs. --- ...nents.interfaces-lookupMethod-from-conten.patch | 2 +- ...0002-Make-Permissions-Manager-memory-only.patch | 2 +- ...-Make-Intermediate-Cert-Store-memory-only.patch | 2 +- .../alpha/0004-Add-a-string-based-cacheKey.patch | 2 +- .../0005-Block-all-plugins-except-flash.patch | 2 +- ...ontent-pref-service-memory-only-clearable.patch | 2 +- .../0007-Disable-SSL-Session-ID-tracking.patch | 2 +- ...observer-event-to-close-persistent-connec.patch | 2 +- ...ice-and-system-specific-CSS-Media-Queries.patch | 2 +- .../alpha/0010-Rebrand-Firefox-to-TorBrowser.patch | 2 +- .../0011-Make-Download-manager-memory-only.patch | 2 +- .../0012-Add-DDG-and-StartPage-to-Omnibox.patch | 2 +- ...-nsICacheService.EvictEntries-synchronous.patch | 2 +- .../alpha/0014-Prevent-WebSocket-DNS-leak.patch | 2 +- ...owser-exit-when-not-launched-from-Vidalia.patch | 2 +- ...16-Limit-the-number-of-fonts-per-document.patch | 2 +- ...ize-HTTP-request-order-and-pipeline-depth.patch | 2 +- ...Adapt-Steven-Michaud-s-Mac-crashfix-patch.patch | 2 +- .../alpha/0019-Fix-Firefox-13-build-process.patch | 2 +- ...ternal-compile-error-for-sub-ancient-GCCs.patch | 45 ++++++++++++++++++++ 20 files changed, 64 insertions(+), 19 deletions(-)
diff --git a/src/current-patches/firefox/alpha/0001-Block-Components.interfaces-lookupMethod-from-conten.patch b/src/current-patches/firefox/alpha/0001-Block-Components.interfaces-lookupMethod-from-conten.patch index 5f8f4cc..fe7ff85 100644 --- a/src/current-patches/firefox/alpha/0001-Block-Components.interfaces-lookupMethod-from-conten.patch +++ b/src/current-patches/firefox/alpha/0001-Block-Components.interfaces-lookupMethod-from-conten.patch @@ -1,7 +1,7 @@ From 801d2dcc512ca5e64b72d56faaab7d8ef0fadf39 Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@torproject.org Date: Wed, 1 Feb 2012 15:40:40 -0800 -Subject: [PATCH 01/19] Block Components.interfaces,lookupMethod from content +Subject: [PATCH 01/20] Block Components.interfaces,lookupMethod from content
This patch removes the ability of content script to access Components.interfaces.* as well as call or access Components.lookupMethod. diff --git a/src/current-patches/firefox/alpha/0002-Make-Permissions-Manager-memory-only.patch b/src/current-patches/firefox/alpha/0002-Make-Permissions-Manager-memory-only.patch index 264e027..524ca62 100644 --- a/src/current-patches/firefox/alpha/0002-Make-Permissions-Manager-memory-only.patch +++ b/src/current-patches/firefox/alpha/0002-Make-Permissions-Manager-memory-only.patch @@ -1,7 +1,7 @@ From 4c65de64fc28ca767009a0d0acfcefd8f2a73ad8 Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@torproject.org Date: Wed, 1 Feb 2012 15:45:16 -0800 -Subject: [PATCH 02/19] Make Permissions Manager memory-only +Subject: [PATCH 02/20] Make Permissions Manager memory-only
This patch exposes a pref 'permissions.memory_only' that properly isolates the permissions manager to memory, which is responsible for all user specified diff --git a/src/current-patches/firefox/alpha/0003-Make-Intermediate-Cert-Store-memory-only.patch b/src/current-patches/firefox/alpha/0003-Make-Intermediate-Cert-Store-memory-only.patch index eff5169..bb97b2d 100644 --- a/src/current-patches/firefox/alpha/0003-Make-Intermediate-Cert-Store-memory-only.patch +++ b/src/current-patches/firefox/alpha/0003-Make-Intermediate-Cert-Store-memory-only.patch @@ -1,7 +1,7 @@ From 6b5b4816ffff9875f8fd3364841fde872a2af7a4 Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@fscked.org Date: Fri, 19 Aug 2011 17:58:23 -0700 -Subject: [PATCH 03/19] Make Intermediate Cert Store memory-only. +Subject: [PATCH 03/20] Make Intermediate Cert Store memory-only.
This patch makes the intermediate SSL cert store exist in memory only.
diff --git a/src/current-patches/firefox/alpha/0004-Add-a-string-based-cacheKey.patch b/src/current-patches/firefox/alpha/0004-Add-a-string-based-cacheKey.patch index 0f509a6..b33a628 100644 --- a/src/current-patches/firefox/alpha/0004-Add-a-string-based-cacheKey.patch +++ b/src/current-patches/firefox/alpha/0004-Add-a-string-based-cacheKey.patch @@ -1,7 +1,7 @@ From b2dfbf250bc83592e73abf932c5301f1688a277b Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@fscked.org Date: Fri, 2 Sep 2011 20:47:02 -0700 -Subject: [PATCH 04/19] Add a string-based cacheKey. +Subject: [PATCH 04/20] Add a string-based cacheKey.
Used for isolating cache according to same-origin policy. --- diff --git a/src/current-patches/firefox/alpha/0005-Block-all-plugins-except-flash.patch b/src/current-patches/firefox/alpha/0005-Block-all-plugins-except-flash.patch index d0b1104..2cfa7ba 100644 --- a/src/current-patches/firefox/alpha/0005-Block-all-plugins-except-flash.patch +++ b/src/current-patches/firefox/alpha/0005-Block-all-plugins-except-flash.patch @@ -1,7 +1,7 @@ From 47235106c9e1257c66bab774aab330be4dabcfb0 Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@torproject.org Date: Wed, 1 Feb 2012 15:50:15 -0800 -Subject: [PATCH 05/19] Block all plugins except flash. +Subject: [PATCH 05/20] Block all plugins except flash.
We cannot use the @mozilla.org/extensions/blocklist;1 service, because we actually want to stop plugins from ever entering the browser's process space diff --git a/src/current-patches/firefox/alpha/0006-Make-content-pref-service-memory-only-clearable.patch b/src/current-patches/firefox/alpha/0006-Make-content-pref-service-memory-only-clearable.patch index 643351d..77f9e41 100644 --- a/src/current-patches/firefox/alpha/0006-Make-content-pref-service-memory-only-clearable.patch +++ b/src/current-patches/firefox/alpha/0006-Make-content-pref-service-memory-only-clearable.patch @@ -1,7 +1,7 @@ From bd560666419266a862d5b0387c7941c8ef7bb624 Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@fscked.org Date: Thu, 8 Sep 2011 08:40:17 -0700 -Subject: [PATCH 06/19] Make content pref service memory-only + clearable +Subject: [PATCH 06/20] Make content pref service memory-only + clearable
This prevents random urls from being inserted into content-prefs.sqllite in the profile directory as content prefs change (includes site-zoom and perhaps diff --git a/src/current-patches/firefox/alpha/0007-Disable-SSL-Session-ID-tracking.patch b/src/current-patches/firefox/alpha/0007-Disable-SSL-Session-ID-tracking.patch index f1985cf..1f19c8a 100644 --- a/src/current-patches/firefox/alpha/0007-Disable-SSL-Session-ID-tracking.patch +++ b/src/current-patches/firefox/alpha/0007-Disable-SSL-Session-ID-tracking.patch @@ -1,7 +1,7 @@ From 3eebe3b7e2882de39e2c686a38e7084cccfa4c60 Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@fscked.org Date: Wed, 7 Dec 2011 19:36:38 -0800 -Subject: [PATCH 07/19] Disable SSL Session ID tracking. +Subject: [PATCH 07/20] Disable SSL Session ID tracking.
We can't easily bind SSL Session ID tracking to url bar domain, so we have to disable them to satisfy diff --git a/src/current-patches/firefox/alpha/0008-Provide-an-observer-event-to-close-persistent-connec.patch b/src/current-patches/firefox/alpha/0008-Provide-an-observer-event-to-close-persistent-connec.patch index 13f16eb..1de839e 100644 --- a/src/current-patches/firefox/alpha/0008-Provide-an-observer-event-to-close-persistent-connec.patch +++ b/src/current-patches/firefox/alpha/0008-Provide-an-observer-event-to-close-persistent-connec.patch @@ -1,7 +1,7 @@ From 9594d3f2df4f20308406deea30aaccd577587438 Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@torproject.org Date: Wed, 1 Feb 2012 15:53:28 -0800 -Subject: [PATCH 08/19] Provide an observer event to close persistent +Subject: [PATCH 08/20] Provide an observer event to close persistent connections
We need to prevent linkability across "New Identity", which includes closing diff --git a/src/current-patches/firefox/alpha/0009-Limit-device-and-system-specific-CSS-Media-Queries.patch b/src/current-patches/firefox/alpha/0009-Limit-device-and-system-specific-CSS-Media-Queries.patch index 5772728..06e3e81 100644 --- a/src/current-patches/firefox/alpha/0009-Limit-device-and-system-specific-CSS-Media-Queries.patch +++ b/src/current-patches/firefox/alpha/0009-Limit-device-and-system-specific-CSS-Media-Queries.patch @@ -1,7 +1,7 @@ From 6c09a21d1db29dc28b359294ededc047ba5b463e Mon Sep 17 00:00:00 2001 From: Shondoit Walker shondoit@gmail.com Date: Mon, 4 Jun 2012 19:15:31 +0200 -Subject: [PATCH 09/19] Limit device- and system-specific CSS Media Queries +Subject: [PATCH 09/20] Limit device- and system-specific CSS Media Queries
This is done to address https://www.torproject.org/projects/torbrowser/design/#fingerprinting-linkab... diff --git a/src/current-patches/firefox/alpha/0010-Rebrand-Firefox-to-TorBrowser.patch b/src/current-patches/firefox/alpha/0010-Rebrand-Firefox-to-TorBrowser.patch index 0127277..baffded 100644 --- a/src/current-patches/firefox/alpha/0010-Rebrand-Firefox-to-TorBrowser.patch +++ b/src/current-patches/firefox/alpha/0010-Rebrand-Firefox-to-TorBrowser.patch @@ -1,7 +1,7 @@ From 622437f3baf410f14610b21bcca7f9a0fcc8c6d9 Mon Sep 17 00:00:00 2001 From: Erinn Clark erinn@torproject.org Date: Wed, 25 Apr 2012 09:14:00 -0300 -Subject: [PATCH 10/19] Rebrand Firefox to TorBrowser +Subject: [PATCH 10/20] Rebrand Firefox to TorBrowser
This patch does some basic renaming of Firefox to TorBrowser. The rest of the branding is done by images and icons. diff --git a/src/current-patches/firefox/alpha/0011-Make-Download-manager-memory-only.patch b/src/current-patches/firefox/alpha/0011-Make-Download-manager-memory-only.patch index 5e0bcc2..67d4817 100644 --- a/src/current-patches/firefox/alpha/0011-Make-Download-manager-memory-only.patch +++ b/src/current-patches/firefox/alpha/0011-Make-Download-manager-memory-only.patch @@ -1,7 +1,7 @@ From 8992ae1cb7e1545413e649027ab7827799c53300 Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@torproject.org Date: Wed, 25 Apr 2012 13:39:35 -0700 -Subject: [PATCH 11/19] Make Download manager memory only. +Subject: [PATCH 11/20] Make Download manager memory only.
Solves https://trac.torproject.org/projects/tor/ticket/4017.
diff --git a/src/current-patches/firefox/alpha/0012-Add-DDG-and-StartPage-to-Omnibox.patch b/src/current-patches/firefox/alpha/0012-Add-DDG-and-StartPage-to-Omnibox.patch index b55c950..9452b8b 100644 --- a/src/current-patches/firefox/alpha/0012-Add-DDG-and-StartPage-to-Omnibox.patch +++ b/src/current-patches/firefox/alpha/0012-Add-DDG-and-StartPage-to-Omnibox.patch @@ -1,7 +1,7 @@ From 59b8b663b93248db34ad741ccb9972ecb6814c1f Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@torproject.org Date: Wed, 25 Apr 2012 15:03:46 -0700 -Subject: [PATCH 12/19] Add DDG and StartPage to Omnibox. +Subject: [PATCH 12/20] Add DDG and StartPage to Omnibox.
You mean there are search engines that don't require captchas if you don't have a cookie? Holy crap. Get those in there now. diff --git a/src/current-patches/firefox/alpha/0013-Make-nsICacheService.EvictEntries-synchronous.patch b/src/current-patches/firefox/alpha/0013-Make-nsICacheService.EvictEntries-synchronous.patch index 0bda09f..0514fb8 100644 --- a/src/current-patches/firefox/alpha/0013-Make-nsICacheService.EvictEntries-synchronous.patch +++ b/src/current-patches/firefox/alpha/0013-Make-nsICacheService.EvictEntries-synchronous.patch @@ -1,7 +1,7 @@ From 3b6137594c9f25725b3dd0fd46cfc8c86d6a772e Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@torproject.org Date: Tue, 1 May 2012 15:02:03 -0700 -Subject: [PATCH 13/19] Make nsICacheService.EvictEntries synchronous +Subject: [PATCH 13/20] Make nsICacheService.EvictEntries synchronous
This fixes a race condition that allows cache-based EverCookies to persist for a brief time (on the order of minutes?) after cache clearing/"New Identity". diff --git a/src/current-patches/firefox/alpha/0014-Prevent-WebSocket-DNS-leak.patch b/src/current-patches/firefox/alpha/0014-Prevent-WebSocket-DNS-leak.patch index 7006bfb..e95b223 100644 --- a/src/current-patches/firefox/alpha/0014-Prevent-WebSocket-DNS-leak.patch +++ b/src/current-patches/firefox/alpha/0014-Prevent-WebSocket-DNS-leak.patch @@ -1,7 +1,7 @@ From 0607517f87c2a0060f4f1e437f0ac37a889047a9 Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@torproject.org Date: Wed, 2 May 2012 17:44:39 -0700 -Subject: [PATCH 14/19] Prevent WebSocket DNS leak. +Subject: [PATCH 14/20] Prevent WebSocket DNS leak.
This is due to an improper implementation of the WebSocket spec by Mozilla.
diff --git a/src/current-patches/firefox/alpha/0015-Make-Tor-Browser-exit-when-not-launched-from-Vidalia.patch b/src/current-patches/firefox/alpha/0015-Make-Tor-Browser-exit-when-not-launched-from-Vidalia.patch index 93d576d..8d0aee3 100644 --- a/src/current-patches/firefox/alpha/0015-Make-Tor-Browser-exit-when-not-launched-from-Vidalia.patch +++ b/src/current-patches/firefox/alpha/0015-Make-Tor-Browser-exit-when-not-launched-from-Vidalia.patch @@ -1,7 +1,7 @@ From c482a4bd10c58099f7bab0c5990c6e5a29b6c59d Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@torproject.org Date: Thu, 7 Jun 2012 14:45:26 -0700 -Subject: [PATCH 15/19] Make Tor Browser exit when not launched from Vidalia +Subject: [PATCH 15/20] Make Tor Browser exit when not launched from Vidalia
Turns out the Windows 7 UI encourages users to "dock" their Tor Browser app for easy relaunch. If they manage to do this, we should fail closed rather diff --git a/src/current-patches/firefox/alpha/0016-Limit-the-number-of-fonts-per-document.patch b/src/current-patches/firefox/alpha/0016-Limit-the-number-of-fonts-per-document.patch index 8aa5485..dcb5f52 100644 --- a/src/current-patches/firefox/alpha/0016-Limit-the-number-of-fonts-per-document.patch +++ b/src/current-patches/firefox/alpha/0016-Limit-the-number-of-fonts-per-document.patch @@ -1,7 +1,7 @@ From 649b237e95315e9858cfb038f9f7f95199584cbd Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@torproject.org Date: Thu, 7 Jun 2012 15:09:59 -0700 -Subject: [PATCH 16/19] Limit the number of fonts per document. +Subject: [PATCH 16/20] Limit the number of fonts per document.
We create two prefs: browser.display.max_font_count and browser.display.max_font_attempts. diff --git a/src/current-patches/firefox/alpha/0017-Randomize-HTTP-request-order-and-pipeline-depth.patch b/src/current-patches/firefox/alpha/0017-Randomize-HTTP-request-order-and-pipeline-depth.patch index 916afd0..6ea29eb 100644 --- a/src/current-patches/firefox/alpha/0017-Randomize-HTTP-request-order-and-pipeline-depth.patch +++ b/src/current-patches/firefox/alpha/0017-Randomize-HTTP-request-order-and-pipeline-depth.patch @@ -1,7 +1,7 @@ From 09c27d0aee130959ee1aae211e9400600c26ade6 Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@torproject.org Date: Thu, 7 Jun 2012 15:13:45 -0700 -Subject: [PATCH 17/19] Randomize HTTP request order and pipeline depth. +Subject: [PATCH 17/20] Randomize HTTP request order and pipeline depth.
This is an experimental defense against http://lorre.uni.lu/~andriy/papers/acmccs-wpes11-fingerprinting.pdf diff --git a/src/current-patches/firefox/alpha/0018-Adapt-Steven-Michaud-s-Mac-crashfix-patch.patch b/src/current-patches/firefox/alpha/0018-Adapt-Steven-Michaud-s-Mac-crashfix-patch.patch index ebcef85..b4ff898 100644 --- a/src/current-patches/firefox/alpha/0018-Adapt-Steven-Michaud-s-Mac-crashfix-patch.patch +++ b/src/current-patches/firefox/alpha/0018-Adapt-Steven-Michaud-s-Mac-crashfix-patch.patch @@ -1,7 +1,7 @@ From 7c321c4d75c7c80d899db962804d288ed7db162e Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@torproject.org Date: Thu, 7 Jun 2012 15:26:13 -0700 -Subject: [PATCH 18/19] Adapt Steven Michaud's Mac crashfix patch +Subject: [PATCH 18/20] Adapt Steven Michaud's Mac crashfix patch
Source is: https://bugzilla.mozilla.org/show_bug.cgi?id=715885#c35
diff --git a/src/current-patches/firefox/alpha/0019-Fix-Firefox-13-build-process.patch b/src/current-patches/firefox/alpha/0019-Fix-Firefox-13-build-process.patch index 9b0aab3..4ac5d0a 100644 --- a/src/current-patches/firefox/alpha/0019-Fix-Firefox-13-build-process.patch +++ b/src/current-patches/firefox/alpha/0019-Fix-Firefox-13-build-process.patch @@ -1,7 +1,7 @@ From 41f44964edbee300c098d110be3f029ebb711081 Mon Sep 17 00:00:00 2001 From: Mike Perry mikeperry-git@torproject.org Date: Fri, 8 Jun 2012 12:42:25 -0700 -Subject: [PATCH 19/19] Fix Firefox 13 build process. +Subject: [PATCH 19/20] Fix Firefox 13 build process.
Patch is from https://bugzilla.mozilla.org/show_bug.cgi?id=736961. --- diff --git a/src/current-patches/firefox/alpha/0020-Fix-internal-compile-error-for-sub-ancient-GCCs.patch b/src/current-patches/firefox/alpha/0020-Fix-internal-compile-error-for-sub-ancient-GCCs.patch new file mode 100644 index 0000000..d66f79a --- /dev/null +++ b/src/current-patches/firefox/alpha/0020-Fix-internal-compile-error-for-sub-ancient-GCCs.patch @@ -0,0 +1,45 @@ +From fb210909f6fd3a4a5253101d44edc8c884bf6c04 Mon Sep 17 00:00:00 2001 +From: Mike Perry mikeperry-git@torproject.org +Date: Wed, 20 Jun 2012 15:26:11 -0700 +Subject: [PATCH 20/20] Fix 'internal compile error' for sub-ancient GCCs. + +Also fix a related null pointer deref. +--- + netwerk/protocol/http/HttpChannelParent.cpp | 13 ++++++++++--- + 1 files changed, 10 insertions(+), 3 deletions(-) + +diff --git a/netwerk/protocol/http/HttpChannelParent.cpp b/netwerk/protocol/http/HttpChannelParent.cpp +index c0d2fff..982c4e0 100644 +--- a/netwerk/protocol/http/HttpChannelParent.cpp ++++ b/netwerk/protocol/http/HttpChannelParent.cpp +@@ -333,8 +333,13 @@ HttpChannelParent::RecvUpdateAssociatedContentSecurity(const PRInt32& high, + + // Bug 621446 investigation, we don't want conditional PR_Aborts bellow to be + // merged to a single address. +-#pragma warning(disable : 4068) ++// Compiling with a version of GCC <= 4.4 fails with an internal compiler ++// error. ++#if !defined(__GNUC__) || \ ++ (__GNUC__ >= 5) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) + #pragma GCC optimize ("O0") ++#pragma warning(disable : 4068) ++#endif + + bool + HttpChannelParent::RecvRedirect2Verify(const nsresult& result, +@@ -369,8 +374,10 @@ HttpChannelParent::RecvRedirect2Verify(const nsresult& result, + + mReceivedRedirect2Verify = true; + +- mRedirectCallback->OnRedirectVerifyCallback(result); +- mRedirectCallback = nsnull; ++ if (mRedirectCallback) { ++ mRedirectCallback->OnRedirectVerifyCallback(result); ++ mRedirectCallback = nsnull; ++ } + return true; + } + +-- +1.7.5.4 +