commit d3a39cf8d0dbc80a1936a0c5391506398828393e
parent c83657c6878f805f01b5656c9f9a34f6fadc7307
Author: Nick Mathewson <nickm@torproject.org>
Date: Mon, 15 May 2017 10:45:20 -0400
Merge remote-tracking branch 'public/bug20270_029'
Diffstat:
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/changes/bug20270 b/changes/bug20270
@@ -0,0 +1,6 @@
+ o Minor bugfixes (directory authority):
+ - When rejecting a router descriptor because the relay is running an
+ obsolete version of Tor without ntor support, warn about the obsolete
+ tor version, not the missing ntor key. Fixes bug 20270;
+ bugfix on 0.2.9.3-alpha.
+
diff --git a/src/or/dirserv.c b/src/or/dirserv.c
@@ -284,6 +284,13 @@ dirserv_router_get_status(const routerinfo_t *router, const char **msg,
return FP_REJECT;
}
+ /* Check for the more usual versions to reject a router first. */
+ const uint32_t r = dirserv_get_status_impl(d, router->nickname,
+ router->addr, router->or_port,
+ router->platform, msg, severity);
+ if (r)
+ return r;
+
/* dirserv_get_status_impl already rejects versions older than 0.2.4.18-rc,
* and onion_curve25519_pkey was introduced in 0.2.4.8-alpha.
* But just in case a relay doesn't provide or lies about its version, or
@@ -334,9 +341,7 @@ dirserv_router_get_status(const routerinfo_t *router, const char **msg,
}
}
- return dirserv_get_status_impl(d, router->nickname,
- router->addr, router->or_port,
- router->platform, msg, severity);
+ return 0;
}
/** Return true if there is no point in downloading the router described by