diff options
author | Nick Mathewson <nickm@torproject.org> | 2020-03-16 12:21:49 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2020-03-16 12:21:49 -0400 |
commit | 855cd533e17f4dc4cd055fa8bb31ee3b187451dc (patch) | |
tree | 1a61c317efa4dbb0545660944c1776ea199126e5 | |
parent | 93d12baf89c2a55b8a3e40a026b3990dd671a1f7 (diff) | |
parent | 612c40bc39237fb28a98a7e43ca4abaf139d091c (diff) | |
download | tor-855cd533e17f4dc4cd055fa8bb31ee3b187451dc.tar.gz tor-855cd533e17f4dc4cd055fa8bb31ee3b187451dc.zip |
Merge branch 'ticket32672_042_squashed_w_test' into maint-0.4.3
-rw-r--r-- | changes/ticket32672 | 4 | ||||
-rw-r--r-- | src/feature/dirauth/process_descs.c | 21 | ||||
-rw-r--r-- | src/test/test_process_descs.c | 17 |
3 files changed, 24 insertions, 18 deletions
diff --git a/changes/ticket32672 b/changes/ticket32672 new file mode 100644 index 0000000000..351329ba2e --- /dev/null +++ b/changes/ticket32672 @@ -0,0 +1,4 @@ + o Minor features (directory authorities): + - Directory authorities now reject descriptors from relays running Tor + versions from the 0.2.9 and 0.4.0 series, but still allow the 0.3.5 + series. Resolves ticket 32672. Patch by Neel Chauhan. diff --git a/src/feature/dirauth/process_descs.c b/src/feature/dirauth/process_descs.c index baf8f8c217..5c918ca0b4 100644 --- a/src/feature/dirauth/process_descs.c +++ b/src/feature/dirauth/process_descs.c @@ -399,22 +399,21 @@ dirserv_rejects_tor_version(const char *platform, static const char please_upgrade_string[] = "Tor version is insecure or unsupported. Please upgrade!"; - /* Versions before Tor 0.2.9 are unsupported. Versions between 0.2.9.0 and - * 0.2.9.4 suffer from bug #20499, where relays don't keep their consensus - * up to date */ - if (!tor_version_as_new_as(platform,"0.2.9.5-alpha")) { + /* Versions before Tor 0.3.5 are unsupported. + * + * Also, reject unstable versions of 0.3.5, since (as of this writing) + * they are almost none of the network. */ + if (!tor_version_as_new_as(platform,"0.3.5.7")) { if (msg) *msg = please_upgrade_string; return true; } - /* Series between Tor 0.3.0 and 0.3.4 inclusive are unsupported, and some - * have bug #27841, which makes them broken as intro points. Reject them. - * - * Also reject unstable versions of 0.3.5, since (as of this writing) - * they are almost none of the network. */ - if (tor_version_as_new_as(platform,"0.3.0.0-alpha-dev") && - !tor_version_as_new_as(platform,"0.3.5.7")) { + /* Series between Tor 0.3.6 and 0.4.1.4-rc inclusive are unsupported. + * Reject them. 0.3.6.0-alpha-dev only existed for a short time, before + * it was renamed to 0.4.0.0-alpha-dev. */ + if (tor_version_as_new_as(platform,"0.3.6.0-alpha-dev") && + !tor_version_as_new_as(platform,"0.4.1.5")) { if (msg) { *msg = please_upgrade_string; } diff --git a/src/test/test_process_descs.c b/src/test/test_process_descs.c index 0e9cc9d253..14865cff13 100644 --- a/src/test/test_process_descs.c +++ b/src/test/test_process_descs.c @@ -20,13 +20,10 @@ test_process_descs_versions(void *arg) { "Tor 0.1.2.3-alpha", true }, // a non-tor program: don't reject. { "Wombat 0.1.2.3-alpha", false }, - // a slightly old version: reject - { "Tor 0.2.9.4-alpha", true }, - // a slightly old version: just new enough to support. - { "Tor 0.2.9.5-alpha", false }, - // a newer 0.2.9 version: supported. - { "Tor 0.2.9.100", false }, // some unsupported versions: reject. + { "Tor 0.2.9.4-alpha", true }, + { "Tor 0.2.9.5-alpha", true }, + { "Tor 0.2.9.100", true }, { "Tor 0.3.0.0-alpha-dev", true }, { "Tor 0.3.0.2-alpha", true }, { "Tor 0.3.0.5", true }, @@ -37,11 +34,17 @@ test_process_descs_versions(void *arg) { "Tor 0.3.4.100", true }, { "Tor 0.3.5.1-alpha", true }, { "Tor 0.3.5.6-rc", true}, + { "Tor 0.4.0.1-alpha", true }, + { "Tor 0.4.0.5", true }, + { "Tor 0.4.1.1-alpha", true }, + { "Tor 0.4.1.4-rc", true }, // new enough to be supported { "Tor 0.3.5.7", false }, { "Tor 0.3.5.8", false }, - { "Tor 0.4.0.1-alpha", false }, { "Tor 0.4.1.5", false }, + { "Tor 0.4.2.1-alpha", false }, + { "Tor 0.4.2.4-rc", false }, + { "Tor 0.4.3.0-alpha-dev", false }, // Very far in the future { "Tor 100.100.1.5", false }, }; |