Skip to content

Bug 42541: Prevent bridges without fingerprint from breaking the circuit display.

Merge Info

Related Issues

  • #42541
  • 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
  • Localization: typos and other localization changes that should be also in the release branch
  • 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

With this commit, when we detect a bridge is missing its ID, we try to associate it with the GETINFO ns/purpose/bridge command.

Since bridge lines are passed by users, this might lead to incorrect results, but at least it should fix some cases in which we currently don't show the circuit display.

Also, the commit doesn't implement the way around (getinfo -> add to bridges, but I don't think we need it).

How Tested

  1. Tested a bridge line without fingerprint (check one in the issue - I don't know how public it is), and noticed it prevented the circuit display from being shown without this patch, and after this patch the bridge is shown correctly.
  2. Tested a built-in obfs4 bridge (obfs4 bridges must have fingerprints, or they won't work), and checked its still displayed correctly

Also checked we don't have strange errors in the console, and while developing I logged the intermediate data (the control port file doesn't have a logger on its own, so I removed these logging lines).

Merge request reports