tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 8a8045c788b6883751b5ecbfbd3de4da0dfd313a
parent 336c45f1a5b30b31cbb76a2622a6e80d755db2b5
Author: Roger Dingledine <arma@torproject.org>
Date:   Wed, 10 Feb 2021 03:10:12 -0500

relay: No longer test dirport reachability for authorities

Now that exit relays don't allow exit connections to directory authority
DirPorts, the follow-up step is to make directory authorities stop doing
DirPort reachability checks.

Fixes #40287

Signed-off-by: David Goulet <dgoulet@torproject.org>

Diffstat:
Achanges/bug40287 | 4++++
Msrc/feature/relay/selftest.c | 4++++
2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/changes/bug40287 b/changes/bug40287 @@ -0,0 +1,4 @@ + o Minor bugfixes (directory authority): + - Now that exit relays don't allow exit connections to directory authority + DirPorts (network reentry), disable authorities' reachability self test + on the DirPort. Fixes bug 40287; bugfix on 0.4.5.5-rc. diff --git a/src/feature/relay/selftest.c b/src/feature/relay/selftest.c @@ -31,6 +31,8 @@ #include "feature/control/control_events.h" +#include "feature/dirauth/authmode.h" + #include "feature/dirclient/dirclient.h" #include "feature/dircommon/directory.h" @@ -142,12 +144,14 @@ router_orport_seems_reachable(const or_options_t *options, * - we've seen a successful reachability check, or * - there is no DirPort set, or * - AssumeReachable is set, or + * - We're a dir auth (see ticket #40287), or * - the network is disabled. */ int router_dirport_seems_reachable(const or_options_t *options) { int reach_checks_disabled = router_reachability_checks_disabled(options) || + authdir_mode(options) || !options->DirPort_set; return reach_checks_disabled || can_reach_dir_port;