aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-11-14 15:05:05 -0500
committerNick Mathewson <nickm@torproject.org>2018-11-15 11:17:27 -0500
commit53ccdb6945f0d4a9b27a9939211a3c9125ca4427 (patch)
treef74986f4a3e3cb0561fd46590c789407ec8bbf39
parent2f28cd1dc8e797b140271e5c33b9e4f823f7f2d8 (diff)
downloadtor-53ccdb6945f0d4a9b27a9939211a3c9125ca4427.tar.gz
tor-53ccdb6945f0d4a9b27a9939211a3c9125ca4427.zip
Make sure that we are always a net participant when being a server
Otherwise, if we're dormant, and we set ORPort, nothing makes us become non-dormant.
-rw-r--r--src/core/mainloop/mainloop.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/mainloop/mainloop.c b/src/core/mainloop/mainloop.c
index 9f45f3c869..2d12e26485 100644
--- a/src/core/mainloop/mainloop.c
+++ b/src/core/mainloop/mainloop.c
@@ -1515,7 +1515,8 @@ get_my_roles(const or_options_t *options)
options->ControlPort_set ||
options->OwningControllerFD != UINT64_MAX;
- int is_net_participant = is_participating_on_network();
+ int is_net_participant = is_participating_on_network() ||
+ is_relay || is_hidden_service;
if (is_bridge) roles |= PERIODIC_EVENT_ROLE_BRIDGE;
if (is_client) roles |= PERIODIC_EVENT_ROLE_CLIENT;