Merge remote-tracking branch 'linus/bug5146'

This commit is contained in:
Nick Mathewson
2012-05-10 14:07:23 -04:00
+12 -4
View File
@@ -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) {