Allow internal IPv6 addresses in descriptors in private networks

This commit is contained in:
teor (Tim Wilson-Brown) 2016-03-01 16:41:52 +01:00
parent 9fc472e1a8
commit 2120e14009
2 changed files with 9 additions and 1 deletions

4
changes/bug17153 Normal file
View File

@ -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".

View File

@ -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 {