diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-05-10 14:07:23 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-05-10 14:07:23 -0400 |
commit | e30a4311e2ebf2f33eea1228e2fc08e2b96cc094 (patch) | |
tree | 2b30efde56df5e2f845188edd93025a12c666e2f | |
parent | 8c09923f20379619adc58765a795920435a96822 (diff) | |
parent | 6b4af1071668028b367f185121688758988ff489 (diff) | |
download | tor-e30a4311e2ebf2f33eea1228e2fc08e2b96cc094.tar.gz tor-e30a4311e2ebf2f33eea1228e2fc08e2b96cc094.zip |
Merge remote-tracking branch 'linus/bug5146'
-rw-r--r-- | src/or/router.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/or/router.c b/src/or/router.c index 4cdfd02e56..c51bb5dc4d 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -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) { |