aboutsummaryrefslogtreecommitdiff
path: root/scripts/maint/updateFallbackDirs.py
AgeCommit message (Collapse)Author
2018-04-18Remove a comment about 0.2.8 that will soon be irrelevant.Nick Mathewson
(It becomes irrelevant on 15 May 2018 when 0.2.5 is EOL.)
2018-02-07Fix spelling mistakes corresponding to ticket #23650Deepesh Pathak
2018-01-05Stop logging excessive information about fallback netblocksteor
Implements ticket 24791
2018-01-05Adjust fallback selection parametersteor
Avoid selecting fallbacks that change their IP addresses too often. Select more fallbacks by ignoring the Guard flag, and allowing lower cutoffs for the Running and V2Dir flags. Also allow a lower bandwidth, and a higher number of fallbacks per operator (5% of the list). Implements ticket 24785.
2018-01-05Update dependency list for the fallback scriptteor
Comment-only change. Implements #24711.
2018-01-05Make updateFallbackDirs.py search harder for pythonteor
(Some OSs don't put it in /usr/bin.) Fixes bug 24708; bugfix on 0.2.8.1-alpha.
2018-01-05Add a generated timestamp to the fallback directory headerteor
This can act as a revision counter, as requested by atagar in 24742. Part of 24725.
2018-01-05Remove an incorrect C comment from updateFallbackDirs.py's list generation codeteor
Part of #24725.
2018-01-05Add a delimiter to the end of each fallback entryteor
This helps external parsers. Also, add comments indicating where to add new fields in the fallback format. Part of 24725.
2018-01-05Remove commas and equals signs from external string inputs to the fallback listteor
This makes sure that list parsers only see one comma per fallback entry, and only see one equals sign per field. Implements ticket 24726.
2018-01-05Add an extrainfo cache flag for each fallback in a C commentteor
This allows stem to use fallbacks to fetch extra-info documents, rather than using authorities. Implements ticket 22759.
2018-01-05Add a nickname to each fallback in a C commentteor
This makes it easier for operators to find their relays, and allows stem to use nicknames to identify fallbacks. Implements ticket 24600.
2018-01-05Remove the "weight=10" line from fallback directory mirror entriesteor
This removes some redundant repeated lines. Ticket 24681 will maintain the current fallback weights by changing Tor's default fallback weight to 10. Implements ticket 24679.
2018-01-05Add a type and version header to the fallback directory mirror fileteor
This helps external parsers like stem and Relay Search. Implements ticket 24725.
2018-01-05Update comment and add changes file for 20942teor
2018-01-05Set CONSENSUS_EXPIRY_TOLERANCE to 0Dominique Ingoglia
2017-12-20Remove merge-conflict detritusNick Mathewson
2017-12-20Make fallback script usage instructions create a log fileteor
Comment-only change. Closes 24682.
2017-05-16Update fallback stability requirementsteor
Decrease the minimum number of fallbacks to 100. Final fix to 20913.
2017-05-16Merge branch 'fallbacks-201702-v3' into fallbacks-2017-05teor
2017-05-16Make the usage example in updateFallbackDirs.py actually workteor
And explain what it does. Fixes bug 22270 in 0.3.0.3-alpha.
2017-02-27Modify fallback stability requirementsteor
Increase the fallback stability requirement to 30 days. When this was at 7 days, we chose far too many unstable fallbacks. Decrease the guard flag requirement to 0.8. When this was at 0.9, we lost too many fallbacks due to version upgrades. (The running and v2dir flags ensure DirPorts are available to clients.) Partial fixes to #20913.
2017-01-25Add the output file to the usageSuphanat Chunhapanya
2017-01-25Add usage for check_existingSuphanat Chunhapanya
2017-01-25Logging existing fallbacks at warning levelSuphanat Chunhapanya
2017-01-25Automate checking existing fallbacksSuphanat Chunhapanya
2016-12-19Avoid an error in the fallback script when a fallback doesn't have any uptimeteor
Sometimes, the fallback generation script doesn't add attributes to the fallbacks in the list. If this happens, log an error, and avoid selecting that fallback. This is a rare issue: it should not change selection behaviour. Fixes issue #20945.
2016-12-19Allow fallbacks serving consensuses that expired less than 24 hours agoteor
This works around #20909, where relays serve stale consensuses for a short time, and then recover. Update to the fix for #20539.
2016-12-19Avoid checking fallback candidates' DirPorts if they are down in OnionOOteor
Exclude relays that have been down for 1 or more days from the fallback candidate list. When a relay operator has multiple relays, this prioritises relays that are up over relays that are down. Fixes issue #20926.
2016-12-19Be more tolerant of a decreased number of fallbacksteor
2016-12-19Reduce fallback bandwidth requirement to 1 MByte/steor
2016-12-19Allow 3 fallbacks per operatorteor
This is safe now we are choosing 200 fallbacks. Closes ticket 20912.
2016-12-19Require fallbacks to have 90% Running, V2Dir, and Guard flagsteor
This allows 73% of clients to bootstrap in the first 5 seconds without contacting an authority. Part of #18828.
2016-12-19Require fallback directories to have the same address and port for 7 daysteor
7 days is a tradeoff between the expected time between major Tor releases, which is 6 months, and the number of relays with enough stability. Relays whose OnionOO stability timer is reset on restart by bug #18050 should upgrade to Tor 0.2.8.7 or later, which has a fix for this issue. Closes ticket #20880; maintains short-term fix in e220214 in tor-0.2.8.2-alpha.
2016-12-19Display the fingerprint when downloading consensuses from fallbacksteor
2016-12-19Exclude relays that deliver an expired consensus from the fallback listteor
Part of #20539, based on #20501.
2016-12-19Exclude relay versions affected by #20499 from the fallback listteor
Part of #20539, based on #20509.
2016-12-19Make fallback sort order configurableteor
Closes issue #20882.
2016-12-19Select 200 fallback directories by default for each releaseteor
Closes ticket #20881.
2016-12-19Provide bandwidth and consensus weight for each candidate fallbackteor
And make it clear that updateFallbackDirs.py outputs bandwidth in megabytes per second. Closes #20878.
2016-12-19Add a missed return to fallbackdir_comment() in updateFallbackDirs.pyteor
Closes ticket #20877.
2016-06-28Comment-out fallbacks in a way the stem fallback parser understandsteor (Tim Wilson-Brown)
If we manually remove fallbacks in C by adding '/*' and '*/' on separate lines, stem still parses them as being present, because it only looks at the start of a line. Add a comment to this effect in the generated source code.
2016-06-22Avoid errors in updateFallbackDirs.py when there are no fallbacksteor (Tim Wilson-Brown)
2016-06-22Document how to test the hard-coded fallback listteor (Tim Wilson-Brown)
2016-04-29Simplify string cleansing in fallback update scriptteor (Tim Wilson-Brown)
No behavioural change
2016-04-29Improve logging in fallback update scriptteor (Tim Wilson-Brown)
Log a notice just before the script is about to perform a potentially time-consuming operation Clarify the warning when py2-ipaddress isn't found Make log levels more consistent No behavioural change (just logging)
2016-04-29Improve comments in fallback update scriptteor (Tim Wilson-Brown)
2016-04-26Report fallback directory detail changes when rebuilding listteor (Tim Wilson-Brown)
As well as the existing reports of IPv6 address additions or removals, the script now warns when keys change but IPv4:ORPort or IPv6:IPv6ORPort remain the same. Existing checks for other whitelist detail changes have also been re-worded and upgraded to warnings. This makes it easier for changes to be identified so operators can be contacted to confirm whether the change is stable.
2016-04-15Limit fallbacks from the same operatorteor (Tim Wilson-Brown)
Use IP address, effective family, and contact info to discover and limit fallbacks to one per operator. Also analyse netblock, ports, IP version, and Exit flag, and print the results. Don't exclude any fallbacks from the list because of netblocks, ports, IP version, or Exit flag.
2016-04-15Simplify fallback list outputteor (Tim Wilson-Brown)
When creating the list of fallbacks for a release: * don't output fallback name and contact * sort fallbacks by fingerprint