mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
Remove duplicate code that checks for default authorities
Patch from ericho. Fixes 18529. Simple refactoring.
This commit is contained in:
parent
0e1b228aa6
commit
1fc3e29108
@ -2471,7 +2471,7 @@ resolve_my_address(int warn_severity, const or_options_t *options,
|
||||
addr_string = tor_dup_ip(addr);
|
||||
if (tor_addr_is_internal(&myaddr, 0)) {
|
||||
/* make sure we're ok with publishing an internal IP */
|
||||
if (!options->DirAuthorities && !options->AlternateDirAuthority) {
|
||||
if (is_default_dir_authorities(options)) {
|
||||
/* if they are using the default authorities, disallow internal IPs
|
||||
* always. */
|
||||
log_fn(warn_severity, LD_CONFIG,
|
||||
|
@ -76,6 +76,8 @@ MOCK_DECL(char *,
|
||||
#define get_datadir_fname_suffix(sub1, suffix) \
|
||||
get_datadir_fname2_suffix((sub1), NULL, (suffix))
|
||||
|
||||
inline int is_default_dir_authorities(const or_options_t *options);
|
||||
|
||||
int check_or_create_data_subdir(const char *subdir);
|
||||
int write_to_data_subdir(const char* subdir, const char* fname,
|
||||
const char* str, const char* descr);
|
||||
@ -147,6 +149,14 @@ smartlist_t *get_options_from_transport_options_line(const char *line,
|
||||
const char *transport);
|
||||
smartlist_t *get_options_for_server_transport(const char *transport);
|
||||
|
||||
/* Check if we are using default authorities */
|
||||
inline int
|
||||
is_default_dir_authorities(const or_options_t *options)
|
||||
{
|
||||
return (!options->DirAuthorities &&
|
||||
!options->AlternateDirAuthority) ? 1 : 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PRIVATE
|
||||
|
||||
#define CL_PORT_NO_STREAM_OPTIONS (1u<<0)
|
||||
|
@ -2093,8 +2093,7 @@ router_build_fresh_descriptor(routerinfo_t **r, extrainfo_t **e)
|
||||
tor_addr_family(&p->addr) == AF_INET6) {
|
||||
/* Like IPv4, if the relay is configured using the default
|
||||
* authorities, disallow internal IPs. Otherwise, allow them. */
|
||||
const int default_auth = (!options->DirAuthorities &&
|
||||
!options->AlternateDirAuthority);
|
||||
const int default_auth = is_default_dir_authorities(options);
|
||||
if (! tor_addr_is_internal(&p->addr, 0) || ! default_auth) {
|
||||
ipv6_orport = p;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user