commit be76850995f337337dd94be66a9f03b35d8b1412 Author: Nick Mathewson nickm@torproject.org Date: Mon May 23 17:42:38 2011 -0400
Work correctly if your nameserver is ::1
We had all the code in place to handle this right... except that we were unconditionally opening a PF_INET socket instead of looking at sa_family. Ow.
Fixes bug 2574; not a bugfix on any particular version, since this never worked before. --- changes/bug2574 | 2 ++ src/or/eventdns.c | 2 +- 2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/changes/bug2574 b/changes/bug2574 new file mode 100644 index 0000000..32f4ae4 --- /dev/null +++ b/changes/bug2574 @@ -0,0 +1,2 @@ + o Minor features: + - Allow nameserves with IPv6 address. Fixes bug 2574. diff --git a/src/or/eventdns.c b/src/or/eventdns.c index 2777f90..adab22b 100644 --- a/src/or/eventdns.c +++ b/src/or/eventdns.c @@ -2320,7 +2320,7 @@ _evdns_nameserver_add_impl(const struct sockaddr *address, memset(ns, 0, sizeof(struct nameserver)); ns->timeout_event_deleted = __LINE__;
- ns->socket = socket(PF_INET, SOCK_DGRAM, 0); + ns->socket = socket(address->sa_family, SOCK_DGRAM, 0); if (ns->socket < 0) { err = 1; goto out1; } #ifdef WIN32 {