mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 05:33:47 +01:00
Ignore [::] when building descriptors.
This is how IPv6 says "0.0.0.0" and something we will have to translate into a globally reachable address before putting it in a descriptor. The fix is a short term solution until a real one is implemented. Closes #5146.
This commit is contained in:
parent
c9afd6f9c5
commit
6b4af10716
@ -1530,10 +1530,18 @@ router_rebuild_descriptor(int force)
|
||||
if (p->type == CONN_TYPE_OR_LISTENER &&
|
||||
! p->no_advertise &&
|
||||
! p->ipv4_only &&
|
||||
tor_addr_family(&p->addr) == AF_INET6 &&
|
||||
! tor_addr_is_internal(&p->addr, 1)) {
|
||||
ipv6_orport = p;
|
||||
break;
|
||||
tor_addr_family(&p->addr) == AF_INET6) {
|
||||
if (! tor_addr_is_internal(&p->addr, 0)) {
|
||||
ipv6_orport = p;
|
||||
break;
|
||||
} else {
|
||||
char addrbuf[TOR_ADDR_BUF_LEN];
|
||||
log_warn(LD_CONFIG,
|
||||
"Unable to use configured IPv6 address \"%s\" in a "
|
||||
"descriptor. Skipping it. "
|
||||
"Try specifying a globally reachable address explicitly. ",
|
||||
tor_addr_to_str(addrbuf, &p->addr, sizeof(addrbuf), 1));
|
||||
}
|
||||
}
|
||||
} SMARTLIST_FOREACH_END(p);
|
||||
if (ipv6_orport) {
|
||||
|
Loading…
Reference in New Issue
Block a user