commit 2120e140093484725ccb7221fa117e2c18795c4b Author: teor (Tim Wilson-Brown) teor2345@gmail.com Date: Tue Mar 1 16:41:52 2016 +0100
Allow internal IPv6 addresses in descriptors in private networks --- changes/bug17153 | 4 ++++ src/or/router.c | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/changes/bug17153 b/changes/bug17153 new file mode 100644 index 0000000..15a53c1 --- /dev/null +++ b/changes/bug17153 @@ -0,0 +1,4 @@ + o Minor bugfixes (test networks, IPv6): + - Allow internal IPv6 addresses in descriptors in test networks. + Fixes bug 17153; bugfix on 6b4af1071 in 0.2.3.16-alpha. + Patch by "teor", reported by "karsten". diff --git a/src/or/router.c b/src/or/router.c index 80732c9..60b03c0 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -1941,7 +1941,11 @@ router_build_fresh_descriptor(routerinfo_t **r, extrainfo_t **e) ! p->server_cfg.no_advertise && ! p->server_cfg.bind_ipv4_only && tor_addr_family(&p->addr) == AF_INET6) { - if (! tor_addr_is_internal(&p->addr, 0)) { + /* 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); + if (! tor_addr_is_internal(&p->addr, 0) || ! default_auth) { ipv6_orport = p; break; } else {
tor-commits@lists.torproject.org