tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit f2e9ce72d62c4057b32a524ad032b86dffa9a995
parent c6ef04e0d07418f447209d86d642394a190b6702
Author: David Goulet <dgoulet@torproject.org>
Date:   Thu, 12 Jan 2023 09:06:32 -0500

dirauth: Reject 0.4.6.x series at the authority level

Closes #40664

Signed-off-by: David Goulet <dgoulet@torproject.org>

Diffstat:
Achanges/ticket40664 | 3+++
Msrc/feature/dirauth/process_descs.c | 9+++++++++
Msrc/test/test_process_descs.c | 14+++++++++++---
3 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/changes/ticket40664 b/changes/ticket40664 @@ -0,0 +1,3 @@ + o Minor feature (authority): + - Reject 0.4.6.x series at the authority level. Closes ticket 40664. + diff --git a/src/feature/dirauth/process_descs.c b/src/feature/dirauth/process_descs.c @@ -412,6 +412,15 @@ dirserv_rejects_tor_version(const char *platform, return true; } + /* Reject 0.4.6.x series. */ + if (tor_version_as_new_as(platform, "0.4.6.0") && + !tor_version_as_new_as(platform, "0.4.7.0-alpha-dev")) { + if (msg) { + *msg = please_upgrade_string; + } + return true; + } + return false; } diff --git a/src/test/test_process_descs.c b/src/test/test_process_descs.c @@ -47,13 +47,21 @@ test_process_descs_versions(void *arg) { "Tor 0.4.3.0-alpha-dev", true }, { "Tor 0.4.3.8", true }, { "Tor 0.4.4.9", true }, + + /* The 0.4.5.x series stable is supported. */ { "Tor 0.4.5.5-rc", true }, - // new enough to be supported { "Tor 0.4.5.6", false }, - { "Tor 0.4.6.0-alpha-dev", false }, - { "Tor 0.4.6.5", false }, + { "Tor 0.4.5.15", false }, + + { "Tor 0.4.6.0-alpha-dev", true }, + { "Tor 0.4.6.1-alpha", true }, + { "Tor 0.4.6.5", true }, + { "Tor 0.4.6.50", true }, /* Non existing one in the 0.4.6 series */ + { "Tor 0.4.7.0-alpha-dev", false }, { "Tor 0.4.7.3-alpha", false }, + { "Tor 0.4.7.12", false }, + // Very far in the future { "Tor 100.100.1.5", false }, };