[or-cvs] r11532: Some log messages to track down a potential state mismatch i (torbutton/trunk/src/chrome/content)

mikeperry at seul.org mikeperry at seul.org
Thu Sep 20 07:10:02 UTC 2007


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');
 }
 



More information about the tor-commits mailing list