commit 98fc1549183077ef6076af93fddbce1991271b21 Author: Kathy Brade brade@pearlcrescent.com Date: Tue Apr 29 13:36:53 2014 -0400
Bug #11641: change TBB directory structure to be more like Firefox's.
Account for new directory structure in getTorFile(). On Windows, prepend the directory that contains tor.exe to PATH. --- src/components/tl-process.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/components/tl-process.js b/src/components/tl-process.js index 4316a76..fb795dd 100644 --- a/src/components/tl-process.js +++ b/src/components/tl-process.js @@ -367,6 +367,19 @@ TorProcessService.prototype = args.push("1"); }
+ // On Windows, prepend the Tor program directory to PATH. This is + // needed so that pluggable transports can find OpenSSL DLLs, etc. + // See https://trac.torproject.org/projects/tor/ticket/10845 + if (TorLauncherUtil.isWindows) + { + var env = Cc["@mozilla.org/process/environment;1"] + .getService(Ci.nsIEnvironment); + var path = exeFile.parent.path; + if (env.exists("PATH")) + path += ";" + env.get("PATH"); + env.set("PATH", path); + } + this.mTorProcessStatus = this.kStatusStarting;
var p = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); @@ -646,7 +659,7 @@ TorProcessService.prototype = else { // For Firefox, paths are relative to the top of the TBB install. - var tbbBrowserDepth = 1; // Windows and Linux + var tbbBrowserDepth = 0; // Windows and Linux if (TorLauncherUtil.isAppVersionAtLeast("21.0")) { // In FF21+, CurProcD is the "browser" directory that is next to @@ -654,7 +667,7 @@ TorProcessService.prototype = ++tbbBrowserDepth; } if (TorLauncherUtil.isMac) - tbbBrowserDepth += 4; + tbbBrowserDepth += 2;
topDir = Cc["@mozilla.org/file/directory_service;1"] .getService(Ci.nsIProperties).get("CurProcD", Ci.nsIFile); @@ -667,6 +680,7 @@ TorProcessService.prototype = } }
+ topDir.append("TorBrowser"); this.mTorFileBaseDir = topDir; }