]> git.ipfire.org Git - thirdparty/tor.git/commit
Add Fallback Directory Candidate Selection Script
authorteor <teor2345@gmail.com>
Tue, 12 May 2015 18:10:39 +0000 (04:10 +1000)
committerteor (Tim Wilson-Brown) <teor2345@gmail.com>
Tue, 15 Dec 2015 18:54:40 +0000 (05:54 +1100)
commit4c1c2a313dcd3638eededd4a1a83ed5f0b8b9fed
tree128942b848a0c40d3466e8ec0f5474977afdecb5
parentf3ed5ec0cac4719e249e629760756314d7cfecba
Add Fallback Directory Candidate Selection Script

"Tor has included a feature to fetch the initial consensus from nodes
 other than the authorities for a while now. We just haven't shipped a
 list of alternate locations for clients to go to yet.

 Reasons why we might want to ship tor with a list of additional places
 where clients can find the consensus is that it makes authority
 reachability and BW less important.

 We want them to have been around and using their current key, address,
 and port for a while now (120 days), and have been running, a guard,
 and a v2 directory mirror for most of that time."

Features:
* whitelist and blacklist for an opt-in/opt-out trial.
* excludes BadExits, tor versions that aren't recommended, and low
  consensus weight directory mirrors.
* reduces the weighting of Exits to avoid overloading them.
* places limits on the weight of any one fallback.
* includes an IPv6 address and orport for each FallbackDir, as
  implemented in #17327. (Tor won't bootstrap using IPv6 fallbacks
  until #17840 is merged.)
* generated output includes timestamps & Onionoo URL for traceability.
* unit test ensures that we successfully load all included default
  fallback directories.

Closes ticket #15775. Patch by "teor".
OnionOO script by "weasel", "teor", "gsathya", and "karsten".
.gitignore
changes/feature15775-fallback [new file with mode: 0644]
scripts/maint/fallback.blacklist [new file with mode: 0644]
scripts/maint/fallback.whitelist [new file with mode: 0644]
scripts/maint/updateFallbackDirs.py [new file with mode: 0755]
src/or/config.c
src/or/fallback_dirs.inc [new file with mode: 0644]
src/or/include.am
src/or/routerlist.c
src/test/test_config.c