Allow some Moat DomainFrontedRequests to be cancelled
requested to merge henry/tor-browser:cancel-domain-fronted-requests-tb43254 into tor-browser-128.6.0esr-14.5-1
Merge Info
Issues
Resolves
Related
Merging
Target Branches
-
tor-browser
-!fixups
totor-browser
-specific commits, new features, security backports -
base-browser
andmullvad-browser
-!fixups
tobase-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-browser
andmullvad-browser
branches 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 (fixes CVEs, 0-days, etc) -
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
-
Security update: patchset contains a security fix (be sure to select the correct item in Timeline) -
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
/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) : 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
We add an option to DomainFrontedRequests
to pass in an AbortSignal
to be able to cancel the request's channel.
This is also exposed in some of the MoatRPC
API as well. Specifically:
- We cancel
BridgeDB
fetches and solutions if the bridge dialog is closed early. - We cancel
circumvention_settings
calls when an "AutoBootstrap" is cancelled.
I did not bother with cancelling the internet test since it is due to be removed in another issue.
As part of the changes to MoatRPC.check
, I dropped the unused qrcode
argument and return value.
How Tested
Set the browser.torMoat.loglevel
to All
.
Set torbrowser.debug.censorship_level
to 1
. Quickly clicking "Cancel" after "Try bridges" will cancel the Moat request, depending on the timing.
Open the "Request bridges" dialog and immediately close with Escape key. Similarly close the dialog just after submitting the solution.
Both of these still work when not cancelled.
Edited by henry