summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Færøy <ahf@torproject.org>2021-02-22 19:12:53 +0000
committerAlexander Færøy <ahf@torproject.org>2021-02-22 19:12:53 +0000
commit26c2e843f958c5451c836bbf9a4979aecac177c4 (patch)
treec133a57ca110a0f8b6746ee6da9084a57fbaee3d
parent03c686563b54bbdf1337cb047b2b6002c5a1a549 (diff)
parent8a8045c788b6883751b5ecbfbd3de4da0dfd313a (diff)
downloadtor-26c2e843f958c5451c836bbf9a4979aecac177c4.tar.gz
tor-26c2e843f958c5451c836bbf9a4979aecac177c4.zip
Merge remote-tracking branch 'tor-gitlab/mr/309' into maint-0.4.5
-rw-r--r--changes/bug402874
-rw-r--r--src/feature/relay/selftest.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/changes/bug40287 b/changes/bug40287
new file mode 100644
index 0000000000..5a9c899d52
--- /dev/null
+++ 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
index 86b1533be1..46b4b20ffc 100644
--- 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;