[or-cvs] r20091: {torbutton} Add chrome protection function to protect against discovery (torbutton/trunk/src/components)
mikeperry at seul.org
mikeperry at seul.org
Mon Jul 20 01:33:10 UTC 2009
Author: mikeperry
Date: 2009-07-19 21:33:09 -0400 (Sun, 19 Jul 2009)
New Revision: 20091
Modified:
torbutton/trunk/src/components/cssblocker.js
Log:
Add chrome protection function to protect against discovery
of other addons. Patch by Sebastian Lisken.
Modified: torbutton/trunk/src/components/cssblocker.js
===================================================================
--- torbutton/trunk/src/components/cssblocker.js 2009-07-19 17:54:11 UTC (rev 20090)
+++ torbutton/trunk/src/components/cssblocker.js 2009-07-20 01:33:09 UTC (rev 20091)
@@ -101,6 +101,8 @@
var hostFreeSchemes = { "resource":true, "data":true, "cid":true,
"file":true, "view-source":true, "about":true};
+var protectedChromeHosts = { "torbutton": true };
+
function ContentPolicy() {
this.logger = Components.classes["@torproject.org/torbutton-logger;1"]
.getService(Components.interfaces.nsISupports).wrappedJSObject;
@@ -126,6 +128,7 @@
this.block_nontor_file_net = this._prefs.getBoolPref("extensions.torbutton.block_nontor_file_net");
this.no_tor_plugins = this._prefs.getBoolPref("extensions.torbutton.no_tor_plugins");
+ this.wrappedJSObject = this;
return;
}
@@ -256,7 +259,7 @@
contentLocation.spec);
return ok;
} else {
- if (this.tor_enabling || ("torbutton" == targetHost)) {
+ if (this.tor_enabling || (targetHost in protectedChromeHosts)) {
this.logger.eclog(4, "Blocking local request from: "
+requestOrigin.spec+" ("
+requestOrigin.scheme+") for: "+
@@ -413,6 +416,11 @@
this.no_tor_plugins = this._prefs.getBoolPref("extensions.torbutton.no_tor_plugins");
break;
}
+ },
+
+ // API to add another addon to be protected from discovery
+ addProtectedChromeHost: function(name) {
+ protectedChromeHosts[name] = true;
}
};
More information about the tor-commits
mailing list