Commit 855cd533 authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

Merge branch 'ticket32672_042_squashed_w_test' into maint-0.4.3

parents 93d12baf 612c40bc
Loading
Loading
Loading
Loading

changes/ticket32672

0 → 100644
+4 −0
Original line number Diff line number Diff line
  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.
+10 −11
Original line number Diff line number Diff line
@@ -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;
    }
+10 −7
Original line number Diff line number Diff line
@@ -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 },
  };