Skip to content

Bug 42299: Unbreak about:preferences#connection when invalid bridge lines are supplied

Merge Info

Related Issues

  • #42299 (closed)
  • #41482 (not closed, just the issue about actually dealing with broken/not working bridges)
  • 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 to tor-browser-specific commits, new features, security backports
  • Merge to base-browser - !fixups to base-browser-specific commits, new features to be shared with mullvad-browser, and security backports
    • NOTE: if your changeset includes patches to both base-browser and tor-browser please clearly label in the change description which commits should be cherry-picked to base-browser after merging

Issue Tracking

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

Change Description

When I switched to the shared bridge line parser, I didn't take exceptions into account.

Now, if a user supplies a bad bridge line, about:preferences#connection breaks.

As a workaround, we could restore the previous behavior, i.e., ignore the error.

A better solution would be to handle the error, but a bridge card refactor is in the air, so I think we can do this fix in the immediate, to unbreak the page, and then do something better.

How Tested

Added an invalid bridge line (e.g., webtunnel without any argument).

Checked that without the patch the preferences page is broken, and that after the patch the page isn't broken, even though it doesn't tell the user that the bridge is invalid in any way.

Edited by Pier Angelo Vendrame

Merge request reports