]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
dirauth: Reject 0.4.6.x series at the authority level 62357
authorDavid Goulet <dgoulet@torproject.org>
Thu, 12 Jan 2023 14:06:32 +0000 (09:06 -0500)
committerDavid Goulet <dgoulet@torproject.org>
Thu, 12 Jan 2023 14:07:52 +0000 (09:07 -0500)
Closes #40664

Signed-off-by: David Goulet <dgoulet@torproject.org>
changes/ticket40664 [new file with mode: 0644]
src/feature/dirauth/process_descs.c
src/test/test_process_descs.c

diff --git a/changes/ticket40664 b/changes/ticket40664
new file mode 100644 (file)
index 0000000..729b6ff
--- /dev/null
@@ -0,0 +1,3 @@
+  o Minor feature (authority):
+    - Reject 0.4.6.x series at the authority level. Closes ticket 40664.
+
index 7d61247e23c5156eba857365f02e23c68fe2b899..f1d4f49c46c8c4688403ea3bea58056c8156443a 100644 (file)
@@ -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;
 }
 
index 1471bec18eb25287ff0e66a24e740dfe8009b48c..abcb6ae2fed25a1eeda8b9ca64bbc627e28ca673 100644 (file)
@@ -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 },
   };