TorSettings-TorConnect refactor: Part 5: Miscellaneous tidy up
TorSettings-TorConnect refactor: Part 5: Allow for TorConnect bootstrap prior to TorSettings initialisation
Merge Info
Issues
Resolves
- Part 5
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 4: !1340 (merged). As such, before !1340 (merged) lands this will include a few commits from it's merge request. Only the last five commits are relevant for this merge request.
We apply some miscellaneous tidy ups for TorConnect and TorSettings:
- Add a note to
setConfto describe expectations regarding races. - Move the
prompt_at_startuppreference out ofTorProvider, and only set it inTorConnect. This means it is only used in one place, and its behaviour is simpler: if bootstrap fails ortorexits we set it totrue, and we only set it tofalsewhen a bootstrap succeeds. -
TorProvider.flushSettingsis now only called byTorSettings, rather than viaabout:preferencescallback which had no guarantees of being called and did not work for Moat bridges.
How Tested
Moat bridges are now flushed to torrc.
TorConnect quickstart works as expected in response to a failed bootstrap or a killed tor process.