mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 23:53:32 +01:00
Merge branch 'bug27849_redux'
This commit is contained in:
commit
56a3cef4d7
5
changes/ticket27849
Normal file
5
changes/ticket27849
Normal file
@ -0,0 +1,5 @@
|
||||
o Major bugfixes (mainloop, bootstrap):
|
||||
- Make sure Tor bootstraps and works properly if only the ControlPort is
|
||||
set. Prior to this fix, Tor would only bootstrap with at least a client
|
||||
port being set (Socks, Trans, NATD, DNS or HTTPTunnel port). Fixes bug
|
||||
27849; bugfix on 0.3.4.1-alpha.
|
@ -1492,13 +1492,18 @@ get_my_roles(const or_options_t *options)
|
||||
|
||||
int roles = 0;
|
||||
int is_bridge = options->BridgeRelay;
|
||||
int is_client = options_any_client_port_set(options);
|
||||
int is_relay = server_mode(options);
|
||||
int is_dirauth = authdir_mode_v3(options);
|
||||
int is_bridgeauth = authdir_mode_bridge(options);
|
||||
int is_hidden_service = !!hs_service_get_num_services() ||
|
||||
!!rend_num_services();
|
||||
int is_dirserver = dir_server_mode(options);
|
||||
/* We also consider tor to have the role of a client if the ControlPort is
|
||||
* set because a lot of things can be done over the control port which
|
||||
* requires tor to have basic functionnalities. */
|
||||
int is_client = options_any_client_port_set(options) ||
|
||||
options->ControlPort_set ||
|
||||
options->OwningControllerFD >= 0;
|
||||
|
||||
if (is_bridge) roles |= PERIODIC_EVENT_ROLE_BRIDGE;
|
||||
if (is_client) roles |= PERIODIC_EVENT_ROLE_CLIENT;
|
||||
|
Loading…
Reference in New Issue
Block a user