Просмотр исходного кода

Merge branch 'maint-0.2.9' into maint-0.3.0

Nick Mathewson 7 лет назад
Родитель
Сommit
5c52d3c2c0
2 измененных файлов с 16 добавлено и 0 удалено
  1. 5 0
      changes/bug20509
  2. 11 0
      src/or/dirserv.c

+ 5 - 0
changes/bug20509

@@ -0,0 +1,5 @@
+  o Minor features:
+    - Directory authorities now reject relays running versions
+      0.2.9.1-alpha through 0.2.9.4-alpha, because those relays
+      suffer from bug 20499 and don't keep their consensus cache
+      up-to-date. Resolves ticket 20509.

+ 11 - 0
src/or/dirserv.c

@@ -383,6 +383,17 @@ dirserv_get_status_impl(const char *id_digest, const char *nickname,
     return FP_REJECT;
   }
 
+  /* Tor 0.2.9.x where x<5 suffers from bug #20499, where relays don't
+   * keep their consensus up to date so they make bad guards.
+   * The simple fix is to just drop them from the network. */
+  if (platform &&
+      tor_version_as_new_as(platform,"0.2.9.0-alpha") &&
+      !tor_version_as_new_as(platform,"0.2.9.5-alpha")) {
+    if (msg)
+      *msg = "Tor version contains bug 20499. Please upgrade!";
+    return FP_REJECT;
+  }
+
   status_by_digest = digestmap_get(fingerprint_list->status_by_digest,
                                    id_digest);
   if (status_by_digest)