From: Nick Mathewson Date: Tue, 6 Nov 2012 18:35:31 +0000 (-0500) Subject: Make address_is_invalid_destination recognize ipv6 addrs as valid. X-Git-Tag: tor-0.2.4.7-alpha~35^2~18 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=35ce42118fa84825b4eca5e53617563100c8477e;p=thirdparty%2Ftor.git Make address_is_invalid_destination recognize ipv6 addrs as valid. --- diff --git a/src/or/addressmap.c b/src/or/addressmap.c index 75cfca6442..98448ebddf 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 0758279471..780cae06bd 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);