diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/or/dirserv.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/or/dirserv.c b/src/or/dirserv.c index c25dbf8420..77e99fbc17 100644 --- 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 |