Opened 2 years ago

Closed 12 months ago

#24838 closed enhancement (implemented)

Fuzzy match the fallback whitelist

Reported by: teor Owned by: teor
Priority: Medium Milestone: Tor: 0.4.0.x-final
Component: Core Tor/Tor Version:
Severity: Normal Keywords: s8-bootstrap, easy, intro, fallback, 034-triage-20180328, 034-removed-20180328, fast-fix, 035-roadmap-subtask, 035-triaged-in-20180711
Cc: imnotbad, phoul Actual Points: 0.5
Parent ID: #24786 Points: 1
Reviewer: nickm Sponsor: Sponsor8-can

Description (last modified by teor)

We can rely on Onionoo to tell us when relay fingerprints or addresses change, so we don't need to do an exact match.

But listing fingerprints, addresses and ports in the whitelist is useful so that we know what a relay operator originally asked for.

Fuzzy matching simplifies maintaining the fallback whitelist, because we don't have to ask operators to update their relay details. (Or ask if those details are permanent.)

We deleted the blacklist in #26502.

Child Tickets

TicketTypeStatusOwnerSummary
#20175enhancementclosedhaxxpopAllow the fallback script to ignore temporary IPv6 addresses

Change History (25)

comment:1 Changed 2 years ago by teor

Summary: Just have relay fingerprints in the whitelistJust have relay fingerprints in the fallback whitelist

comment:2 Changed 2 years ago by teor

We'll still need to check and warn if fallbacks don't have a DirPort. At least until stem gets ORPort support (#18856), and we modify Tor and the script to accept relays without DirPorts (#19129).

comment:3 Changed 21 months ago by nickm

Keywords: 034-triage-20180328 added

comment:4 Changed 21 months ago by nickm

Keywords: 034-removed-20180328 added

Per our triage process, these tickets are pending removal from 0.3.4.

comment:5 Changed 20 months ago by nickm

Milestone: Tor: 0.3.4.x-finalTor: unspecified

These tickets, tagged with 034-removed-*, are no longer in-scope for 0.3.4. We can reconsider any of them, if time permits.

comment:6 Changed 20 months ago by teor

Keywords: fast-fix added
Milestone: Tor: unspecifiedTor: 0.3.4.x-final
Owner: set to teor
Status: newassigned

We should do this ticket in 0.3.4 or 0.3.5, because it's fast, and it lets us skip this slow step in the fallback rebuild process:

  • running the script, finding change warnings, contacting operators, and updating their details

comment:7 Changed 20 months ago by teor

Owner: teor deleted

Anyone can do this

comment:8 Changed 20 months ago by teor

Milestone: Tor: 0.3.4.x-finalTor: 0.3.5.x-final

8/150 = 5% of fallbacks are currently down.
https://consensus-health.torproject.org/graphs.html
At this rate, it will be 2019 before we reach our 25% failure threshold.
So we don't need to do a fallback rebuild in 0.3.4.

comment:9 Changed 18 months ago by teor

Milestone: Tor: 0.3.5.x-finalTor: unspecified

We don't need to do this ticket as part of the fallback rebuild, but we can if we want to.
(It might be easier to ignore changed addresses, than update all the changed addresses in the whitelist.)

comment:10 Changed 18 months ago by teor

Description: modified (diff)
Summary: Just have relay fingerprints in the fallback whitelistIgnore addresses in the fallback whitelist

comment:11 Changed 18 months ago by teor

Description: modified (diff)

comment:12 Changed 18 months ago by nickm

Keywords: 035-roadmap-subtask added

comment:13 Changed 17 months ago by teor

Cc: teor@… removed

Remove useless CC

comment:14 Changed 17 months ago by teor

Cc: imnotbad added
Keywords: easy intro added
Milestone: Tor: unspecifiedTor: 0.3.5.x-final

Hi imnotbad, if you're looking for something to work on while #26502 is being reviewed, you could try this ticket.

We just want to read the id= part of every line from the fallback list, and ignore the addresses and ports.
Then when we match against the whitelist, we just want to check the id.

comment:15 Changed 17 months ago by teor

Please base your branch for this ticket on the existing #26502 ticket, using a command like:

git checkout -b bug24838 bug26502

Edit: typo

Last edited 17 months ago by teor (previous) (diff)

comment:16 Changed 17 months ago by nickm

Keywords: 035-triaged-in-20180711 added

comment:17 Changed 17 months ago by teor

Status: assignednew

Make everything that is assigned to no-one new again.

comment:18 Changed 16 months ago by nickm

Milestone: Tor: 0.3.5.x-finalTor: 0.3.6.x-final

comment:19 Changed 16 months ago by teor

Milestone: Tor: 0.3.6.x-finalTor: 0.3.5.x-final

25% of fallbacks are failing, so these tickets need to be done in 0.3.5.

comment:20 Changed 12 months ago by phoul

Cc: phoul added

comment:21 Changed 12 months ago by teor

Owner: set to teor
Status: newassigned

I will do this ticket this week.

comment:22 Changed 12 months ago by teor

Actual Points: 0.5
Description: modified (diff)
Keywords: s8-bootstrap added
Milestone: Tor: 0.3.5.x-finalTor: 0.4.0.x-final
Sponsor: Sponsor8-can
Status: assignedneeds_review
Summary: Ignore addresses in the fallback whitelistFuzzy match the fallback whitelist

See my pull request, which contains the code for this ticket and #28768:
https://github.com/torproject/tor/pull/570

comment:23 Changed 12 months ago by teor

Component: Core Tor/Fallback ScriptsCore Tor/Tor

This ticket makes changes to the tor repository, so it goes in the tor component for review.

comment:24 Changed 12 months ago by dgoulet

Reviewer: nickm

comment:25 Changed 12 months ago by nickm

Resolution: implemented
Status: needs_reviewclosed

I believe I already reviewed and merged this code as part of #28768. Closing.

Note: See TracTickets for help on using tickets.