[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r11532: Some log messages to track down a potential state mismatch i (torbutton/trunk/src/chrome/content)
Author: mikeperry
Date: 2007-09-20 03:10:02 -0400 (Thu, 20 Sep 2007)
New Revision: 11532
Modified:
torbutton/trunk/src/chrome/content/preferences.js
torbutton/trunk/src/chrome/content/preferences.xul
torbutton/trunk/src/chrome/content/torbutton.js
torbutton/trunk/src/chrome/content/torbutton_util.js
Log:
Some log messages to track down a potential state mismatch
issue, and a "Restore Defaults" button.
Modified: torbutton/trunk/src/chrome/content/preferences.js
===================================================================
--- torbutton/trunk/src/chrome/content/preferences.js 2007-09-20 04:54:50 UTC (rev 11531)
+++ torbutton/trunk/src/chrome/content/preferences.js 2007-09-20 07:10:02 UTC (rev 11532)
@@ -271,3 +271,26 @@
// if tor settings were initially active, update the active settings to reflect any changes
if (tor_enabled) torbutton_activate_tor_settings();
}
+
+function torbutton_prefs_reset_defaults() {
+ var o_torprefs = torbutton_get_prefbranch('extensions.torbutton.');
+ var o_proxyprefs = torbutton_get_prefbranch('network.proxy.');
+ var tmpcnt = new Object();
+ var children;
+ var i;
+
+ 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]);
+ }
+
+ children = o_proxyprefs.getChildList("" , tmpcnt);
+ for(i = 0; i < children.length; i++) {
+ if(o_proxyprefs.prefHasUserValue(children[i]))
+ o_proxyprefs.clearUserPref(children[i]);
+ }
+ torbutton_log(5, "Preferences reset to defaults");
+ torbutton_prefs_init(window.document);
+}
Modified: torbutton/trunk/src/chrome/content/preferences.xul
===================================================================
--- torbutton/trunk/src/chrome/content/preferences.xul 2007-09-20 04:54:50 UTC (rev 11531)
+++ torbutton/trunk/src/chrome/content/preferences.xul 2007-09-20 07:10:02 UTC (rev 11532)
@@ -7,7 +7,9 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
title="&torbutton.prefs.title;"
- buttons="accept,cancel"
+ buttons="accept,cancel,extra1"
+ buttonlabelextra1="Restore Defaults"
+ ondialogextra1="torbutton_prefs_reset_defaults();"
persist="screenX screenY"
onload="torbutton_prefs_init(document)"
ondialogaccept="torbutton_prefs_save(document)" >
Modified: torbutton/trunk/src/chrome/content/torbutton.js
===================================================================
--- torbutton/trunk/src/chrome/content/torbutton.js 2007-09-20 04:54:50 UTC (rev 11531)
+++ torbutton/trunk/src/chrome/content/torbutton.js 2007-09-20 07:10:02 UTC (rev 11532)
@@ -61,6 +61,7 @@
case "network.proxy.share_proxy_settings":
case "network.proxy.socks_remote_dns":
case "network.proxy.type":
+ torbutton_log(1, "Got update message, setting status");
torbutton_set_status();
break;
case "extensions.torbutton.disable_referer":
@@ -78,6 +79,7 @@
case "extensions.torbutton.shutdown_method":
case "extensions.torbutton.disable_sessionstore":
case "extensions.torbutton.spoof_english":
+ torbutton_log(1, "Got update message, updating status");
torbutton_update_status(
m_tb_prefs.getBoolPref("extensions.torbutton.tor_enabled"),
true);
@@ -302,14 +304,19 @@
liveprefs = torbutton_get_prefbranch('network.proxy.');
savprefs = torbutton_get_prefbranch('extensions.torbutton.saved.');
- if (!liveprefs || !savprefs) return;
+ if (!liveprefs || !savprefs) {
+ torbutton_log(4, 'Prefbranch error');
+ return;
+ }
+ torbutton_log(2, 'saving nontor settings');
savprefs.setIntPref('type', liveprefs.getIntPref('type'));
savprefs.setCharPref('http_proxy', liveprefs.getCharPref('http'));
savprefs.setIntPref('http_port', liveprefs.getIntPref('http_port'));
savprefs.setCharPref('https_proxy', liveprefs.getCharPref('ssl'));
savprefs.setIntPref('https_port', liveprefs.getIntPref('ssl_port'));
savprefs.setCharPref('ftp_proxy', liveprefs.getCharPref('ftp'));
+ torbutton_log(1, 'half-way');
savprefs.setIntPref('ftp_port', liveprefs.getIntPref('ftp_port'));
savprefs.setCharPref('gopher_proxy', liveprefs.getCharPref('gopher'));
savprefs.setIntPref('gopher_port', liveprefs.getIntPref('gopher_port'));
@@ -319,8 +326,11 @@
try { // ff-0.9 doesn't have share_proxy_settings
savprefs.setBoolPref('share_proxy_settings', liveprefs.getBoolPref('share_proxy_settings'));
} catch(e) {}
+
+ torbutton_log(1, 'almost there');
if (torbutton_check_socks_remote_dns())
savprefs.setBoolPref('socks_remote_dns', liveprefs.getBoolPref('socks_remote_dns'));
+ torbutton_log(2, 'Non-tor settings saved');
}
function torbutton_restore_nontor_settings()
@@ -330,14 +340,19 @@
liveprefs = torbutton_get_prefbranch('network.proxy.');
savprefs = torbutton_get_prefbranch('extensions.torbutton.saved.');
- if (!liveprefs || !savprefs) return;
+ if (!liveprefs || !savprefs) {
+ torbutton_log(4, 'Prefbranch error');
+ return;
+ }
+ torbutton_log(2, 'restoring nontor settings');
liveprefs.setIntPref('type', savprefs.getIntPref('type'));
liveprefs.setCharPref('http', savprefs.getCharPref('http_proxy'));
liveprefs.setIntPref('http_port', savprefs.getIntPref('http_port'));
liveprefs.setCharPref('ssl', savprefs.getCharPref('https_proxy'));
liveprefs.setIntPref('ssl_port', savprefs.getIntPref('https_port'));
liveprefs.setCharPref('ftp', savprefs.getCharPref('ftp_proxy'));
+ torbutton_log(1, 'half-way there');
liveprefs.setIntPref('ftp_port', savprefs.getIntPref('ftp_port'));
liveprefs.setCharPref('gopher', savprefs.getCharPref('gopher_proxy'));
liveprefs.setIntPref('gopher_port', savprefs.getIntPref('gopher_port'));
@@ -347,12 +362,11 @@
try { // ff-0.9 doesn't have share_proxy_settings
liveprefs.setBoolPref('share_proxy_settings', savprefs.getBoolPref('share_proxy_settings'));
} catch(e) {}
+
+ torbutton_log(1, 'almost there');
if (torbutton_check_socks_remote_dns())
liveprefs.setBoolPref('socks_remote_dns', savprefs.getBoolPref('socks_remote_dns'));
-
- // FIXME: hrmm.. this kinda sucks
- var torprefs = torbutton_get_prefbranch('extensions.torbutton.');
-
+ torbutton_log(2, 'settings restored');
}
function torbutton_disable_tor()
Modified: torbutton/trunk/src/chrome/content/torbutton_util.js
===================================================================
--- torbutton/trunk/src/chrome/content/torbutton_util.js 2007-09-20 04:54:50 UTC (rev 11531)
+++ torbutton/trunk/src/chrome/content/torbutton_util.js 2007-09-20 07:10:02 UTC (rev 11532)
@@ -19,7 +19,7 @@
}
function torbutton_log(nLevel, sMsg) {
- if(!m_tb_debug) return;
+ if(!m_tb_debug) return true;
var rDate = new Date();
if (m_tb_logger) {
@@ -29,6 +29,10 @@
} else if (nLevel >= m_tb_loglevel) {
dump(rDate.getTime()+': '+sMsg+"\n");
}
+
+ // So we can use it in boolean expressions to determine where the
+ // short-circuit is..
+ return true;
}
// get a preferences branch object
@@ -65,7 +69,7 @@
// check if this version of Firefox has the socks_remote_dns option
try {
o_prefbranch.getBoolPref('socks_remote_dns');
- torbutton_log(3, "socks_remote_dns is available");
+ torbutton_log(2, "socks_remote_dns is available");
return true;
} catch (rErr) {
// no such preference
@@ -77,30 +81,54 @@
function torbutton_check_status() {
var liveprefs = false;
var torprefs = false;
+ torbutton_log(1, "Check status");
liveprefs = torbutton_get_prefbranch('network.proxy.');
torprefs = torbutton_get_prefbranch('extensions.torbutton.');
- if (!liveprefs || !torprefs) return;
+ if (!torprefs) {
+ torbutton_log(5, "Failed to get torprefs!");
+ return false;
+ }
+
+ if (!liveprefs) {
+ torbutton_log(5, "Failed to get lifeprefs!");
+ return false;
+ }
+
if (torbutton_check_socks_remote_dns())
remote_dns = liveprefs.getBoolPref("socks_remote_dns");
else
remote_dns = true;
- return ( (liveprefs.getIntPref("type") == 1) &&
- (liveprefs.getCharPref("http") == torprefs.getCharPref('http_proxy')) &&
- (liveprefs.getIntPref("http_port") == torprefs.getIntPref('http_port')) &&
- (liveprefs.getCharPref("ssl") == torprefs.getCharPref('https_proxy')) &&
- (liveprefs.getIntPref("ssl_port") == torprefs.getIntPref('https_port')) &&
- (liveprefs.getCharPref("ftp") == torprefs.getCharPref('ftp_proxy')) &&
- (liveprefs.getIntPref("ftp_port") == torprefs.getIntPref('ftp_port')) &&
- (liveprefs.getCharPref("gopher") == torprefs.getCharPref('gopher_proxy')) &&
- (liveprefs.getIntPref("gopher_port") == torprefs.getIntPref('gopher_port')) &&
- (liveprefs.getCharPref("socks") == torprefs.getCharPref('socks_host')) &&
- (liveprefs.getIntPref("socks_port") == torprefs.getIntPref('socks_port')) &&
- (liveprefs.getIntPref("socks_version") == 5) &&
- (liveprefs.getBoolPref("share_proxy_settings") == false) &&
- (remote_dns == true) );
+ return ((liveprefs.getIntPref("type") == 1) &&
+ torbutton_log(1, "Type is true") &&
+ (liveprefs.getCharPref("http") == torprefs.getCharPref('http_proxy')) &&
+ torbutton_log(1, "Http proxy") &&
+ (liveprefs.getIntPref("http_port") == torprefs.getIntPref('http_port')) &&
+ torbutton_log(1, "Http port") &&
+ (liveprefs.getCharPref("ssl") == torprefs.getCharPref('https_proxy')) &&
+ torbutton_log(1, "ssl proxy") &&
+ (liveprefs.getIntPref("ssl_port") == torprefs.getIntPref('https_port')) &&
+ torbutton_log(1, "ssl port") &&
+ (liveprefs.getCharPref("ftp") == torprefs.getCharPref('ftp_proxy')) &&
+ torbutton_log(1, "ftp proxy") &&
+ (liveprefs.getIntPref("ftp_port") == torprefs.getIntPref('ftp_port')) &&
+ torbutton_log(1, "ftp port") &&
+ (liveprefs.getCharPref("gopher") == torprefs.getCharPref('gopher_proxy')) &&
+ torbutton_log(1, "gopher proxy") &&
+ (liveprefs.getIntPref("gopher_port") == torprefs.getIntPref('gopher_port')) &&
+ torbutton_log(1, "gopher port") &&
+ (liveprefs.getCharPref("socks") == torprefs.getCharPref('socks_host')) &&
+ torbutton_log(1, "socks proxy") &&
+ (liveprefs.getIntPref("socks_port") == torprefs.getIntPref('socks_port')) &&
+ torbutton_log(1, "socks port") &&
+ (liveprefs.getIntPref("socks_version") == 5) &&
+ torbutton_log(1, "socks version") &&
+ (liveprefs.getBoolPref("share_proxy_settings") == false) &&
+ torbutton_log(1, "share proxy settins") &&
+ (remote_dns == true)
+ && torbutton_log(1, "remote_dns"));
}
function torbutton_activate_tor_settings()
@@ -110,14 +138,19 @@
liveprefs = torbutton_get_prefbranch('network.proxy.');
torprefs = torbutton_get_prefbranch('extensions.torbutton.');
- if (!liveprefs || !torprefs) return;
+ if (!liveprefs || !torprefs) {
+ torbutton_log(4, 'Prefbranch error');
+ return;
+ }
+ torbutton_log(2, 'Activate tor settings');
liveprefs.setCharPref('http', torprefs.getCharPref('http_proxy'));
liveprefs.setIntPref('http_port', torprefs.getIntPref('http_port'));
liveprefs.setCharPref('ssl', torprefs.getCharPref('https_proxy'));
liveprefs.setIntPref('ssl_port', torprefs.getIntPref('https_port'));
liveprefs.setCharPref('ftp', torprefs.getCharPref('ftp_proxy'));
liveprefs.setIntPref('ftp_port', torprefs.getIntPref('ftp_port'));
+ torbutton_log(1, 'Half-way there');
liveprefs.setCharPref('gopher', torprefs.getCharPref('gopher_proxy'));
liveprefs.setIntPref('gopher_port', torprefs.getIntPref('gopher_port'));
liveprefs.setCharPref('socks', torprefs.getCharPref('socks_host'));
@@ -128,5 +161,6 @@
liveprefs.setBoolPref('socks_remote_dns', true);
}
liveprefs.setIntPref('type', 1);
+ torbutton_log(2, 'Done activating tor settings');
}