[or-cvs] r14731: Sort prefs. Add support for firefox 3.0rc1: fixes bugs aroun (in torbutton/trunk/src: . chrome/content components defaults/preferences)
mikeperry at seul.org
mikeperry at seul.org
Sun May 25 11:27:12 UTC 2008
Author: mikeperry
Date: 2008-05-25 07:27:12 -0400 (Sun, 25 May 2008)
New Revision: 14731
Modified:
torbutton/trunk/src/chrome/content/jshooks.js
torbutton/trunk/src/chrome/content/preferences.js
torbutton/trunk/src/chrome/content/torbutton.js
torbutton/trunk/src/components/certDialogsOverride.js
torbutton/trunk/src/components/crash-observer.js
torbutton/trunk/src/components/ignore-history.js
torbutton/trunk/src/defaults/preferences/preferences.js
torbutton/trunk/src/install.rdf
Log:
Sort prefs. Add support for firefox 3.0rc1: fixes bugs around
history leakage and hooks; sets additional prefs to disabale
history disk writes with places; fixes crash recovery and
other hooks; sets new useragent spoofing prefs.
Timezone spoofing currently NOT SUPPORTED in Firefox 3.0.
Modified: torbutton/trunk/src/chrome/content/jshooks.js
===================================================================
--- torbutton/trunk/src/chrome/content/jshooks.js 2008-05-25 10:36:19 UTC (rev 14730)
+++ torbutton/trunk/src/chrome/content/jshooks.js 2008-05-25 11:27:12 UTC (rev 14731)
@@ -105,7 +105,7 @@
// We can't define individual getters/setters for window.screen
// for some reason. works in html but not in these hooks.. No idea why
- var scr = new window.Object();
+ var scr = new Object();
var origScr = window.screen;
scr.__defineGetter__("height", function() { return window.innerHeight; });
scr.__defineGetter__("width", function() { return window.innerWidth; });
@@ -139,6 +139,8 @@
}
+ if(window.__tb_hook_date == true) { // don't feel like indenting this
+
/* Timezone fix for http://gemal.dk/browserspy/css.html */
var reparseDate = function(d, str) {
/* Rules:
@@ -301,7 +303,10 @@
with(window) {
var Date = newWrappedDate;
}
+
+ } // window.__tb_hook_date == true
+
with(window) {
XPCNativeWrapper = function(a) { return a; };
}
Modified: torbutton/trunk/src/chrome/content/preferences.js
===================================================================
--- torbutton/trunk/src/chrome/content/preferences.js 2008-05-25 10:36:19 UTC (rev 14730)
+++ torbutton/trunk/src/chrome/content/preferences.js 2008-05-25 11:27:12 UTC (rev 14731)
@@ -330,17 +330,38 @@
var tmpcnt = new Object();
var children;
var i;
+ var was_enabled = false;
+
+ torbutton_log(3, "Starting Pref reset");
- // FIXME: change this to handle people with non-default proxy settings
+ // 0. Disable tor
// 1. Clear proxy settings
// 2. Restore saved prefs
// 3. Clear torbutton settings
+ // 4. Enable tor if was previously enabled
+ // Reset Tor state to disabled.
+ var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
+ .getService(Components.interfaces.nsIWindowMediator);
+ var chrome = wm.getMostRecentWindow("navigator:browser");
+
+ // XXX Warning: The only reason this works is because of Firefox's
+ // threading model. As soon as a pref is changed, all observers
+ // are notified by that same thread, immediately. Since torbutton's
+ // security state is driven by proxy pref observers, this
+ // causes everything to be reset in a linear order. If firefox
+ // ever makes pref observers asynchonous, this will all break.
+ if(o_torprefs.getBoolPref("tor_enabled")) {
+ chrome.torbutton_disable_tor();
+ was_enabled = true;
+ }
+
+ torbutton_log(3, "Tor disabled for pref reset");
+
// XXX: Some of these are torbutton state variables that should NOT
// be reset!
children = o_torprefs.getChildList("" , tmpcnt);
for(i = 0; i < children.length; i++) {
- torbutton_log(5, "Preferences reset: "+children[i]);
if(o_torprefs.prefHasUserValue(children[i]))
o_torprefs.clearUserPref(children[i]);
}
@@ -350,7 +371,13 @@
if(o_proxyprefs.prefHasUserValue(children[i]))
o_proxyprefs.clearUserPref(children[i]);
}
+
+ torbutton_log(3, "Prefs reset");
+ if(was_enabled) {
+ chrome.torbutton_enable_tor();
+ }
+
torbutton_log(5, "Preferences reset to defaults");
torbutton_prefs_init(window.document);
}
Modified: torbutton/trunk/src/chrome/content/torbutton.js
===================================================================
--- torbutton/trunk/src/chrome/content/torbutton.js 2008-05-25 10:36:19 UTC (rev 14730)
+++ torbutton/trunk/src/chrome/content/torbutton.js 2008-05-25 11:27:12 UTC (rev 14731)
@@ -13,6 +13,8 @@
var m_tb_window_height = 0;
var m_tb_window_width = 0;
+var m_tb_ff3 = false;
+
var torbutton_window_pref_observer =
{
register: function()
@@ -118,7 +120,6 @@
case "extensions.torbutton.set_uagent":
// If the user turns off the pref, reset their user agent to
// vanilla
- // XXX: Update this with new prefs from greg's patch.
if(!m_tb_prefs.getBoolPref("extensions.torbutton.set_uagent")) {
if(m_tb_prefs.prefHasUserValue("general.appname.override"))
m_tb_prefs.clearUserPref("general.appname.override");
@@ -132,6 +133,15 @@
m_tb_prefs.clearUserPref("general.useragent.vendorSub");
if(m_tb_prefs.prefHasUserValue("general.platform.override"))
m_tb_prefs.clearUserPref("general.platform.override");
+
+ // XXX: Is this ok on ff2?
+ if(m_tb_prefs.prefHasUserValue("general.oscpu.override"))
+ m_tb_prefs.clearUserPref("general.oscpu.override");
+ if(m_tb_prefs.prefHasUserValue("general.buildID.override"))
+ m_tb_prefs.clearUserPref("general.buildID.override");
+ if(m_tb_prefs.prefHasUserValue("general.productSub.override"))
+ m_tb_prefs.clearUserPref("general.productSub.override");
+
} else {
torbutton_log(1, "Got update message, updating status");
torbutton_update_status(
@@ -247,6 +257,18 @@
function torbutton_init() {
torbutton_log(3, 'called init()');
+
+ // Determine if we are firefox 3 or not.
+ var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
+ .getService(Components.interfaces.nsIXULAppInfo);
+ var versionChecker = Components.classes["@mozilla.org/xpcom/version-comparator;1"]
+ .getService(Components.interfaces.nsIVersionComparator);
+
+ if(versionChecker.compare(appInfo.version, "3.0a1") >= 0) {
+ m_tb_ff3 = true;
+ } else {
+ m_tb_ff3 = false;
+ }
// initialize preferences before we start our prefs observer
torbutton_init_prefs();
@@ -546,6 +568,16 @@
m_tb_prefs.setCharPref("general.useragent.vendorSub",
torprefs.getCharPref("useragent_vendorSub"));
+
+ m_tb_prefs.setCharPref("general.oscpu.override",
+ torprefs.getCharPref("oscpu_override"));
+
+ m_tb_prefs.setCharPref("general.buildID.override",
+ torprefs.getCharPref("buildID_override"));
+
+ m_tb_prefs.setCharPref("general.productSub.override",
+ torprefs.getCharPref("productsub_override"));
+
} catch(e) {
torbutton_log(5, "Prefset error");
}
@@ -563,6 +595,14 @@
m_tb_prefs.clearUserPref("general.useragent.vendorSub");
if(m_tb_prefs.prefHasUserValue("general.platform.override"))
m_tb_prefs.clearUserPref("general.platform.override");
+
+ // XXX: Is this ok on ff2?
+ if(m_tb_prefs.prefHasUserValue("general.oscpu.override"))
+ m_tb_prefs.clearUserPref("general.oscpu.override");
+ if(m_tb_prefs.prefHasUserValue("general.buildID.override"))
+ m_tb_prefs.clearUserPref("general.buildID.override");
+ if(m_tb_prefs.prefHasUserValue("general.productSub.override"))
+ m_tb_prefs.clearUserPref("general.productSub.override");
} catch (e) {
// This happens because we run this from time to time
torbutton_log(3, "Prefs already cleared");
@@ -634,9 +674,11 @@
// so no need to keep it around for someone to rifle through.
m_tb_prefs.setBoolPref("browser.cache.disk.enable", !mode);
- // Disable safebrowsing in Tor. It fetches some info in cleartext
- // with no HMAC (Firefox Bug 360387)
- m_tb_prefs.setBoolPref("browser.safebrowsing.enabled", !mode);
+ // Disable safebrowsing in Tor for FF2. It fetches some info in
+ // cleartext with no HMAC (Firefox Bug 360387)
+ if(!m_tb_ff3) {
+ m_tb_prefs.setBoolPref("browser.safebrowsing.enabled", !mode);
+ }
// I think this pref is evil (and also hidden from user configuration,
// which makes it extra evil) and so therefore am disabling it
@@ -679,8 +721,17 @@
// to keep their own prefs.. Not sure what to do though..
if(mode) {
if(torprefs.getBoolPref('block_thwrite')) {
+ if(m_tb_ff3) {
+ m_tb_prefs.setIntPref("browser.history_expire_days", 0);
+ }
m_tb_prefs.setIntPref("browser.download.manager.retention", 0);
} else {
+ if(m_tb_ff3) {
+ // XXX: save user value..
+ if(m_tb_prefs.prefHasUserValue("browser.history_expire_days")) {
+ m_tb_prefs.clearUserPref("browser.history_expire_days");
+ }
+ }
m_tb_prefs.setIntPref("browser.download.manager.retention", 2);
}
@@ -693,8 +744,17 @@
}
} else {
if(torprefs.getBoolPref('block_nthwrite')) {
+ if(m_tb_ff3) {
+ m_tb_prefs.setIntPref("browser.history_expire_days", 0);
+ }
m_tb_prefs.setIntPref("browser.download.manager.retention", 0);
} else {
+ if(m_tb_ff3) {
+ // XXX: save user value..
+ if(m_tb_prefs.prefHasUserValue("browser.history_expire_days")) {
+ m_tb_prefs.clearUserPref("browser.history_expire_days");
+ }
+ }
m_tb_prefs.setIntPref("browser.download.manager.retention", 2);
}
@@ -713,17 +773,17 @@
if(mode) {
if(changed && m_tb_prefs.prefHasUserValue("plugin.disable_full_page_plugin_for_types")) {
// Update saved plugin pref
- torprefs.setCharPref("saved_full_page_plugins",
+ torprefs.setCharPref("saved.full_page_plugins",
m_tb_prefs.getCharPref("plugin.disable_full_page_plugin_for_types"));
}
// copy plugins array to pref
m_tb_prefs.setCharPref("plugin.disable_full_page_plugin_for_types",
m_tb_plugin_string);
} else {
- if(torprefs.prefHasUserValue("saved_full_page_plugins")) {
+ if(torprefs.prefHasUserValue("saved.full_page_plugins")) {
// restore saved pref
m_tb_prefs.setCharPref("plugin.disable_full_page_plugin_for_types",
- torprefs.getCharPref("saved_full_page_plugins"));
+ torprefs.getCharPref("saved.full_page_plugins"));
} else {
m_tb_prefs.clearUserPref("plugin.disable_full_page_plugin_for_types");
}
@@ -734,6 +794,31 @@
if(!changed && force_update)
return;
+ if(mode) {
+ // Disable livemark fetching on FF3
+ // XXX: save user pref
+ m_tb_prefs.setIntPref("browser.bookmarks.livemark_refresh_seconds", 0);
+ } else {
+ if(m_tb_prefs.prefHasUserValue("plugin.disable_full_page_plugin_for_types")) {
+ m_tb_prefs.clearUserPref("browser.bookmarks.livemark_refresh_seconds");
+ }
+ }
+
+ /*
+ * XXX: Windows doesn't call tzset() automatically.. Linux and MacOS
+ * both do though.. :(
+ var environ = Components.classes["@mozilla.org/process/environment;1"]
+ .getService(Components.interfaces.nsIEnvironment);
+
+ if(mode) {
+ torbutton_log(2, "Setting timezone to UTC");
+ environ.set("TZ", "UTC");
+ } else {
+ torbutton_log(2, "Unsetting timezone.");
+ environ.set("TZ", "PST+7:00");
+ }
+ */
+
// This call also has to be here for 3rd party proxy changers.
torbutton_close_on_toggle(mode);
@@ -1567,8 +1652,10 @@
if(m_tb_prefs.prefHasUserValue("browser.safebrowsing.remoteLookups"))
m_tb_prefs.clearUserPref("browser.safebrowsing.remoteLookups");
- if(m_tb_prefs.prefHasUserValue("network.security.ports.banned"))
- m_tb_prefs.clearUserPref("network.security.ports.banned");
+ if(!m_tb_ff3) {
+ if(m_tb_prefs.prefHasUserValue("network.security.ports.banned"))
+ m_tb_prefs.clearUserPref("network.security.ports.banned");
+ }
}
if((m_tb_prefs.getIntPref("extensions.torbutton.shutdown_method") == 1 &&
@@ -1995,17 +2082,30 @@
// the insertion function returning before the injected code is evaluated.
// This code seems to do what we want.
- var str2 = "window.__tb_set_uagent="+m_tb_prefs.getBoolPref('extensions.torbutton.set_uagent')+";\r\n";
- str2 += "window.__tb_oscpu=\""+m_tb_prefs.getCharPref('extensions.torbutton.oscpu_override')+"\";\r\n";
- str2 += "window.__tb_platform=\""+m_tb_prefs.getCharPref('extensions.torbutton.platform_override')+"\";\r\n";
- str2 += "window.__tb_productSub=\""+m_tb_prefs.getCharPref('extensions.torbutton.productsub_override')+"\";\r\n";
+ var str2 = "";
+ if(m_tb_ff3) {
+ str2 += "window.__tb_set_uagent=false;\r\n";
+ str2 += "window.__tb_hook_date=false;\r\n";
+ } else {
+ str2 += "window.__tb_hook_date=true;\r\n";
+ str2 += "window.__tb_set_uagent="+m_tb_prefs.getBoolPref('extensions.torbutton.set_uagent')+";\r\n";
+ str2 += "window.__tb_oscpu=\""+m_tb_prefs.getCharPref('extensions.torbutton.oscpu_override')+"\";\r\n";
+ str2 += "window.__tb_platform=\""+m_tb_prefs.getCharPref('extensions.torbutton.platform_override')+"\";\r\n";
+ str2 += "window.__tb_productSub=\""+m_tb_prefs.getCharPref('extensions.torbutton.productsub_override')+"\";\r\n";
+ }
str2 += m_tb_jshooks;
try {
torbutton_log(2, "Type of window: " + typeof(win));
torbutton_log(2, "Type of wrapped window: " + typeof(win.wrappedJSObject));
var s = new Components.utils.Sandbox(win.wrappedJSObject);
- s.window = win.wrappedJSObject;
+ // XXX: FF3 issues
+ // http://developer.mozilla.org/en/docs/XPConnect_wrappers#XPCSafeJSObjectWrapper
+ // http://developer.mozilla.org/en/docs/Code_snippets:Interaction_between_privileged_and_non-privileged_pages
+ s.window = win.wrappedJSObject;
+// s.__proto__ = win.wrappedJSObject;
+ //var result = Components.utils.evalInSandbox('var origDate = Date; window.alert(new origDate())', s);
+ //result = 23;
var result = Components.utils.evalInSandbox(str2, s);
if(result === 23) { // secret confirmation result code.
torbutton_log(3, "Javascript hooks applied successfully at: " + win.location);
Modified: torbutton/trunk/src/components/certDialogsOverride.js
===================================================================
--- torbutton/trunk/src/components/certDialogsOverride.js 2008-05-25 10:36:19 UTC (rev 14730)
+++ torbutton/trunk/src/components/certDialogsOverride.js 2008-05-25 11:27:12 UTC (rev 14731)
@@ -83,9 +83,7 @@
var call;
if(params.length) call = "("+params.join().replace(/(?:)/g,function(){return "p"+(++x)})+")";
else call = "()";
- var fun = "function "+call+"{if (arguments.length < "+wrapped[method].length+") throw Components.results.NS_ERROR_XPC_NOT_ENOUGH_ARGS; return wrapped."+method+".apply(wrapped, arguments);}";
- // already in scope
- //var Components = this.Components;
+ var fun = "(function "+call+"{if (arguments.length < "+wrapped[method].length+") throw Components.results.NS_ERROR_XPC_NOT_ENOUGH_ARGS; return wrapped."+method+".apply(wrapped, arguments);})";
newObj[method] = eval(fun);
//dump("wrapped: "+method+": "+fun+"\n");
} else {
@@ -99,6 +97,7 @@
},
confirmDownloadCACert: function(ctx, cert, trust) {
+ this.logger.log(2, "Cert window");
if(this._prefs.getBoolPref("extensions.torbutton.block_cert_dialogs")) {
this.logger.log(3, "Blocking cert window");
return true;
Modified: torbutton/trunk/src/components/crash-observer.js
===================================================================
--- torbutton/trunk/src/components/crash-observer.js 2008-05-25 10:36:19 UTC (rev 14730)
+++ torbutton/trunk/src/components/crash-observer.js 2008-05-25 11:27:12 UTC (rev 14731)
@@ -90,7 +90,7 @@
var x = 0;
if(params.length) call = "("+params.join().replace(/(?:)/g,function(){return "p"+(++x)})+")";
else call = "()";
- var fun = "function "+call+"{if (arguments.length < "+wrapped[method].length+") throw Components.results.NS_ERROR_XPC_NOT_ENOUGH_ARGS; return wrapped."+method+".apply(wrapped, arguments);}";
+ var fun = "(function "+call+"{if (arguments.length < "+wrapped[method].length+") throw Components.results.NS_ERROR_XPC_NOT_ENOUGH_ARGS; return wrapped."+method+".apply(wrapped, arguments);})";
// already in scope
//var Components = this.Components;
newObj[method] = eval(fun);
@@ -119,6 +119,9 @@
doRestore: function() {
var ret = false;
+ // FIXME: This happens right after an extension upgrade too. But maybe
+ // that's what we want.
+
// This is so lame. But the exposed API is braindead so it
// must be hacked around
dump("new doRestore\n");
Modified: torbutton/trunk/src/components/ignore-history.js
===================================================================
--- torbutton/trunk/src/components/ignore-history.js 2008-05-25 10:36:19 UTC (rev 14730)
+++ torbutton/trunk/src/components/ignore-history.js 2008-05-25 11:27:12 UTC (rev 14731)
@@ -123,8 +123,19 @@
* Copies methods from the true history object we are wrapping
*/
copyMethods: function(wrapped) {
+ // XXX: "Not all histories implement all methods"? wtf?? It's a
+ // damned service. how are there more than one?
+ // - http://developer.mozilla.org/en/docs/nsIGlobalHistory3
var mimic = function(newObj, method) {
- if(typeof(wrapped[method]) == "function") {
+ if(method == "getURIGeckoFlags" || method == "setURIGeckoFlags") {
+ // Hack to deal with unimplemented methods.
+ // XXX: the API docs say to RETURN the not implemented error
+ // for these functions as opposed to throw.. Also,
+ // what other "histories" actually DO implement these functions?
+ // Did we just break them somehow?
+ var fun = "(function (){return Components.results.NS_ERROR_NOT_IMPLEMENTED; })";
+ newObj[method] = eval(fun);
+ } else if(typeof(wrapped[method]) == "function") {
// Code courtesy of timeless:
// http://www.webwizardry.net/~timeless/windowStubs.js
var params = [];
@@ -133,11 +144,8 @@
var call;
if(params.length) call = "("+params.join().replace(/(?:)/g,function(){return "p"+(++x)})+")";
else call = "()";
- var fun = "function "+call+"{if (arguments.length < "+wrapped[method].length+") throw Components.results.NS_ERROR_XPC_NOT_ENOUGH_ARGS; return wrapped."+method+".apply(wrapped, arguments);}";
- // already in scope
- //var Components = this.Components;
+ var fun = "(function "+call+"{if (arguments.length < "+wrapped[method].length+") throw Components.results.NS_ERROR_XPC_NOT_ENOUGH_ARGS; return wrapped."+method+".apply(wrapped, arguments);})";
newObj[method] = eval(fun);
- //dump("wrapped: "+method+": "+fun+"\n");
} else {
newObj.__defineGetter__(method, function() { return wrapped[method]; });
newObj.__defineSetter__(method, function(val) { wrapped[method] = val; });
Modified: torbutton/trunk/src/defaults/preferences/preferences.js
===================================================================
--- torbutton/trunk/src/defaults/preferences/preferences.js 2008-05-25 10:36:19 UTC (rev 14730)
+++ torbutton/trunk/src/defaults/preferences/preferences.js 2008-05-25 11:27:12 UTC (rev 14731)
@@ -1,9 +1,14 @@
-// pref("extensions.torbutton.prompt_before_visiting_excluded_sites",true);
+// debug prefs
pref("extensions.torbutton.debug",true);
pref("extensions.torbutton.loglevel",4);
pref("extensions.torbutton.logmethod",2); // 0=stdout, 1=errorconsole, 2=debuglog
+
+// Display prefs
pref("extensions.torbutton.display_panel",true);
pref("extensions.torbutton.panel_style",'text');
+pref("extensions.{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}.description", "chrome://torbutton/locale/torbutton.properties");
+
+// proxy prefs
pref("extensions.torbutton.settings_method",'recommended');
pref("extensions.torbutton.use_privoxy",true);
pref("extensions.torbutton.http_proxy","");
@@ -16,6 +21,9 @@
pref("extensions.torbutton.gopher_port",0);
pref("extensions.torbutton.socks_host","");
pref("extensions.torbutton.socks_port",0);
+
+// XXX: wtf prefs? These seem not actually connected, but govern
+// if user wants own tor proxy settings
pref("extensions.torbutton.custom.http_proxy","");
pref("extensions.torbutton.custom.http_port",0);
pref("extensions.torbutton.custom.https_proxy","");
@@ -26,6 +34,8 @@
pref("extensions.torbutton.custom.gopher_port",0);
pref("extensions.torbutton.custom.socks_host","");
pref("extensions.torbutton.custom.socks_port",0);
+
+// saved prefs:
pref("extensions.torbutton.saved.type", 0);
pref("extensions.torbutton.saved.http_proxy", "");
pref("extensions.torbutton.saved.http_port",0);
@@ -39,10 +49,16 @@
pref("extensions.torbutton.saved.socks_version",0);
pref("extensions.torbutton.saved.socks_port",0);
pref("extensions.torbutton.saved.cookieLifetime",0);
-pref("extensions.{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}.description", "chrome://torbutton/locale/torbutton.properties");
-// XXX: Hrmm, what is the convention for above? do some of these belong in
-// 'saved'?
+pref("extensions.torbutton.saved.full_page_plugins","");
+
+// State prefs:
pref("extensions.torbutton.tor_enabled",false);
+pref("extensions.torbutton.startup",false);
+pref("extensions.torbutton.crashed",false);
+pref("extensions.torbutton.block_cert_dialogs",false);
+pref("extensions.torbutton.asked_ca_disable",false);
+
+// Security prefs:
pref("extensions.torbutton.no_tor_plugins",true);
pref("extensions.torbutton.clear_cookies",false);
pref("extensions.torbutton.cookie_jars",true);
@@ -71,25 +87,23 @@
pref("extensions.torbutton.shutdown_method",1); // 0=none, 1=tor, 2=all
pref("extensions.torbutton.block_tforms",true);
pref("extensions.torbutton.block_ntforms",false);
-pref("extensions.torbutton.startup",false);
-pref("extensions.torbutton.crashed",false);
pref("extensions.torbutton.clear_http_auth",true);
pref("extensions.torbutton.close_tor",false);
pref("extensions.torbutton.close_nontor",false);
pref("extensions.torbutton.block_js_history",true);
pref("extensions.torbutton.resize_on_toggle",true);
+pref("extensions.torbutton.banned_ports","8118,8123,9050,9051");
+pref("extensions.torbutton.block_file_net",true);
+pref("extensions.torbutton.jar_certs",false);
+pref("extensions.torbutton.jar_ca_certs",false);
+
+// User agent prefs:
pref("extensions.torbutton.appname_override","Netscape");
pref("extensions.torbutton.appversion_override","5.0 (Windows; en-US)");
pref("extensions.torbutton.platform_override","Win32");
pref("extensions.torbutton.oscpu_override", "Windows NT 5.1");
pref("extensions.torbutton.useragent_override", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14");
pref("extensions.torbutton.productsub_override","20080404");
+pref("extensions.torbutton.buildID_override","0");
pref("extensions.torbutton.useragent_vendor", "");
pref("extensions.torbutton.useragent_vendorSub","");
-pref("extensions.torbutton.banned_ports","8118,8123,9050,9051");
-pref("extensions.torbutton.block_file_net",true);
-pref("extensions.torbutton.jar_certs",false);
-pref("extensions.torbutton.jar_ca_certs",false);
-pref("extensions.torbutton.asked_ca_disable",false);
-pref("extensions.torbutton.block_cert_dialogs",false);
-pref("extensions.torbutton.saved_full_page_plugins","");
Modified: torbutton/trunk/src/install.rdf
===================================================================
--- torbutton/trunk/src/install.rdf 2008-05-25 10:36:19 UTC (rev 14730)
+++ torbutton/trunk/src/install.rdf 2008-05-25 11:27:12 UTC (rev 14731)
@@ -6,7 +6,7 @@
<em:name>Torbutton</em:name>
<em:creator>Scott Squires & Mike Perry</em:creator>
<em:id>{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}</em:id>
- <em:version>1.1.18alpha</em:version>
+ <em:version>1.1.18alpha-dev</em:version>
<em:homepageURL>https://torbutton.torproject.org/dev/</em:homepageURL>
<em:optionsURL>chrome://torbutton/content/preferences.xul</em:optionsURL>
<em:iconURL>chrome://torbutton/skin/tor.png</em:iconURL>
@@ -16,7 +16,7 @@
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>2.0</em:minVersion>
- <em:maxVersion>3.0b5</em:maxVersion>
+ <em:maxVersion>3.1a1pre</em:maxVersion>
</Description>
</em:targetApplication>
More information about the tor-commits
mailing list