[tor-commits] [torbrowser/maint-2.2] Rebase to Firefox 10.
erinn at torproject.org
erinn at torproject.org
Thu Feb 2 23:52:18 UTC 2012
commit b4780f07d6af74ee72d2e63aa032cf614b71c310
Author: Mike Perry <mikeperry-git at fscked.org>
Date: Wed Feb 1 16:54:29 2012 -0800
Rebase to Firefox 10.
---
...nents.interfaces-lookupMethod-from-conten.patch | 24 ++++++------
...0002-Make-Permissions-Manager-memory-only.patch | 24 ++++++------
...-Make-Intermediate-Cert-Store-memory-only.patch | 12 +++---
...th-headers-before-the-modify-request-obse.patch | 15 ++++----
.../firefox/0005-Add-a-string-based-cacheKey.patch | 14 ++++----
...6-Randomize-HTTP-pipeline-order-and-depth.patch | 30 ++++++++--------
.../0007-Block-all-plugins-except-flash.patch | 20 +++++-----
...ontent-pref-service-memory-only-clearable.patch | 12 +++---
...owser-exit-when-not-launched-from-Vidalia.patch | 8 ++--
.../0010-Disable-SSL-Session-ID-tracking.patch | 6 ++--
...observer-event-to-close-persistent-connec.patch | 21 ++++++-----
...e-client-values-only-to-CSS-Media-Queries.patch | 18 +++++-----
...13-Limit-the-number-of-fonts-per-document.patch | 36 ++++++++++----------
13 files changed, 121 insertions(+), 119 deletions(-)
diff --git a/src/current-patches/firefox/0001-Block-Components.interfaces-lookupMethod-from-conten.patch b/src/current-patches/firefox/0001-Block-Components.interfaces-lookupMethod-from-conten.patch
index de0903c..ba0da28 100644
--- a/src/current-patches/firefox/0001-Block-Components.interfaces-lookupMethod-from-conten.patch
+++ b/src/current-patches/firefox/0001-Block-Components.interfaces-lookupMethod-from-conten.patch
@@ -1,7 +1,7 @@
-From 658f53653a37767802d9cd992b8dd58d7503ea1b Mon Sep 17 00:00:00 2001
-From: Mike Perry <mikeperry-git at fscked.org>
-Date: Mon, 20 Jun 2011 17:07:41 -0700
-Subject: [PATCH 01/12] Block Components.interfaces,lookupMethod from content
+From 67b86f0c22070cbf86112174ae1e2ce6d6a36dee Mon Sep 17 00:00:00 2001
+From: Mike Perry <mikeperry-git at torproject.org>
+Date: Wed, 1 Feb 2012 15:40:40 -0800
+Subject: [PATCH 01/13] 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.
@@ -16,14 +16,14 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=429070
https://trac.torproject.org/projects/tor/ticket/2873
https://trac.torproject.org/projects/tor/ticket/2874
---
- js/src/xpconnect/src/xpccomponents.cpp | 8 ++++++--
+ js/xpconnect/src/XPCComponents.cpp | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
-diff --git a/js/src/xpconnect/src/xpccomponents.cpp b/js/src/xpconnect/src/xpccomponents.cpp
-index ca38e47..34175a5 100644
---- a/js/src/xpconnect/src/xpccomponents.cpp
-+++ b/js/src/xpconnect/src/xpccomponents.cpp
-@@ -4431,7 +4431,9 @@ nsXPCComponents::CanCreateWrapper(const nsIID * iid, char **_retval)
+diff --git a/js/xpconnect/src/XPCComponents.cpp b/js/xpconnect/src/XPCComponents.cpp
+index 3bcbf91..d5c020a 100644
+--- a/js/xpconnect/src/XPCComponents.cpp
++++ b/js/xpconnect/src/XPCComponents.cpp
+@@ -4456,7 +4456,9 @@ nsXPCComponents::CanCreateWrapper(const nsIID * iid, char **_retval)
NS_IMETHODIMP
nsXPCComponents::CanCallMethod(const nsIID * iid, const PRUnichar *methodName, char **_retval)
{
@@ -34,7 +34,7 @@ index ca38e47..34175a5 100644
*_retval = xpc_CheckAccessList(methodName, allowed);
return NS_OK;
}
-@@ -4440,7 +4442,9 @@ nsXPCComponents::CanCallMethod(const nsIID * iid, const PRUnichar *methodName, c
+@@ -4465,7 +4467,9 @@ nsXPCComponents::CanCallMethod(const nsIID * iid, const PRUnichar *methodName, c
NS_IMETHODIMP
nsXPCComponents::CanGetProperty(const nsIID * iid, const PRUnichar *propertyName, char **_retval)
{
@@ -46,5 +46,5 @@ index ca38e47..34175a5 100644
return NS_OK;
}
--
-1.7.3.4
+1.7.5.4
diff --git a/src/current-patches/firefox/0002-Make-Permissions-Manager-memory-only.patch b/src/current-patches/firefox/0002-Make-Permissions-Manager-memory-only.patch
index fcc3802..ecd1e32 100644
--- a/src/current-patches/firefox/0002-Make-Permissions-Manager-memory-only.patch
+++ b/src/current-patches/firefox/0002-Make-Permissions-Manager-memory-only.patch
@@ -1,7 +1,7 @@
-From b390a17593f20c837facf0b9da1ee4696697f1b6 Mon Sep 17 00:00:00 2001
-From: Mike Perry <mikeperry-git at fscked.org>
-Date: Mon, 20 Jun 2011 17:07:56 -0700
-Subject: [PATCH 02/12] Make Permissions Manager memory-only
+From 193c50c03aa61eef5415d0476467c22941022a11 Mon Sep 17 00:00:00 2001
+From: Mike Perry <mikeperry-git at torproject.org>
+Date: Wed, 1 Feb 2012 15:45:16 -0800
+Subject: [PATCH 02/13] 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
@@ -16,7 +16,7 @@ https://trac.torproject.org/projects/tor/ticket/2950
1 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/extensions/cookie/nsPermissionManager.cpp b/extensions/cookie/nsPermissionManager.cpp
-index d72b794..b89887e 100644
+index 67eb216..12cc7cf 100644
--- a/extensions/cookie/nsPermissionManager.cpp
+++ b/extensions/cookie/nsPermissionManager.cpp
@@ -58,6 +58,10 @@
@@ -31,7 +31,7 @@ index d72b794..b89887e 100644
static nsPermissionManager *gPermissionManager = nsnull;
@@ -203,6 +207,11 @@ nsPermissionManager::Init()
- mObserverService->AddObserver(this, "profile-do-change", PR_TRUE);
+ mObserverService->AddObserver(this, "profile-do-change", true);
}
+ nsCOMPtr<nsIPrefBranch2> pbi = do_GetService(NS_PREFSERVICE_CONTRACTID);
@@ -42,11 +42,11 @@ index d72b794..b89887e 100644
if (IsChildProcess()) {
// Get the permissions from the parent process
InfallibleTArray<IPC::Permission> perms;
-@@ -251,8 +260,18 @@ nsPermissionManager::InitDB(PRBool aRemoveFile)
+@@ -251,8 +260,18 @@ nsPermissionManager::InitDB(bool aRemoveFile)
if (!storage)
return NS_ERROR_UNEXPECTED;
-+ PRBool memory_db = false;
++ bool memory_db = false;
+ nsCOMPtr<nsIPrefBranch> prefs = do_GetService(NS_PREFSERVICE_CONTRACTID);
+ if (prefs) {
+ prefs->GetBoolPref("permissions.memory_only", &memory_db);
@@ -61,9 +61,9 @@ index d72b794..b89887e 100644
+ }
NS_ENSURE_SUCCESS(rv, rv);
- PRBool ready;
-@@ -262,7 +281,11 @@ nsPermissionManager::InitDB(PRBool aRemoveFile)
- rv = permissionsFile->Remove(PR_FALSE);
+ bool ready;
+@@ -262,7 +281,11 @@ nsPermissionManager::InitDB(bool aRemoveFile)
+ rv = permissionsFile->Remove(false);
NS_ENSURE_SUCCESS(rv, rv);
- rv = storage->OpenDatabase(permissionsFile, getter_AddRefs(mDBConn));
@@ -90,5 +90,5 @@ index d72b794..b89887e 100644
// or is going away because the application is shutting down.
if (!nsCRT::strcmp(someData, NS_LITERAL_STRING("shutdown-cleanse").get())) {
--
-1.7.3.4
+1.7.5.4
diff --git a/src/current-patches/firefox/0003-Make-Intermediate-Cert-Store-memory-only.patch b/src/current-patches/firefox/0003-Make-Intermediate-Cert-Store-memory-only.patch
index e921f7d..ec575bc 100644
--- a/src/current-patches/firefox/0003-Make-Intermediate-Cert-Store-memory-only.patch
+++ b/src/current-patches/firefox/0003-Make-Intermediate-Cert-Store-memory-only.patch
@@ -1,7 +1,7 @@
-From 93a3a1886d34e5f73a385726c22ecfc4e72598a3 Mon Sep 17 00:00:00 2001
+From 5d72233faeba1745962f55fa09fe2f537eda93ec Mon Sep 17 00:00:00 2001
From: Mike Perry <mikeperry-git at fscked.org>
Date: Fri, 19 Aug 2011 17:58:23 -0700
-Subject: [PATCH 03/12] Make Intermediate Cert Store memory-only.
+Subject: [PATCH 03/13] Make Intermediate Cert Store memory-only.
This patch makes the intermediate SSL cert store exist in memory only.
@@ -12,15 +12,15 @@ https://trac.torproject.org/projects/tor/ticket/2949
1 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/src/nsNSSComponent.cpp
-index 5bb09ae..737715d 100644
+index a08c4ef..0ec3713 100644
--- a/security/manager/ssl/src/nsNSSComponent.cpp
+++ b/security/manager/ssl/src/nsNSSComponent.cpp
-@@ -1732,8 +1732,21 @@ nsNSSComponent::InitializeNSS(PRBool showWarningBox)
+@@ -1730,8 +1730,21 @@ nsNSSComponent::InitializeNSS(bool showWarningBox)
// Ubuntu 8.04, which loads any nonexistent "<configdir>/libnssckbi.so" as
// "/usr/lib/nss/libnssckbi.so".
PRUint32 init_flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE;
- SECStatus init_rv = ::NSS_Initialize(profileStr.get(), "", "",
-+ PRBool nocertdb = false;
++ bool nocertdb = false;
+ mPrefBranch->GetBoolPref("security.nocertdb", &nocertdb);
+
+ // XXX: We can also do the the following to only disable the certdb.
@@ -39,5 +39,5 @@ index 5bb09ae..737715d 100644
if (init_rv != SECSuccess) {
PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("can not init NSS r/w in %s\n", profileStr.get()));
--
-1.7.3.4
+1.7.5.4
diff --git a/src/current-patches/firefox/0004-Add-HTTP-auth-headers-before-the-modify-request-obse.patch b/src/current-patches/firefox/0004-Add-HTTP-auth-headers-before-the-modify-request-obse.patch
index c0b2070..44dfccc 100644
--- a/src/current-patches/firefox/0004-Add-HTTP-auth-headers-before-the-modify-request-obse.patch
+++ b/src/current-patches/firefox/0004-Add-HTTP-auth-headers-before-the-modify-request-obse.patch
@@ -1,7 +1,8 @@
-From f30579c50a6915314a470579da533f53200e61d8 Mon Sep 17 00:00:00 2001
+From 6dc27a50e06bca139a07546f94a827f1fdb762b7 Mon Sep 17 00:00:00 2001
From: Mike Perry <mikeperry-git at fscked.org>
Date: Fri, 2 Sep 2011 15:33:20 -0700
-Subject: [PATCH 04/12] Add HTTP auth headers before the modify-request observer.
+Subject: [PATCH 04/13] Add HTTP auth headers before the modify-request
+ observer.
Otherwise, how are we supposed to modify them?
@@ -11,10 +12,10 @@ Thanks to Georg Koppen for spotting both the problem and this fix.
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/netwerk/protocol/http/nsHttpChannel.cpp b/netwerk/protocol/http/nsHttpChannel.cpp
-index 3f9d049..945bc0d 100644
+index dec2a83..4c5e759 100644
--- a/netwerk/protocol/http/nsHttpChannel.cpp
+++ b/netwerk/protocol/http/nsHttpChannel.cpp
-@@ -291,9 +291,6 @@ nsHttpChannel::Connect(PRBool firstTime)
+@@ -316,9 +316,6 @@ nsHttpChannel::Connect(bool firstTime)
return NS_ERROR_DOCUMENT_NOT_CACHED;
}
@@ -24,7 +25,7 @@ index 3f9d049..945bc0d 100644
if (mLoadFlags & LOAD_NO_NETWORK_IO) {
return NS_ERROR_DOCUMENT_NOT_CACHED;
}
-@@ -3665,6 +3662,9 @@ nsHttpChannel::AsyncOpen(nsIStreamListener *listener, nsISupports *context)
+@@ -3701,6 +3698,9 @@ nsHttpChannel::AsyncOpen(nsIStreamListener *listener, nsISupports *context)
AddCookiesToRequest();
@@ -34,7 +35,7 @@ index 3f9d049..945bc0d 100644
// notify "http-on-modify-request" observers
gHttpHandler->OnModifyRequest(this);
-@@ -4741,7 +4741,10 @@ nsHttpChannel::DoAuthRetry(nsAHttpConnection *conn)
+@@ -4795,7 +4795,10 @@ nsHttpChannel::DoAuthRetry(nsAHttpConnection *conn)
// this authentication attempt (bug 84794).
// TODO: save cookies from auth response and send them here (bug 572151).
AddCookiesToRequest();
@@ -47,5 +48,5 @@ index 3f9d049..945bc0d 100644
gHttpHandler->OnModifyRequest(this);
--
-1.7.3.4
+1.7.5.4
diff --git a/src/current-patches/firefox/0005-Add-a-string-based-cacheKey.patch b/src/current-patches/firefox/0005-Add-a-string-based-cacheKey.patch
index 87941e2..822033a 100644
--- a/src/current-patches/firefox/0005-Add-a-string-based-cacheKey.patch
+++ b/src/current-patches/firefox/0005-Add-a-string-based-cacheKey.patch
@@ -1,7 +1,7 @@
-From 65410adb53fafe4ec717ab464cdefee3cdd35708 Mon Sep 17 00:00:00 2001
+From a06818f3a358e6c4502b944ecd264fd2ccaff5bf Mon Sep 17 00:00:00 2001
From: Mike Perry <mikeperry-git at fscked.org>
Date: Fri, 2 Sep 2011 20:47:02 -0700
-Subject: [PATCH 05/12] Add a string-based cacheKey.
+Subject: [PATCH 05/13] Add a string-based cacheKey.
Used for isolating cache according to same-origin policy.
---
@@ -29,10 +29,10 @@ index 2da46d6..4ee5774 100644
* may fail if the disk cache is not present. The value of this attribute
* is usually only settable during the processing of a channel's
diff --git a/netwerk/protocol/http/nsHttpChannel.cpp b/netwerk/protocol/http/nsHttpChannel.cpp
-index 945bc0d..9e838d8 100644
+index 4c5e759..6205d62 100644
--- a/netwerk/protocol/http/nsHttpChannel.cpp
+++ b/netwerk/protocol/http/nsHttpChannel.cpp
-@@ -2356,6 +2356,12 @@ nsHttpChannel::AssembleCacheKey(const char *spec, PRUint32 postID,
+@@ -2389,6 +2389,12 @@ nsHttpChannel::AssembleCacheKey(const char *spec, PRUint32 postID,
cacheKey.Append(buf);
}
@@ -45,7 +45,7 @@ index 945bc0d..9e838d8 100644
if (!cacheKey.IsEmpty()) {
cacheKey.AppendLiteral("uri=");
}
-@@ -4641,6 +4647,22 @@ nsHttpChannel::SetCacheForOfflineUse(PRBool value)
+@@ -4695,6 +4701,22 @@ nsHttpChannel::SetCacheForOfflineUse(bool value)
}
NS_IMETHODIMP
@@ -69,7 +69,7 @@ index 945bc0d..9e838d8 100644
{
value = mOfflineCacheClientID;
diff --git a/netwerk/protocol/http/nsHttpChannel.h b/netwerk/protocol/http/nsHttpChannel.h
-index 6e0f360..9df9e38 100644
+index 88ce469..53538cf 100644
--- a/netwerk/protocol/http/nsHttpChannel.h
+++ b/netwerk/protocol/http/nsHttpChannel.h
@@ -303,6 +303,7 @@ private:
@@ -81,5 +81,5 @@ index 6e0f360..9df9e38 100644
// auth specific data
nsCOMPtr<nsIHttpChannelAuthProvider> mAuthProvider;
--
-1.7.3.4
+1.7.5.4
diff --git a/src/current-patches/firefox/0006-Randomize-HTTP-pipeline-order-and-depth.patch b/src/current-patches/firefox/0006-Randomize-HTTP-pipeline-order-and-depth.patch
index 2935289..de40bfe 100644
--- a/src/current-patches/firefox/0006-Randomize-HTTP-pipeline-order-and-depth.patch
+++ b/src/current-patches/firefox/0006-Randomize-HTTP-pipeline-order-and-depth.patch
@@ -1,7 +1,7 @@
-From 797fecf94e73e4f65fa8fdd58e0980e0d79ec092 Mon Sep 17 00:00:00 2001
-From: Mike Perry <mikeperry-git at fscked.org>
-Date: Tue, 8 Nov 2011 17:34:54 -0800
-Subject: [PATCH 06/12] Randomize HTTP pipeline order and depth.
+From 755f71320538b0a813807cc3f4076dd20cbe9849 Mon Sep 17 00:00:00 2001
+From: Mike Perry <mikeperry-git at torproject.org>
+Date: Wed, 1 Feb 2012 16:05:22 -0800
+Subject: [PATCH 06/13] Randomize HTTP pipeline order and depth.
This is an experimental defense against
http://lorre.uni.lu/~andriy/papers/acmccs-wpes11-fingerprinting.pdf
@@ -14,7 +14,7 @@ https://blog.torproject.org/blog/experimental-defense-website-traffic-fingerprin
2 files changed, 81 insertions(+), 1 deletions(-)
diff --git a/netwerk/protocol/http/nsHttpConnectionMgr.cpp b/netwerk/protocol/http/nsHttpConnectionMgr.cpp
-index 3bb2b55..89ec350 100644
+index 23ef893..bba456d 100644
--- a/netwerk/protocol/http/nsHttpConnectionMgr.cpp
+++ b/netwerk/protocol/http/nsHttpConnectionMgr.cpp
@@ -94,6 +94,11 @@ nsHttpConnectionMgr::nsHttpConnectionMgr()
@@ -29,7 +29,7 @@ index 3bb2b55..89ec350 100644
}
nsHttpConnectionMgr::~nsHttpConnectionMgr()
-@@ -856,7 +861,7 @@ nsHttpConnectionMgr::DispatchTransaction(nsConnectionEntry *ent,
+@@ -865,7 +870,7 @@ nsHttpConnectionMgr::DispatchTransaction(nsConnectionEntry *ent,
nsHttpPipeline *pipeline = nsnull;
if (conn->SupportsPipelining() && (caps & NS_HTTP_ALLOW_PIPELINING)) {
LOG((" looking to build pipeline...\n"));
@@ -38,11 +38,11 @@ index 3bb2b55..89ec350 100644
trans = pipeline;
}
-@@ -929,6 +934,77 @@ nsHttpConnectionMgr::BuildPipeline(nsConnectionEntry *ent,
- return PR_TRUE;
+@@ -938,6 +943,77 @@ nsHttpConnectionMgr::BuildPipeline(nsConnectionEntry *ent,
+ return true;
}
-+PRBool
++bool
+nsHttpConnectionMgr::BuildRandomizedPipeline(nsConnectionEntry *ent,
+ nsAHttpTransaction *firstTrans,
+ nsHttpPipeline **result)
@@ -117,7 +117,7 @@ index 3bb2b55..89ec350 100644
nsHttpConnectionMgr::ProcessNewTransaction(nsHttpTransaction *trans)
{
diff --git a/netwerk/protocol/http/nsHttpConnectionMgr.h b/netwerk/protocol/http/nsHttpConnectionMgr.h
-index d6dba79..c6e295f 100644
+index cdf21a9..9647225 100644
--- a/netwerk/protocol/http/nsHttpConnectionMgr.h
+++ b/netwerk/protocol/http/nsHttpConnectionMgr.h
@@ -48,6 +48,7 @@
@@ -128,15 +128,15 @@ index d6dba79..c6e295f 100644
#include "nsIObserver.h"
#include "nsITimer.h"
-@@ -275,6 +276,7 @@ private:
+@@ -276,6 +277,7 @@ private:
nsresult DispatchTransaction(nsConnectionEntry *, nsAHttpTransaction *,
PRUint8 caps, nsHttpConnection *);
- PRBool BuildPipeline(nsConnectionEntry *, nsAHttpTransaction *, nsHttpPipeline **);
-+ PRBool BuildRandomizedPipeline(nsConnectionEntry *, nsAHttpTransaction *, nsHttpPipeline **);
+ bool BuildPipeline(nsConnectionEntry *, nsAHttpTransaction *, nsHttpPipeline **);
++ bool BuildRandomizedPipeline(nsConnectionEntry *, nsAHttpTransaction *, nsHttpPipeline **);
nsresult ProcessNewTransaction(nsHttpTransaction *);
nsresult EnsureSocketThreadTargetIfOnline();
void ClosePersistentConnections(nsConnectionEntry *ent);
-@@ -352,6 +354,8 @@ private:
+@@ -353,6 +355,8 @@ private:
PRUint64 mTimeOfNextWakeUp;
// Timer for next pruning of dead connections.
nsCOMPtr<nsITimer> mTimer;
@@ -146,5 +146,5 @@ index d6dba79..c6e295f 100644
//
// the connection table
--
-1.7.3.4
+1.7.5.4
diff --git a/src/current-patches/firefox/0007-Block-all-plugins-except-flash.patch b/src/current-patches/firefox/0007-Block-all-plugins-except-flash.patch
index c8d55f8..ef83185 100644
--- a/src/current-patches/firefox/0007-Block-all-plugins-except-flash.patch
+++ b/src/current-patches/firefox/0007-Block-all-plugins-except-flash.patch
@@ -1,7 +1,7 @@
-From 2954118c9ab70d2e1c4d983a8f101b3a237461bb Mon Sep 17 00:00:00 2001
-From: Mike Perry <mikeperry-git at fscked.org>
-Date: Wed, 28 Sep 2011 13:24:20 -0700
-Subject: [PATCH 07/12] Block all plugins except flash.
+From 7d6e270e1a05e1fe57d069b9859c9b51904db33e Mon Sep 17 00:00:00 2001
+From: Mike Perry <mikeperry-git at torproject.org>
+Date: Wed, 1 Feb 2012 15:50:15 -0800
+Subject: [PATCH 07/13] 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
@@ -17,11 +17,11 @@ on a better way. Until then, it is delta-darwinism for us.
2 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/dom/plugins/base/nsPluginHost.cpp b/dom/plugins/base/nsPluginHost.cpp
-index 8578d56..3fbae53 100644
+index 729c9ef..1f4652d 100644
--- a/dom/plugins/base/nsPluginHost.cpp
+++ b/dom/plugins/base/nsPluginHost.cpp
-@@ -1964,6 +1964,35 @@ PRBool nsPluginHost::IsDuplicatePlugin(nsPluginTag * aPluginTag)
- return PR_FALSE;
+@@ -1965,6 +1965,35 @@ bool nsPluginHost::IsDuplicatePlugin(nsPluginTag * aPluginTag)
+ return false;
}
+PRBool nsPluginHost::GhettoBlacklist(nsIFile *pluginFile)
@@ -56,7 +56,7 @@ index 8578d56..3fbae53 100644
typedef NS_NPAPIPLUGIN_CALLBACK(char *, NP_GETMIMEDESCRIPTION)(void);
nsresult nsPluginHost::ScanPluginsDirectory(nsIFile *pluginsDir,
-@@ -2085,6 +2114,10 @@ nsresult nsPluginHost::ScanPluginsDirectory(nsIFile *pluginsDir,
+@@ -2086,6 +2115,10 @@ nsresult nsPluginHost::ScanPluginsDirectory(nsIFile *pluginsDir,
continue;
}
@@ -68,7 +68,7 @@ index 8578d56..3fbae53 100644
if (!pluginTag) {
nsPluginFile pluginFile(localfile);
diff --git a/dom/plugins/base/nsPluginHost.h b/dom/plugins/base/nsPluginHost.h
-index 1cfd59b..7d83c20 100644
+index 39a8891..c262abf 100644
--- a/dom/plugins/base/nsPluginHost.h
+++ b/dom/plugins/base/nsPluginHost.h
@@ -278,6 +278,8 @@ private:
@@ -81,5 +81,5 @@ index 1cfd59b..7d83c20 100644
// and removes it from the cache.
void RemoveCachedPluginsInfo(const char *filePath,
--
-1.7.3.4
+1.7.5.4
diff --git a/src/current-patches/firefox/0008-Make-content-pref-service-memory-only-clearable.patch b/src/current-patches/firefox/0008-Make-content-pref-service-memory-only-clearable.patch
index 6473b13..ac91170 100644
--- a/src/current-patches/firefox/0008-Make-content-pref-service-memory-only-clearable.patch
+++ b/src/current-patches/firefox/0008-Make-content-pref-service-memory-only-clearable.patch
@@ -1,7 +1,7 @@
-From e14ab520ed4e012dbeb051eb9320e59f06873674 Mon Sep 17 00:00:00 2001
+From 23a09d0a6def1e2f7190177a875ab5a85c5da7b7 Mon Sep 17 00:00:00 2001
From: Mike Perry <mikeperry-git at fscked.org>
Date: Thu, 8 Sep 2011 08:40:17 -0700
-Subject: [PATCH 08/12] Make content pref service memory-only + clearable
+Subject: [PATCH 08/13] 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
@@ -11,10 +11,10 @@ other site prefs?).
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/toolkit/components/contentprefs/nsContentPrefService.js b/toolkit/components/contentprefs/nsContentPrefService.js
-index 0d12b36..494515b 100644
+index adfb650..1619d5f 100644
--- a/toolkit/components/contentprefs/nsContentPrefService.js
+++ b/toolkit/components/contentprefs/nsContentPrefService.js
-@@ -1183,7 +1183,7 @@ ContentPrefService.prototype = {
+@@ -1240,7 +1240,7 @@ ContentPrefService.prototype = {
var dbConnection;
@@ -23,7 +23,7 @@ index 0d12b36..494515b 100644
dbConnection = this._dbCreate(dbService, dbFile);
else {
try {
-@@ -1231,7 +1231,7 @@ ContentPrefService.prototype = {
+@@ -1288,7 +1288,7 @@ ContentPrefService.prototype = {
},
_dbCreate: function ContentPrefService__dbCreate(aDBService, aDBFile) {
@@ -33,5 +33,5 @@ index 0d12b36..494515b 100644
try {
this._dbCreateSchema(dbConnection);
--
-1.7.3.4
+1.7.5.4
diff --git a/src/current-patches/firefox/0009-Make-Tor-Browser-exit-when-not-launched-from-Vidalia.patch b/src/current-patches/firefox/0009-Make-Tor-Browser-exit-when-not-launched-from-Vidalia.patch
index 11d3cdf..3dc98ed 100644
--- a/src/current-patches/firefox/0009-Make-Tor-Browser-exit-when-not-launched-from-Vidalia.patch
+++ b/src/current-patches/firefox/0009-Make-Tor-Browser-exit-when-not-launched-from-Vidalia.patch
@@ -1,7 +1,7 @@
-From 84286ac84d1973747f9ff541df90ed79c34ed443 Mon Sep 17 00:00:00 2001
+From b9c2e8d93cf62ea8f8fec63f0db955d8d0c4bc24 Mon Sep 17 00:00:00 2001
From: Mike Perry <mikeperry-git at fscked.org>
Date: Sun, 9 Oct 2011 22:50:07 -0700
-Subject: [PATCH 09/12] Make Tor Browser exit when not launched from Vidalia
+Subject: [PATCH 09/13] 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
@@ -16,7 +16,7 @@ actually be common.
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
-index e78919d..c1e90f3 100644
+index a463fac..4480050 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -1217,6 +1217,21 @@ function BrowserStartup() {
@@ -42,5 +42,5 @@ index e78919d..c1e90f3 100644
if (uriToLoad instanceof Ci.nsISupportsArray) {
let count = uriToLoad.Count();
--
-1.7.3.4
+1.7.5.4
diff --git a/src/current-patches/firefox/0010-Disable-SSL-Session-ID-tracking.patch b/src/current-patches/firefox/0010-Disable-SSL-Session-ID-tracking.patch
index 53553f1..8722540 100644
--- a/src/current-patches/firefox/0010-Disable-SSL-Session-ID-tracking.patch
+++ b/src/current-patches/firefox/0010-Disable-SSL-Session-ID-tracking.patch
@@ -1,7 +1,7 @@
-From 5e8424690ef1d9f5c38dbf87811f82fa92e29eb5 Mon Sep 17 00:00:00 2001
+From 8bfcf12fe59b7b9940830446bf331729f5c86b3d Mon Sep 17 00:00:00 2001
From: Mike Perry <mikeperry-git at fscked.org>
Date: Wed, 7 Dec 2011 19:36:38 -0800
-Subject: [PATCH 10/12] Disable SSL Session ID tracking.
+Subject: [PATCH 10/13] 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
@@ -24,5 +24,5 @@ index 2e6f9ed..c8a993b 100644
PR_FALSE, /* v2CompatibleHello */ /* now defaults to off in NSS 3.13 */
PR_TRUE, /* detectRollBack */
--
-1.7.3.4
+1.7.5.4
diff --git a/src/current-patches/firefox/0011-Provide-an-observer-event-to-close-persistent-connec.patch b/src/current-patches/firefox/0011-Provide-an-observer-event-to-close-persistent-connec.patch
index 0b67cd6..7d91c66 100644
--- a/src/current-patches/firefox/0011-Provide-an-observer-event-to-close-persistent-connec.patch
+++ b/src/current-patches/firefox/0011-Provide-an-observer-event-to-close-persistent-connec.patch
@@ -1,7 +1,8 @@
-From f29be5f0e41e9915bcd15b692685bebce9d33f91 Mon Sep 17 00:00:00 2001
-From: Mike Perry <mikeperry-git at fscked.org>
-Date: Wed, 7 Dec 2011 20:05:19 -0800
-Subject: [PATCH 11/12] Provide an observer event to close persistent connections
+From befcfaff647b1e09722d100fbf2dadcc22cfdc2b Mon Sep 17 00:00:00 2001
+From: Mike Perry <mikeperry-git at torproject.org>
+Date: Wed, 1 Feb 2012 15:53:28 -0800
+Subject: [PATCH 11/13] Provide an observer event to close persistent
+ connections
We need to prevent linkability across "New Identity", which includes closing
keep-alive connections.
@@ -10,18 +11,18 @@ keep-alive connections.
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/netwerk/protocol/http/nsHttpHandler.cpp b/netwerk/protocol/http/nsHttpHandler.cpp
-index f79f23e..ed70ecd 100644
+index f21598e..f3bf6af 100644
--- a/netwerk/protocol/http/nsHttpHandler.cpp
+++ b/netwerk/protocol/http/nsHttpHandler.cpp
@@ -321,6 +321,7 @@ nsHttpHandler::Init()
- mObserverService->AddObserver(this, "net:clear-active-logins", PR_TRUE);
- mObserverService->AddObserver(this, NS_PRIVATE_BROWSING_SWITCH_TOPIC, PR_TRUE);
- mObserverService->AddObserver(this, "net:prune-dead-connections", PR_TRUE);
+ mObserverService->AddObserver(this, "net:clear-active-logins", true);
+ mObserverService->AddObserver(this, NS_PRIVATE_BROWSING_SWITCH_TOPIC, true);
+ mObserverService->AddObserver(this, "net:prune-dead-connections", true);
+ mObserverService->AddObserver(this, "net:prune-all-connections", PR_TRUE);
}
return NS_OK;
-@@ -1611,6 +1612,12 @@ nsHttpHandler::Observe(nsISupports *subject,
+@@ -1481,6 +1482,12 @@ nsHttpHandler::Observe(nsISupports *subject,
mConnMgr->PruneDeadConnections();
}
}
@@ -35,5 +36,5 @@ index f79f23e..ed70ecd 100644
return NS_OK;
}
--
-1.7.3.4
+1.7.5.4
diff --git a/src/current-patches/firefox/0012-Provide-client-values-only-to-CSS-Media-Queries.patch b/src/current-patches/firefox/0012-Provide-client-values-only-to-CSS-Media-Queries.patch
index 7253f9c..d3e636b 100644
--- a/src/current-patches/firefox/0012-Provide-client-values-only-to-CSS-Media-Queries.patch
+++ b/src/current-patches/firefox/0012-Provide-client-values-only-to-CSS-Media-Queries.patch
@@ -1,7 +1,7 @@
-From e4586005446c57161e14adc153aa5890f5694223 Mon Sep 17 00:00:00 2001
+From b5c42aa7668ac12b034cc1806ae1dc48732fa9b5 Mon Sep 17 00:00:00 2001
From: Mike Perry <mikeperry-git at fscked.org>
Date: Tue, 20 Dec 2011 21:02:49 -0800
-Subject: [PATCH 12/12] Provide client values only to CSS Media Queries
+Subject: [PATCH 12/13] Provide client values only to CSS Media Queries
Also disable a bunch of Mozilla extensions that smell like they are
fingerprintable.
@@ -13,10 +13,10 @@ https://www.torproject.org/projects/torbrowser/design/#fingerprinting-linkabilit
1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/layout/style/nsMediaFeatures.cpp b/layout/style/nsMediaFeatures.cpp
-index 9a65c8e..d633dd1 100644
+index 6eca06e..c68f191 100644
--- a/layout/style/nsMediaFeatures.cpp
+++ b/layout/style/nsMediaFeatures.cpp
-@@ -381,14 +381,14 @@ nsMediaFeatures::features[] = {
+@@ -383,14 +383,14 @@ nsMediaFeatures::features[] = {
nsMediaFeature::eMinMaxAllowed,
nsMediaFeature::eLength,
{ nsnull },
@@ -33,7 +33,7 @@ index 9a65c8e..d633dd1 100644
},
{
&nsGkAtoms::orientation,
-@@ -409,7 +409,7 @@ nsMediaFeatures::features[] = {
+@@ -411,7 +411,7 @@ nsMediaFeatures::features[] = {
nsMediaFeature::eMinMaxAllowed,
nsMediaFeature::eIntRatio,
{ nsnull },
@@ -42,7 +42,7 @@ index 9a65c8e..d633dd1 100644
},
{
&nsGkAtoms::color,
-@@ -455,6 +455,7 @@ nsMediaFeatures::features[] = {
+@@ -457,6 +457,7 @@ nsMediaFeatures::features[] = {
},
// Mozilla extensions
@@ -50,7 +50,7 @@ index 9a65c8e..d633dd1 100644
{
&nsGkAtoms::_moz_device_pixel_ratio,
nsMediaFeature::eMinMaxAllowed,
-@@ -467,7 +468,7 @@ nsMediaFeatures::features[] = {
+@@ -469,7 +470,7 @@ nsMediaFeatures::features[] = {
nsMediaFeature::eMinMaxNotAllowed,
nsMediaFeature::eEnumerated,
{ kOrientationKeywords },
@@ -59,7 +59,7 @@ index 9a65c8e..d633dd1 100644
},
{
&nsGkAtoms::_moz_is_resource_document,
-@@ -588,6 +589,7 @@ nsMediaFeatures::features[] = {
+@@ -590,6 +591,7 @@ nsMediaFeatures::features[] = {
{ nsnull },
GetWindowsTheme
},
@@ -68,5 +68,5 @@ index 9a65c8e..d633dd1 100644
{
nsnull,
--
-1.7.3.4
+1.7.5.4
diff --git a/src/current-patches/firefox/0013-Limit-the-number-of-fonts-per-document.patch b/src/current-patches/firefox/0013-Limit-the-number-of-fonts-per-document.patch
index 989d072..4ae2487 100644
--- a/src/current-patches/firefox/0013-Limit-the-number-of-fonts-per-document.patch
+++ b/src/current-patches/firefox/0013-Limit-the-number-of-fonts-per-document.patch
@@ -1,6 +1,6 @@
-From 27c2a4a72504fe9a08cbfdf2210b05263bd693dd Mon Sep 17 00:00:00 2001
-From: Mike Perry <mikeperry-git at fscked.org>
-Date: Tue, 27 Dec 2011 15:28:22 -0600
+From 4ed1e1c2372216cfcf377b369a9d44bb9f60ee14 Mon Sep 17 00:00:00 2001
+From: Mike Perry <mikeperry-git at torproject.org>
+Date: Wed, 1 Feb 2012 16:01:21 -0800
Subject: [PATCH 13/13] Limit the number of fonts per document.
We create two prefs:
@@ -23,19 +23,19 @@ https://www.torproject.org/projects/torbrowser/design/#fingerprinting-linkabilit
3 files changed, 119 insertions(+), 3 deletions(-)
diff --git a/layout/base/nsPresContext.cpp b/layout/base/nsPresContext.cpp
-index 0d5b1ce..ab9a7ba 100644
+index e1587db..9690d9c 100644
--- a/layout/base/nsPresContext.cpp
+++ b/layout/base/nsPresContext.cpp
@@ -98,6 +98,8 @@
- #include "nsIFrameMessageManager.h"
#include "FrameLayerBuilder.h"
#include "nsDOMMediaQueryList.h"
+ #include "nsSMILAnimationController.h"
+#include "nsString.h"
+#include "nsUnicharUtils.h"
- #ifdef MOZ_SMIL
- #include "nsSMILAnimationController.h"
-@@ -707,6 +709,10 @@ nsPresContext::GetUserPreferences()
+ #ifdef IBMBIDI
+ #include "nsBidiPresUtils.h"
+@@ -706,6 +708,10 @@ nsPresContext::GetUserPreferences()
// * use fonts?
mUseDocumentFonts =
Preferences::GetInt("browser.display.use_document_fonts") != 0;
@@ -46,7 +46,7 @@ index 0d5b1ce..ab9a7ba 100644
// * replace backslashes with Yen signs? (bug 245770)
mEnableJapaneseTransform =
-@@ -1306,6 +1312,100 @@ nsPresContext::GetDefaultFont(PRUint8 aFontID) const
+@@ -1300,6 +1306,100 @@ nsPresContext::GetDefaultFont(PRUint8 aFontID) const
return font;
}
@@ -148,7 +148,7 @@ index 0d5b1ce..ab9a7ba 100644
nsPresContext::SetFullZoom(float aZoom)
{
diff --git a/layout/base/nsPresContext.h b/layout/base/nsPresContext.h
-index 2b09cc0..fe8a926 100644
+index ecd01d8..552a69a 100644
--- a/layout/base/nsPresContext.h
+++ b/layout/base/nsPresContext.h
@@ -548,6 +548,13 @@ public:
@@ -165,7 +165,7 @@ index 2b09cc0..fe8a926 100644
PRInt32 MinFontSize() const {
return NS_MAX(mMinFontSize, mMinimumFontSizePref);
}
-@@ -1123,6 +1130,8 @@ protected:
+@@ -1117,6 +1124,8 @@ protected:
PRUint32 mInterruptChecksToSkip;
mozilla::TimeStamp mReflowStartTime;
@@ -175,10 +175,10 @@ index 2b09cc0..fe8a926 100644
unsigned mHasPendingInterrupt : 1;
unsigned mInterruptsEnabled : 1;
diff --git a/layout/style/nsRuleNode.cpp b/layout/style/nsRuleNode.cpp
-index a791723..5d65984 100644
+index 27336bf..827585a 100644
--- a/layout/style/nsRuleNode.cpp
+++ b/layout/style/nsRuleNode.cpp
-@@ -3087,6 +3087,7 @@ nsRuleNode::ComputeFontData(void* aStartStruct,
+@@ -3091,6 +3091,7 @@ nsRuleNode::ComputeFontData(void* aStartStruct,
// See if there is a minimum font-size constraint to honor
nscoord minimumFontSize = mPresContext->MinFontSize();
@@ -186,7 +186,7 @@ index a791723..5d65984 100644
if (minimumFontSize < 0)
minimumFontSize = 0;
-@@ -3098,10 +3099,10 @@ nsRuleNode::ComputeFontData(void* aStartStruct,
+@@ -3102,10 +3103,10 @@ nsRuleNode::ComputeFontData(void* aStartStruct,
// We only need to know this to determine if we have to use the
// document fonts (overriding the useDocumentFonts flag), or to
// determine if we have to override the minimum font-size constraint.
@@ -194,12 +194,12 @@ index a791723..5d65984 100644
+ if (mPresContext->IsChrome()) {
// if we are not using document fonts, but this is a XUL document,
// then we use the document fonts anyway
-- useDocumentFonts = PR_TRUE;
+- useDocumentFonts = true;
+ isXUL = PR_TRUE;
minimumFontSize = 0;
}
-@@ -3116,9 +3117,13 @@ nsRuleNode::ComputeFontData(void* aStartStruct,
+@@ -3120,9 +3121,13 @@ nsRuleNode::ComputeFontData(void* aStartStruct,
// generic?
nsFont::GetGenericID(font->mFont.name, &generic);
@@ -214,7 +214,7 @@ index a791723..5d65984 100644
// Extract the generic from the specified font family...
nsAutoString genericName;
if (!font->mFont.EnumerateFamilies(ExtractGeneric, &genericName)) {
-@@ -3154,6 +3159,8 @@ nsRuleNode::ComputeFontData(void* aStartStruct,
+@@ -3158,6 +3163,8 @@ nsRuleNode::ComputeFontData(void* aStartStruct,
minimumFontSize, font);
}
@@ -224,5 +224,5 @@ index a791723..5d65984 100644
}
--
-1.7.3.4
+1.7.5.4
More information about the tor-commits
mailing list