summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-03-06 13:20:21 -0500
committerNick Mathewson <nickm@torproject.org>2011-03-06 13:20:21 -0500
commited14888e7e9ffb1877ddb7780b5033314d244fb3 (patch)
treec50d3ec32e2bece12d0032b87aaeaed6e9513456
parent9f614507b6db75fff5491be4c6eeed07c2c3818d (diff)
parent8b01fd7badc893b849d4394a2b72d422eecf7913 (diff)
downloadtor-ed14888e7e9ffb1877ddb7780b5033314d244fb3.tar.gz
tor-ed14888e7e9ffb1877ddb7780b5033314d244fb3.zip
Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2
Conflicts: src/or/policies.c
-rw-r--r--changes/ipv6_crash3
-rw-r--r--src/or/policies.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/changes/ipv6_crash b/changes/ipv6_crash
new file mode 100644
index 0000000000..2b04355a57
--- /dev/null
+++ b/changes/ipv6_crash
@@ -0,0 +1,3 @@
+ o Major bugfixes (directory authority)
+ - Fix a crash in parsing router descriptors containing IPv6
+ addresses. Bugfix on 0.2.1.3-alpha.
diff --git a/src/or/policies.c b/src/or/policies.c
index 38c2f7c0fd..e48f42058f 100644
--- a/src/or/policies.c
+++ b/src/or/policies.c
@@ -888,6 +888,8 @@ exit_policy_is_general_exit_helper(smartlist_t *policy, int port)
memset(subnet_status, 0, sizeof(subnet_status));
SMARTLIST_FOREACH(policy, addr_policy_t *, p, {
+ if (tor_addr_family(&p->addr) != AF_INET)
+ continue; /* IPv4 only for now */
if (p->prt_min > port || p->prt_max < port)
continue; /* Doesn't cover our port. */
mask = 0;