teor
2d2bbaf259
Avoid checking fallback candidates' DirPorts if they are down in OnionOO
...
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-19 15:05:56 +11:00
teor
4c832bcfac
Be more tolerant of a decreased number of fallbacks
2016-12-19 15:05:53 +11:00
teor
124c342364
Reduce fallback bandwidth requirement to 1 MByte/s
2016-12-19 15:05:49 +11:00
teor
35da99a712
Allow 3 fallbacks per operator
...
This is safe now we are choosing 200 fallbacks.
Closes ticket 20912.
2016-12-19 15:05:45 +11:00
teor
ee3e8fc3e9
Require fallbacks to have 90% Running, V2Dir, and Guard flags
...
This allows 73% of clients to bootstrap in the first 5 seconds without
contacting an authority.
Part of #18828 .
2016-12-19 15:05:40 +11:00
teor
396bddaa4c
Require fallback directories to have the same address and port for 7 days
...
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-19 15:05:36 +11:00
teor
9629a25d10
Display the fingerprint when downloading consensuses from fallbacks
2016-12-19 15:05:33 +11:00
teor
ced50aff7e
Update fallback whitelist based on relay descriptors
...
These updates assume that the changes were intentional and permanent.
The operators were emailed to confirm.
2016-12-19 15:05:29 +11:00
teor
c889bc2135
Changes file for #20539
2016-12-19 15:05:25 +11:00
teor
8381d928cf
Exclude relays that deliver an expired consensus from the fallback list
...
Part of #20539 , based on #20501 .
2016-12-19 15:05:21 +11:00
teor
243d6fa0c7
Exclude relay versions affected by #20499 from the fallback list
...
Part of #20539 , based on #20509 .
2016-12-19 15:05:18 +11:00
teor
225c3d57db
Changes file for #20877 , #20878 , #20880 , #20881 , #20882
2016-12-19 15:05:14 +11:00
teor (Tim Wilson-Brown)
49df83cc03
Update fallback whitelist and blacklist
...
Update fallback whitelist and blacklist based on:
* pre-0.2.9 checks
* operator opt-ins and opt-outs, via emails and tickets
2016-12-19 15:05:10 +11:00
teor
864a8eb283
Make fallback sort order configurable
...
Closes issue #20882 .
2016-12-19 15:05:06 +11:00
teor
31e1439642
Select 200 fallback directories by default for each release
...
Closes ticket #20881 .
2016-12-19 15:05:02 +11:00
teor
4eba30ca59
Provide bandwidth and consensus weight for each candidate fallback
...
And make it clear that updateFallbackDirs.py outputs bandwidth in
megabytes per second.
Closes #20878 .
2016-12-19 15:04:58 +11:00
teor
6ed8e3764b
Add a missed return to fallbackdir_comment() in updateFallbackDirs.py
...
Closes ticket #20877 .
2016-12-19 15:04:54 +11:00
Nick Mathewson
ae89d9745d
Revert ticket 20982 changes.
...
They broke stem, and breaking application compatibility is usually a
bad idea.
This reverts commit 6e10130e18
,
commit 78a13df158
, and
commit 62f52a888a
.
We might re-apply this later, if all the downstream tools can handle
it, and it turns out to be useful for some reason.
2016-12-18 10:04:36 -05:00
Roger Dingledine
51ee549a90
fix typos and trivial syntax problems
2016-12-18 04:06:02 -05:00
Roger Dingledine
f3d056ab16
clarify debug-level log while initializing entropy
...
I got confused when I saw my Tor saying it was opening a file
that doesn't exist. It turns out it isn't opening it, it's just
calling open() on it and then moving on when it's not there.
2016-12-18 03:48:31 -05:00
Roger Dingledine
9e0d3eea46
normalize version syntax in changelog
2016-12-18 03:45:52 -05:00
Nick Mathewson
ff08be56ac
Fix another pointless stack-protector warning.
...
This is the same as we fixed in 39f4554687
.
2016-12-16 14:06:25 -05:00
Nick Mathewson
762b799545
Rename 'remove' -> 'rmv' to avoid shadowing a libc global
2016-12-16 14:04:57 -05:00
Nick Mathewson
698ed75e1a
Resolve some coverity complaints in test_entrynodes.c
2016-12-16 12:23:46 -05:00
Nick Mathewson
23c09b6bc2
Resolve a division-by-zero complaint from coverity. CID 1397272
2016-12-16 12:21:02 -05:00
Nick Mathewson
2a00110e5b
Revert "Stop checking whether environ is declared."
...
This reverts commit 954eeda619
.
Apparently, OpenBSD is what expects you to declare environ
yourself. So 19142 is a wontfix.
2016-12-16 12:16:52 -05:00
Nick Mathewson
79a24750ba
Fix broken entrynodes/retry_unreachable test
...
I broke this with 20292ec497
when I
changed the primary guard retry schedule.
2016-12-16 11:49:07 -05:00
Nick Mathewson
c52c47ae6f
Disable the legacy guard algorithm. Code isn't removed yet.
...
(Keeping the code around in case I broke Tor in some unexpected
way.)
2016-12-16 11:42:34 -05:00
Nick Mathewson
990a863d7c
Merge branch 'ticket20831_v2'
2016-12-16 11:40:19 -05:00
Nick Mathewson
506bd6d47c
Make NumDirectoryGuards work with the new guard algorithm.
...
Now that we support NumEntryGuards, NumDirectoryGuards is pretty
easy to put back in.
2016-12-16 11:34:31 -05:00
Nick Mathewson
d9200d853d
Make NumEntryGuards work as expected again.
...
Further, add a "guard-n-primary-guards-to-use" parameter, defaulting
to 1, for NumEntryGuards to override.
2016-12-16 11:34:31 -05:00
Nick Mathewson
deb8bcadce
271: Algorithm tweak to allow multiple entry guards.
...
Previously, we had NumEntryGuards kind of hardwired to 1. Now we
have the code (but not the configuarability) to choose randomly from
among the first N primary guards that would work, where N defaults
to 1.
Part of 20831 support for making NumEntryGuards work again.
2016-12-16 11:34:31 -05:00
Nick Mathewson
385602e982
Respect GuardLifetime in prop271 code.
...
It overrides both the GUARD_LIFETIME and the
GUARD_CONFIRMED_MIN_LIFETIME options.
2016-12-16 11:34:31 -05:00
Nick Mathewson
a752ccd24f
fixup! Remove UseDirectoryGuards
2016-12-16 11:34:30 -05:00
Nick Mathewson
3902a18a69
Remove UseDirectoryGuards
...
It is obsoleted in an always-on direction by prop271.
2016-12-16 11:32:51 -05:00
Nick Mathewson
988b0afbd6
Merge branch 'ticket20826_v2'
2016-12-16 11:29:02 -05:00
Nick Mathewson
e044b4f8ce
Support restrictive ENTRYNODES configurations correctly.
...
Since we already had a separate function for getting the universe of
possible guards, all we had to do was tweak it to handle very the
GS_TYPE_RESTRICTED case.
2016-12-16 11:28:27 -05:00
Nick Mathewson
4ec9751c14
guard->nickname is never NULL.
2016-12-16 11:25:59 -05:00
Nick Mathewson
2cee38f76a
Merge branch 'prop271_030_v1_squashed'
2016-12-16 11:20:59 -05:00
Nick Mathewson
20292ec497
Per suggestion, increase the retry frequency for primary guards.
2016-12-16 11:06:22 -05:00
Nick Mathewson
fc7751a989
Rewrite state transition logic in entry_guards_note_success()
...
asn found while testing that this function can be reached with
GUARD_STATE_COMPLETE circuits; I believe this happens when
cannibalization occurs.
The added complexity of handling one more state made it reasonable
to turn the main logic here into a switch statement.
2016-12-16 11:06:22 -05:00
Nick Mathewson
2e2f3a4d99
Add a separate, non-fractional, limit to the sampled guard set size.
...
Letting the maximum sample size grow proportionally to the number of
guards defeats its purpose to a certain extent. Noted by asn during
code review.
Fixes bug 20920; bug not in any released (or merged) version of Tor.
2016-12-16 11:06:22 -05:00
Nick Mathewson
e50d85b90c
Clean check for live consensus when updating the guard sample.
...
The valid_until check was redundant.
2016-12-16 11:06:22 -05:00
Nick Mathewson
b7088e5b5a
Move a TODO comment into doxygen comments.
2016-12-16 11:06:22 -05:00
George Kadianakis
50783d0123
Easy code fixes.
...
- Correctly maintain the previous guard selection in choose_guard_selection().
- Print bridge identifier instead of nothing in entry_guard_describe()._
2016-12-16 11:06:22 -05:00
George Kadianakis
7ab2678074
Trivial documentation improvements.
2016-12-16 11:06:22 -05:00
Nick Mathewson
6867950432
Wrap all of the legacy guard code, and its users, in #ifdefs
...
This will make it easier to see what we remove down the line.
2016-12-16 11:06:22 -05:00
Nick Mathewson
2b4bfe62ee
Fix a signed/unsigned warning on 32-bit
2016-12-16 11:06:21 -05:00
Nick Mathewson
72dc2ae319
Tests for choosing which guard_selection to use
2016-12-16 11:06:21 -05:00
Nick Mathewson
d9f010db84
Update node-selection tests to consider restrictions
2016-12-16 11:06:21 -05:00