aboutsummaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-11-06 13:35:31 -0500
committerNick Mathewson <nickm@torproject.org>2012-11-14 23:16:40 -0500
commit35ce42118fa84825b4eca5e53617563100c8477e (patch)
treeb84865d3c3dab64b4a93103bed2f7d7a6819b72b /src/or
parent1cc77365753a298de6e1706d2faa592f6ed33b95 (diff)
downloadtor-35ce42118fa84825b4eca5e53617563100c8477e.tar
tor-35ce42118fa84825b4eca5e53617563100c8477e.tar.gz
Make address_is_invalid_destination recognize ipv6 addrs as valid.
Diffstat (limited to 'src/or')
-rw-r--r--src/or/addressmap.c7
-rw-r--r--src/or/dns.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/src/or/addressmap.c b/src/or/addressmap.c
index 75cfca644..98448ebdd 100644
--- a/src/or/addressmap.c
+++ b/src/or/addressmap.c
@@ -902,6 +902,13 @@ address_is_invalid_destination(const char *address, int client)
return 0;
}
+ /* It might be an IPv6 address! */
+ {
+ tor_addr_t a;
+ if (tor_addr_parse(&a, address) >= 0)
+ return 0;
+ }
+
while (*address) {
if (TOR_ISALNUM(*address) ||
*address == '-' ||
diff --git a/src/or/dns.c b/src/or/dns.c
index 075827947..780cae06b 100644
--- a/src/or/dns.c
+++ b/src/or/dns.c
@@ -1334,7 +1334,7 @@ make_pending_resolve_cached(cached_resolve_t *resolve)
cached_resolve_t *new_resolve = tor_memdup(resolve,
sizeof(cached_resolve_t));
uint32_t ttl = UINT32_MAX;
- new_resolve->expiry = 0; /* So that set_expiry won't croak. */
+ new_resolve->expire = 0; /* So that set_expiry won't croak. */
if (resolve->res_status_hostname == RES_STATUS_DONE_OK)
new_resolve->result_ptr.hostname =
tor_strdup(resolve->result_ptr.hostname);