[tor-commits] [tor-launcher/master] ESR24 compat: compute correct paths for tor files.

mikeperry at torproject.org mikeperry at torproject.org
Wed Oct 23 23:34:46 UTC 2013


commit b7beaadb7c1394eafcc39d764346d4ea57294931
Author: Kathy Brade <brade at pearlcrescent.com>
Date:   Tue Oct 22 11:53:30 2013 -0400

    ESR24 compat: compute correct paths for tor files.
    
    Add a version check so Tor Launcher will find tor files in older versions
    of Firefox (as well as in Firefox 21 and newer).
---
 src/components/tl-process.js |   10 +++++++---
 src/modules/tl-util.jsm      |    9 +++++++++
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/src/components/tl-process.js b/src/components/tl-process.js
index aef961c..a1ec60b 100644
--- a/src/components/tl-process.js
+++ b/src/components/tl-process.js
@@ -528,9 +528,13 @@ TorProcessService.prototype =
           else
           {
             // For Firefox, paths are relative to the top of the TBB install.
-            // In FF21+, CurProcD is the "browser" directory that is next to
-            // the firefox binary, e.g., <TorFileBaseDir>/Browser/browser
-            var tbbBrowserDepth = 2; // Windows and Linux
+            var tbbBrowserDepth = 1; // Windows and Linux
+            if (TorLauncherUtil.isAppVersionAtLeast("21.0"))
+            {
+              // In FF21+, CurProcD is the "browser" directory that is next to
+              // the firefox binary, e.g., <TorFileBaseDir>/Browser/browser
+              ++tbbBrowserDepth;
+            }
             if (TorLauncherUtil.isMac)
               tbbBrowserDepth += 4;
 
diff --git a/src/modules/tl-util.jsm b/src/modules/tl-util.jsm
index 67cbfcd..e6298e8 100644
--- a/src/modules/tl-util.jsm
+++ b/src/modules/tl-util.jsm
@@ -26,6 +26,15 @@ let TorLauncherUtil =  // Public
     return ("WINNT" == TLUtilInternal._OS);
   },
 
+  isAppVersionAtLeast: function(aVersion)
+  {
+    var appInfo = Cc["@mozilla.org/xre/app-info;1"]
+                    .getService(Ci.nsIXULAppInfo);
+    var vc = Cc["@mozilla.org/xpcom/version-comparator;1"]
+               .getService(Ci.nsIVersionComparator);
+    return (vc.compare(appInfo.version, aVersion) >= 0);
+  },
+
   // Error Reporting / Prompting
   showAlert: function(aParentWindow, aMsg)
   {



More information about the tor-commits mailing list