Trac: Description: We need to regenerate the fallback directory mirror list in 0.2.9 in case any of the 0.2.8 fallbacks have changed details or gone down.
This should not require another opt-in mailout, as we had ~70 additional fallbacks in 0.2.8 that were suitable but not selected.
We should also:
check the bandwdith range in the script's generated C comments
check the IP version, netblock, port, and Exit flag proportions in the script's stderr output
Over the longer term, we could:
reconsider whether to allow 2 fallbacks per operator (contact, family), while keeping 1 per IP
decide whether to change to an opt-out system, where we includes fallbacks unless operators specifically opt-out
to
We need to regenerate the fallback directory mirror list in 0.2.9 in case any of the 0.2.8 fallbacks have changed details or gone down.
This should not require another opt-in mailout, as we had ~70 additional fallbacks in 0.2.8 that were suitable but not selected.
We should also:
restore the 120 day stability period and 99% uptime requirement that were reduced in 0.2.8 due to legacy/trac#18050 (moved)
check the bandwdith range in the script's generated C comments
check the IP version, netblock, port, and Exit flag proportions in the script's stderr output
Over the longer term, we could:
reconsider whether to allow 2 fallbacks per operator (contact, family), while keeping 1 per IP
decide whether to change to an opt-out system, where we includes fallbacks unless operators specifically opt-out
agreed; we should do this about once per release series. (Also perhaps you can recruit somebody else to do it together with you this time, so that two people have experience doing it?)
agreed; we should do this about once per release series. (Also perhaps you can recruit somebody else to do it together with you this time, so that two people have experience doing it?)
The latest fallback whitelist / blacklist changes are based on maint-0.2.8 (shortly after 0.2.8.4-rc) and are in fallbacks-201606 on https://github/com/teor2345/tor.git
I've merged the changes in the above branch into bug19071 (targeted at 0.2.8), because there's no way I'm keeping two concurrent whitelist/blacklist versions.
So there's nothing extra that needs to be merged into 0.2.9 at this point in time.
We need to rebuild the fallback list entirely in 0.2.9 to make sure we've fixed legacy/trac#19163 (moved) - as of July 2016, every recommended tor version supports ntor.
Since legacy/trac#19610 (moved) causes IPv6-only clients to ask 15 IPv6 fallback directories for microdescriptors, we should increase the fallback numbers to 200 or 300, so we have a reasonable number of IPv6 fallbacks.
It's likely that legacy/trac#19989 (moved) applies to IPv6-only clients fetching microdescriptors from fallback directories (legacy/trac#19608 (moved)). So we should make sure there are some non-Exit IPv6-capable relays in the set.
We have extended the 0.2.9 release deadline, and so I can afford to do some of this in September.
I also want to:
make a wiki page so someone else can update fallbacks if needed (and so I don't forget)
change the fallback script so it has an "exclude existing" mode (exclude both the whitelist and blacklist), to make finding new potential fallbacks easier
Still stuck? Or legacy/trac#20193 (moved) is not-a-bug so it's ok, and the remaining issue is to find time to proceed?
Finding time is one issue, because I have to update the script, do a mass email, collate responses, run the script again, and then have the list backported to 0.2.8 onwards.
Also, the current list is working fine, so there's not much urgency here. I would like to get an update in 0.2.9 though.
restore the 120 day stability period and 99% uptime requirement that were reduced in 0.2.8 due to legacy/trac#18050 (moved)
I initially tried 183 days stability and 99% uptime, but that excluded too many good relays.
Instead, I am switching it back to 120 days (4 months) and 98%.
120 days is a compromise between the 6-monthly major tor release cycle, and actual relay stability.
98% still gives us (0.98)^3 = 94% of clients bootstrapping in the first 5 seconds, before contacting an authority.
8/(200*10 + 8) * 3 = 1.2% of clients try an authority in their first 3 attempts anyway, as the authorities are also in the fallback list (but with lower weight).
restore the 120 day stability period and 99% uptime requirement that were reduced in 0.2.8 due to legacy/trac#18050 (moved)
I initially tried 183 days stability and 99% uptime, but that excluded too many good relays.
Instead, I am switching it back to 120 days (4 months) and 98%.
120 days is a compromise between the 6-monthly major tor release cycle, and actual relay stability.
98% still gives us (0.98)^3 = 94% of clients bootstrapping in the first 5 seconds, before contacting an authority.
8/(200*10 + 8) * 3 = 1.2% of clients try an authority in their first 3 attempts anyway, as the authorities are also in the fallback list (but with lower weight).
We can't require this level of stability, because so many relays are being excluded due to the recommended versions and legacy/trac#20539 (moved).
Instead, I chose 7 days and 90%, which means at least 73% of fallbacks can bootstrap without contacting an authority.
We can merge the latest version of my github fallbacks-201612-* branch containing the script, whitelist, and blacklist to master in this ticket.
I sent an email to tor-relays and to all the relay operators on the draft list.
I'll leave it another week, then create the final list.
Details in legacy/trac#20173 (moved).