[tor-commits] [tor/master] Allow internal IPv6 addresses in descriptors in private networks

nickm at torproject.org nickm at torproject.org
Fri Mar 11 16:26:39 UTC 2016


commit 2120e140093484725ccb7221fa117e2c18795c4b
Author: teor (Tim Wilson-Brown) <teor2345 at 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 {





More information about the tor-commits mailing list