[tor-commits] [tor/master] Allow IPv6 literal addresses in routersets

nickm at torproject.org nickm at torproject.org
Fri Oct 2 11:54:31 UTC 2015


commit c58b3726d6a6ab8990ec745702c21a5bb6f4a9c0
Author: teor (Tim Wilson-Brown) <teor2345 at gmail.com>
Date:   Mon Sep 14 20:01:36 2015 +1000

    Allow IPv6 literal addresses in routersets
    
    routerset_parse now accepts IPv6 literal addresses.
    
    Fix for ticket 17060. Patch by "teor".
    Patch on 3ce6e2fba290 (24 Jul 2008), and related commits,
    released in 0.2.1.3-alpha.
---
 changes/routerset-parse-IPv6-literals |    5 +++++
 src/or/routerset.c                    |    8 +++++---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/changes/routerset-parse-IPv6-literals b/changes/routerset-parse-IPv6-literals
new file mode 100644
index 0000000..c80c82c
--- /dev/null
+++ b/changes/routerset-parse-IPv6-literals
@@ -0,0 +1,5 @@
+  o Minor bug fixes (routersets, IPv6):
+    - routerset_parse now accepts IPv6 literal addresses.
+      Fix for ticket 17060. Patch by "teor".
+      Patch on 3ce6e2fba290 (24 Jul 2008), and related commits,
+      released in 0.2.1.3-alpha.
diff --git a/src/or/routerset.c b/src/or/routerset.c
index 9fe5dff..6a93a32 100644
--- a/src/or/routerset.c
+++ b/src/or/routerset.c
@@ -104,9 +104,11 @@ routerset_parse(routerset_t *target, const char *s, const char *description)
                   description);
         smartlist_add(target->country_names, countryname);
         added_countries = 1;
-      } else if ((strchr(nick,'.') || strchr(nick, '*')) &&
-                 (p = router_parse_addr_policy_item_from_string(
-                                     nick, ADDR_POLICY_REJECT))) {
+      } else if ((strchr(nick,'.') || strchr(nick, ':') ||  strchr(nick, '*'))
+                 && (p = router_parse_addr_policy_item_from_string(
+                                        nick, ADDR_POLICY_REJECT))) {
+        /* IPv4 addresses contain '.', IPv6 addresses contain ':',
+         * and wildcard addresses contain '*'. */
         log_debug(LD_CONFIG, "Adding address %s to %s", nick, description);
         smartlist_add(target->policies, p);
       } else {





More information about the tor-commits mailing list