From dcf92bffd2a22909a44b45bd7490e2575e14f82c Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sat, 31 Jan 2009 20:25:55 +0000 Subject: - When building with c-ares 1.6.1 (not yet released) or later and IPv6 support enabled, we can now take advantage of its brand new AF_UNSPEC support in ares_gethostbyname(). This makes test case 241 finally run fine for me wtih this setup since it now parses the "::1 ip6-localhost" line fine in my /etc/hosts file! --- lib/hostares.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/hostares.c b/lib/hostares.c index 1f49b6784..708af4e86 100644 --- a/lib/hostares.c +++ b/lib/hostares.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2008, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2009, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -326,11 +326,14 @@ Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn, } switch(data->set.ip_version) { + default: +#if ARES_VERSION >= 0x010601 + family = PF_UNSPEC; /* supported by c-ares since 1.6.1, so for older + c-ares versions this just falls through and defaults + to PF_INET */ + break; +#endif case CURL_IPRESOLVE_V4: - default: /* By default we try ipv4, as PF_UNSPEC isn't supported by c-ares. - This is a bit disturbing since users may very well assume that - both kinds of addresses are asked for, but the problem is really - in c-ares' end here. */ family = PF_INET; break; case CURL_IPRESOLVE_V6: -- cgit v1.2.3