Commit 2b98df3c authored by Nick Mathewson's avatar Nick Mathewson 🌎
Browse files

Merge remote-tracking branch 'tor-github/pr/1910/head'

parents 284e9459 8b568b50
......@@ -110,6 +110,8 @@ resolve_my_address(int warn_severity, const or_options_t *options,
if (address && *address) {
strlcpy(hostname, address, sizeof(hostname));
log_debug(LD_CONFIG, "Trying configured Address '%s' as local hostname",
hostname);
} else { /* then we need to guess our address */
explicit_ip = 0; /* it's implicit */
explicit_hostname = 0; /* it's implicit */
......@@ -129,6 +131,8 @@ resolve_my_address(int warn_severity, const or_options_t *options,
if (tor_inet_aton(hostname, &in) == 0) {
/* then we have to resolve it */
log_debug(LD_CONFIG, "Local hostname '%s' is DNS address. "
"Trying to resolve to IP address.", hostname);
explicit_ip = 0;
if (tor_lookup_hostname(hostname, &addr)) { /* failed to resolve */
uint32_t interface_ip; /* host order */
......@@ -180,6 +184,8 @@ resolve_my_address(int warn_severity, const or_options_t *options,
}
}
} else {
log_debug(LD_CONFIG, "Local hostname '%s' is already IP address, "
"skipping DNS resolution", hostname);
addr = ntohl(in.s_addr); /* set addr so that addr_string is not
* illformed */
}
......
......@@ -1694,11 +1694,15 @@ get_interface_address6,(int severity, sa_family_t family, tor_addr_t *addr))
* Ideally, we want the default route, see #12377 for details */
SMARTLIST_FOREACH_BEGIN(addrs, tor_addr_t *, a) {
tor_addr_copy(addr, a);
const bool is_internal = tor_addr_is_internal(a, 0);
rv = 0;
log_debug(LD_NET, "Found %s interface address '%s'",
(is_internal ? "internal" : "external"), fmt_addr(addr));
/* If we found a non-internal address, declare success. Otherwise,
* keep looking. */
if (!tor_addr_is_internal(a, 0))
if (!is_internal)
break;
} SMARTLIST_FOREACH_END(a);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment