Opened 4 years ago

Closed 3 years ago

Last modified 3 years ago

#19071 closed enhancement (fixed)

Check existing fallback fingerprints, IPs, and ports before 0.2.8-rc

Reported by: teor Owned by: teor
Priority: Medium Milestone: Tor: 0.2.8.x-final
Component: Core Tor/Tor Version: Tor: 0.2.8.2-alpha
Severity: Normal Keywords: must-fix-before-028-stable, TorCoreTeam201606
Cc: Actual Points: 0.5
Parent ID: Points: 0.5
Reviewer: Sponsor:

Description

I want to run the standard checks on the 100 fallback directories from April 2016 before we put them in a June? 2016 release candidate.

I bet at least one has changed its fingerprint, IP, or ports, and will need to be removed.

I wonder if we should regenerate the list at that point, or just remove (or update) the broken fallbacks?

I'll decide at the time based on how many are broken.

Child Tickets

TicketTypeStatusOwnerSummary
#19480defectclosedteorAvoid errors during fallback selection when there are no fallbacks

Change History (9)

comment:1 Changed 4 years ago by teor

Points: 0.5

comment:2 Changed 3 years ago by teor

I need another developer to do this with me so someone else understands the fallback selection process.

comment:3 Changed 3 years ago by nickm

What skills will that developer need to have? What work will be involved for them?

(I suspect it might be easier to get a volunteer if they knew better what they were getting themselves into.)

comment:4 in reply to:  3 Changed 3 years ago by teor

Replying to nickm:

What skills will that developer need to have? What work will be involved for them?

(I suspect it might be easier to get a volunteer if they knew better what they were getting themselves into.)

  • Run a python script on a reliable, non-tor network connection,
  • contact relay operators in response to failures in the script logs,
  • edit configuration files based on operator responses.

comment:5 Changed 3 years ago by teor

Actual Points: 0.5
Keywords: must-fix-before-028-stable added; must-fix-before-028-rc removed
Status: newneeds_review

Please see my branch bug19071-v2 on https://github.com/teor2345/tor.git based on maint-0.2.8.

7e9532b, b15cecd, 69635e4:
These commits remove 9 fallbacks from the hard-coded list, because:

  • their details have changed (2),
  • they are slow to serve consensuses (2),
  • they are down permanently (3),
  • they have poor uptime (1), or
  • they lost the Guard flag (1).

7e9532b, 69635e4:
These commits blacklist 7 fallbacks for future releases, because:

  • their details have changed (2),
  • they are slow to serve consensuses (2), or
  • they are down permanently (3).

Some of the whitelist entries are 6 months old now, so losing 10% in 6 months seems like an acceptable rate. (A linear projection would see a loss of 40% of the fallbacks over the 2-year life of a release, at which point 0.4^3 = 6.4% of clients would contact an authority after taking 10 seconds to try 3 bad fallbacks.) As we blacklist unstable fallbacks, we should see better fallback stability in future releases.

0a79e92:
This commit modifies the whitelist and blacklist based on from operator emails. We'll use these updated lists for future fallback selection.

4090612:
This commit fixes updateFallbackDirs.py to avoid errors when there are no fallbacks.

6ce5366:
This commit adds some comments explaining how to test the list of fallbacks before a release.

Last edited 3 years ago by teor (previous) (diff)

comment:6 Changed 3 years ago by nickm

Resolution: fixed
Status: needs_reviewclosed

Merged!

comment:7 Changed 3 years ago by teor

Please see my branch bug19071-extra on maint-0.2.8 (after the bug19071-v2 merge):

  • The way that I commented-out the fallbacks confused stem, which also parses the fallback file.
  • I forgot to exclude the fallback that changed its DirPort, which would also confuse stem.
  • The operator who added an IPv6 address confirmed it's permanent, so I added it to the whitelist for 0.2.9, but not the list of fallbacks for 0.2.8. (No new info at this stage.)

comment:8 Changed 3 years ago by teor

Resolution: fixed
Status: closedreopened

comment:9 Changed 3 years ago by nickm

Resolution: fixed
Status: reopenedclosed

merged to 0.2.8 and forward. thanks!

Note: See TracTickets for help on using tickets.