Bug 42160: Allow specifying a TOR_PROVIDER=none to configure only the proxy settings during the TorProviderBuilder initialization.
Merge Info
Related Issues
- #42160 (closed)
- mullvad-browser#xxxxx
- tor-browser-build#xxxxx
Backporting
Timeline
-
Immediate: patchset needed as soon as possible -
Next Minor Stable Release: patchset that needs to be verified in nightly before backport -
Eventually: patchset that needs to be verified in alpha before backport -
No Backport (preferred): patchset for the next major stable
(Optional) Justification
-
Emergency security update: patchset fixes CVEs, 0-days, etc -
Censorship event: patchset enables censorship circumvention -
Critical bug-fix: patchset fixes a bug in core-functionality -
Consistency: patchset which would make development easier if it were in both the alpha and release branches; developer tools, build system changes, etc -
Sponsor required: patchset required for sponsor -
Other: please explain
Merging
-
Merge to tor-browser
-!fixups
totor-browser
-specific commits, new features, security backports -
Merge to base-browser
-!fixups
tobase-browser
-specific commits, new features to be shared withmullvad-browser
, and security backports-
NOTE: if your changeset includes patches to both
base-browser
andtor-browser
please clearly label in the change description which commits should be cherry-picked tobase-browser
after merging
-
NOTE: if your changeset includes patches to both
Issue Tracking
-
Link resolved issues with appropriate Release Prep issue for changelog generation
Review
Request Reviewer
-
Request review from an applications developer depending on modified system: -
NOTE: if the MR modifies multiple areas, please
/cc
all the relevant reviewers (since gitlab only allows 1 reviewer) - accessibility : henry
- android : clairehurst, dan
- build system : boklm
- extensions : ma1
- firefox internals (XUL/JS/XPCOM) : ma1
- fonts : pierov
- frontend (implementation) : henry
- frontend (review) : donuts, richard
- localization : henry, pierov
- macos : clairehurst, dan
- nightly builds : boklm
- rebases/release-prep : dan, ma1, pierov, richard
- security : ma1
- signing : boklm, richard
- updater : pierov
- misc/other : pierov, richard
-
NOTE: if the MR modifies multiple areas, please
Change Description
In the refactor of the Tor integration, I missed a possible scenario: no control port, but environment variables to configure the SOCKS port.
However, I don't think it makes sense to build a TorProvider
for that, since it expects to be connected to a control port.
Instead, we could start already to differentiate on channels.
I'd like to create a pref for that, but I didn't know how to call it, and I think we could wait for when we also have Arti to include it and do a rework on all the legacy prefs to be coherent.
For a similar reason, I only glued together the thing in TorLauncherUtil.shouldStartAndOwnTor
, but I'd like to remove this method altogether when we also rework TorConnect
and TorSettings
.
How Tested
- Checked that opening Tor Browser normally still results in an error if
tor
exits (e.g., because another process is still listening on the specified ports) - Checked that killing
tor
still makes the prompt work - Checked that opening two Tor Browsers (different profiles) and specifying
TOR_PROVIDER=none
to the patched one skipsabout:torconnect
and makes the warning appear inabout:tor
. At that point check that check.torproject.org says we're behind Tor - Check that opening two Tor Browsers like 3 but with custom SOCKS ports work. Also check that the SOCKS configuration is updated in both in about:config
- After restoring the default configuration in the patched Tor Browser, do a test like 4., but without specifying the custom configuration to Tor Browser. Check that the patched Tor Browser fails to connect because of a proxy refusing