aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2023-01-12 09:06:32 -0500
committerDavid Goulet <dgoulet@torproject.org>2023-01-12 09:07:52 -0500
commitf2e9ce72d62c4057b32a524ad032b86dffa9a995 (patch)
tree039e3a01f393322e1530035fd094bb51816b1e3c
parentc6ef04e0d07418f447209d86d642394a190b6702 (diff)
downloadtor-f2e9ce72d62c4057b32a524ad032b86dffa9a995.tar.gz
tor-f2e9ce72d62c4057b32a524ad032b86dffa9a995.zip
dirauth: Reject 0.4.6.x series at the authority level
Closes #40664 Signed-off-by: David Goulet <dgoulet@torproject.org>
-rw-r--r--changes/ticket406643
-rw-r--r--src/feature/dirauth/process_descs.c9
-rw-r--r--src/test/test_process_descs.c14
3 files changed, 23 insertions, 3 deletions
diff --git a/changes/ticket40664 b/changes/ticket40664
new file mode 100644
index 0000000000..729b6ff02a
--- /dev/null
+++ 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
index 7d61247e23..f1d4f49c46 100644
--- 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
index 1471bec18e..abcb6ae2fe 100644
--- 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 },
};