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.
This commit is contained in:
Nick Mathewson 2018-11-14 15:05:05 -05:00
parent 2f28cd1dc8
commit 53ccdb6945

View File

@ -1515,7 +1515,8 @@ get_my_roles(const or_options_t *options)
options->ControlPort_set || options->ControlPort_set ||
options->OwningControllerFD != UINT64_MAX; 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_bridge) roles |= PERIODIC_EVENT_ROLE_BRIDGE;
if (is_client) roles |= PERIODIC_EVENT_ROLE_CLIENT; if (is_client) roles |= PERIODIC_EVENT_ROLE_CLIENT;