From dcf92bffd2a22909a44b45bd7490e2575e14f82c Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sat, 31 Jan 2009 20:25:55 +0000 Subject: [PATCH] - 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! --- CHANGES | 7 +++++++ RELEASE-NOTES | 1 + lib/hostares.c | 13 ++++++++----- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/CHANGES b/CHANGES index d5fa106..8ef4e55 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,13 @@ Changelog +Daniel Stenberg (31 Jan 2009) +- 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! + Daniel Stenberg (30 Jan 2009) - Scott Cantor filed bug report #2550061 (http://curl.haxx.se/bug/view.cgi?id=2550061) mentioning that I failed to diff --git a/RELEASE-NOTES b/RELEASE-NOTES index d35eb91..a2ecac0 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -16,6 +16,7 @@ This release includes the following changes: o Added CURLOPT_SOCKS5_GSSAPI_SERVICE and CURLOPT_SOCKS5_GSSAPI_NEC - with the corresponding curl options --socks5-gssapi-service and --socks5-gssapi-nec + o Improved IPv6 support when built with with c-ares >= 1.6.1 This release includes the following bugfixes: diff --git a/lib/hostares.c b/lib/hostares.c index 1f49b67..708af4e 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: -- 2.7.4