mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
Merge remote-tracking branch 'dgoulet/ticket26062_034_01'
This commit is contained in:
commit
a4a7939ae1
4
changes/ticket26062
Normal file
4
changes/ticket26062
Normal file
@ -0,0 +1,4 @@
|
||||
o Minor bugfixes (client):
|
||||
- Don't consider Tor running as a client if the ControlPort is open. Fixes
|
||||
bug 26062; bugfix on 0.2.9.4-alpha.
|
||||
|
@ -8433,3 +8433,17 @@ init_cookie_authentication(const char *fname, const char *header,
|
||||
return retval;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if any option is set in <b>options</b> to make us behave
|
||||
* as a client.
|
||||
*/
|
||||
int
|
||||
options_any_client_port_set(const or_options_t *options)
|
||||
{
|
||||
return (options->SocksPort_set ||
|
||||
options->TransPort_set ||
|
||||
options->NATDPort_set ||
|
||||
options->DNSPort_set ||
|
||||
options->HTTPTunnelPort_set);
|
||||
}
|
||||
|
||||
|
@ -214,6 +214,9 @@ smartlist_t *get_options_from_transport_options_line(const char *line,
|
||||
const char *transport);
|
||||
smartlist_t *get_options_for_server_transport(const char *transport);
|
||||
|
||||
/* Port helper functions. */
|
||||
int options_any_client_port_set(const or_options_t *options);
|
||||
|
||||
#ifdef CONFIG_PRIVATE
|
||||
|
||||
#define CL_PORT_NO_STREAM_OPTIONS (1u<<0)
|
||||
|
@ -1497,7 +1497,7 @@ get_my_roles(const or_options_t *options)
|
||||
|
||||
int roles = 0;
|
||||
int is_bridge = options->BridgeRelay;
|
||||
int is_client = any_client_port_set(options);
|
||||
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);
|
||||
|
@ -1690,24 +1690,6 @@ networkstatus_set_current_consensus_from_ns(networkstatus_t *c,
|
||||
}
|
||||
#endif /* defined(TOR_UNIT_TESTS) */
|
||||
|
||||
/**
|
||||
* Return true if any option is set in <b>options</b> to make us behave
|
||||
* as a client.
|
||||
*
|
||||
* XXXX If we need this elsewhere at any point, we should make it nonstatic
|
||||
* XXXX and move it into another file.
|
||||
*/
|
||||
int
|
||||
any_client_port_set(const or_options_t *options)
|
||||
{
|
||||
return (options->SocksPort_set ||
|
||||
options->TransPort_set ||
|
||||
options->NATDPort_set ||
|
||||
options->ControlPort_set ||
|
||||
options->DNSPort_set ||
|
||||
options->HTTPTunnelPort_set);
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper for handle_missing_protocol_warning: handles either the
|
||||
* client case (if <b>is_client</b> is set) or the server case otherwise.
|
||||
@ -1743,7 +1725,7 @@ handle_missing_protocol_warning(const networkstatus_t *c,
|
||||
const or_options_t *options)
|
||||
{
|
||||
const int is_server = server_mode(options);
|
||||
const int is_client = any_client_port_set(options) || !is_server;
|
||||
const int is_client = options_any_client_port_set(options) || !is_server;
|
||||
|
||||
if (is_server)
|
||||
handle_missing_protocol_warning_impl(c, 0);
|
||||
|
@ -147,8 +147,6 @@ void vote_routerstatus_free_(vote_routerstatus_t *rs);
|
||||
#define vote_routerstatus_free(rs) \
|
||||
FREE_AND_NULL(vote_routerstatus_t, vote_routerstatus_free_, (rs))
|
||||
|
||||
int any_client_port_set(const or_options_t *options);
|
||||
|
||||
#ifdef NETWORKSTATUS_PRIVATE
|
||||
#ifdef TOR_UNIT_TESTS
|
||||
STATIC int networkstatus_set_current_consensus_from_ns(networkstatus_t *c,
|
||||
|
Loading…
Reference in New Issue
Block a user