TorSettings-TorConnect refactor: Part 4: Tighten up TorSettings module
Merge Info
Issues
Resolves
- Part 4
Related
Merging
Target Branches
- 
tor-browser-!fixupstotor-browser-specific commits, new features, security backports
- 
base-browserandmullvad-browser-!fixupstobase-browser-specific commits, new features to be shared withmullvad-browser, and security backports- 
⚠️ IMPORTANT: Please list thebase-browser-specific commits which need to be cherry-picked to thebase-browserandmullvad-browserbranches here
 
- 
Target Channels
- 
Alpha: esr128-14.5 
- 
Stable: esr128-14.0 
- 
Legacy: esr115-13.5 
Backporting
Timeline
- 
No Backport (preferred): patchset for the next major stable 
- 
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 
(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 
- 
Localization: typos and other localization changes that should be also in the release branch 
- 
Other: please explain 
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 /ccall the relevant reviewers (since Gitlab only allows 1 reviewer)
- accessibility : henry
- android : clairehurst, dan
- build system : boklm
- extensions : ma1
- firefox internals (XUL/JS/XPCOM) : jwilde, ma1
- fonts : pierov
- frontend (implementation) : henry
- frontend (review) : donuts, morgan
- localization : henry, pierov
- macOS : clairehurst, dan
- nightly builds : boklm
- rebases/release-prep : dan, ma1, pierov, morgan
- security : jwilde, ma1
- signing : boklm, morgan
- updater : pierov
- windows : jwilde, morgan
- misc/other : pierov, morgan
 
- 
NOTE: if the MR modifies multiple areas, please 
Change Description
NOTE: This depends on the changes in part 3: !1339 (merged). As such, before !1339 (merged) lands this will include a few commits from it's merge request. Only the last two commits are relevant for this merge request.
We add a TorSettings.enabled property to mirror TorConnect.enabled. As part of this we ensure that shouldStartAndOwnTor cannot change in value during a session, so that these properties remain constant.
We also tidy up TorSettings.uninit to account for early closing of the browser.
How Tested
Run with TOR_SKIP_LAUNCH=1 and a console call to TorSettings properties will fail.
Uninit methods are called when closed.