[tor-commits] [meek/webextension] Merge branch 'master' into webextension
dcf at torproject.org
dcf at torproject.org
Thu Mar 7 23:50:17 UTC 2019
commit 7530db5bb8ba90c3c895fbc166e8aba9f984868c
Merge: 068306e 975c534
Author: David Fifield <david at bamsoftware.com>
Date: Thu Mar 7 15:54:11 2019 -0700
Merge branch 'master' into webextension
meek-client-torbrowser/meek-client-torbrowser.go | 84 ++++++++++++----------
meek-client-torbrowser/protocol_test.go | 89 ++++++++++++++++++++++++
2 files changed, 138 insertions(+), 35 deletions(-)
diff --cc meek-client-torbrowser/meek-client-torbrowser.go
index 48b055c,16f0ebc..37dcf6e
--- a/meek-client-torbrowser/meek-client-torbrowser.go
+++ b/meek-client-torbrowser/meek-client-torbrowser.go
@@@ -203,6 -203,30 +203,30 @@@ func isBrowserProfileUpToDate(templateP
// the path to the Firefox profile to use. Otherwise, the profile is chosen in a
// platform-specific way (see linux.go, mac.go, windows.go).
func runFirefox() (cmd *exec.Cmd, stdout io.Reader, err error) {
+ // Unset environment variables that Firefox sets after a restart (as
+ // caused by, for example, an update or the installation of an add-on).
- // XRE_PROFILE_PATH, in particular, overrides the -profile option that
++ // XRE_PROFILE_PATH, in particular, overrides the --profile option that
+ // runFirefox sets, causing Firefox to run with profile.default instead
+ // of profile.meek-http-helper, which conflicts with the profile.default
+ // that is already running. See https://bugs.torproject.org/13247,
+ // particularly #comment:17 and #comment:18. The environment variable
+ // names come from
+ // https://hg.mozilla.org/mozilla-central/file/cfde3603b020/toolkit/xre/nsAppRunner.cpp#l3941
+ for _, varname := range []string{
+ "XRE_PROFILE_PATH",
+ "XRE_PROFILE_LOCAL_PATH",
+ "XRE_PROFILE_NAME",
+ "XRE_START_OFFLINE",
+ "NO_EM_RESTART",
+ "XUL_APP_FILE",
+ "XRE_BINARY_PATH",
+ } {
+ err = os.Unsetenv(varname)
+ if err != nil {
+ return
+ }
+ }
+
// Mac OS X needs absolute paths for firefox and for the profile.
var absFirefoxPath string
absFirefoxPath, err = filepath.Abs(firefoxPath)
More information about the tor-commits
mailing list