mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 23:53:32 +01:00
Turn get_first_advertised_v4_port_by_type() into get_first_advertised_port_by_type_af().
This commit is contained in:
parent
1c2c3314a9
commit
5bee213d23
@ -5907,19 +5907,24 @@ get_configured_ports(void)
|
|||||||
return configured_ports;
|
return configured_ports;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** DOCDOC */
|
/** Return the first advertised port of type <b>listener_type</b> in
|
||||||
|
<b>address_family</b>. */
|
||||||
int
|
int
|
||||||
get_first_advertised_v4_port_by_type(int listener_type)
|
get_first_advertised_port_by_type_af(int listener_type, int address_family)
|
||||||
{
|
{
|
||||||
if (!configured_ports)
|
if (!configured_ports)
|
||||||
return 0;
|
return 0;
|
||||||
SMARTLIST_FOREACH_BEGIN(configured_ports, const port_cfg_t *, cfg) {
|
SMARTLIST_FOREACH_BEGIN(configured_ports, const port_cfg_t *, cfg) {
|
||||||
if (cfg->type == listener_type &&
|
if (cfg->type == listener_type &&
|
||||||
!cfg->no_advertise &&
|
!cfg->no_advertise &&
|
||||||
(tor_addr_family(&cfg->addr) == AF_INET ||
|
(tor_addr_family(&cfg->addr) == address_family ||
|
||||||
(tor_addr_family(&cfg->addr) == AF_UNSPEC && !cfg->ipv6_only))) {
|
tor_addr_family(&cfg->addr) == AF_UNSPEC)) {
|
||||||
|
if (tor_addr_family(&cfg->addr) != AF_UNSPEC ||
|
||||||
|
(address_family == AF_INET && !cfg->ipv6_only) ||
|
||||||
|
(address_family == AF_INET6 && !cfg->ipv4_only)) {
|
||||||
return cfg->port;
|
return cfg->port;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} SMARTLIST_FOREACH_END(cfg);
|
} SMARTLIST_FOREACH_END(cfg);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -65,11 +65,11 @@ int did_last_state_file_write_fail(void);
|
|||||||
int or_state_save(time_t now);
|
int or_state_save(time_t now);
|
||||||
|
|
||||||
const smartlist_t *get_configured_ports(void);
|
const smartlist_t *get_configured_ports(void);
|
||||||
int get_first_advertised_v4_port_by_type(int listener_type);
|
int get_first_advertised_port_by_type_af(int listener_type, int address_family);
|
||||||
#define get_primary_or_port() \
|
#define get_primary_or_port() \
|
||||||
(get_first_advertised_v4_port_by_type(CONN_TYPE_OR_LISTENER))
|
(get_first_advertised_port_by_type_af(CONN_TYPE_OR_LISTENER, AF_INET))
|
||||||
#define get_primary_dir_port() \
|
#define get_primary_dir_port() \
|
||||||
(get_first_advertised_v4_port_by_type(CONN_TYPE_DIR_LISTENER))
|
(get_first_advertised_port_by_type_af(CONN_TYPE_DIR_LISTENER, AF_INET))
|
||||||
|
|
||||||
int options_need_geoip_info(const or_options_t *options,
|
int options_need_geoip_info(const or_options_t *options,
|
||||||
const char **reason_out);
|
const char **reason_out);
|
||||||
|
Loading…
Reference in New Issue
Block a user