From 2c105af910df6a607989143fb14a7ae67b17a9c9 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 28 Sep 2007 21:48:28 +0000 Subject: Adapted the c-ares code to the API change c-ares 1.5.0 brings in the notifier callback(s). --- CHANGES | 4 ++++ RELEASE-NOTES | 1 + lib/hostasyn.c | 12 ++++++++++++ lib/hostip.h | 16 +++++++++++++++- 4 files changed, 32 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 7d3c93a86..fb3646be9 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,10 @@ Changelog +Daniel S (28 September 2007) +- Adapted the c-ares code to the API change c-ares 1.5.0 brings in the + notifier callback(s). + Dan F (26 September 2007) - Enabled a few more gcc warnings with --enable-debug. Renamed a few variables to avoid shadowing global declarations. diff --git a/RELEASE-NOTES b/RELEASE-NOTES index c5041ee6e..c6e666dec 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -15,6 +15,7 @@ This release includes the following changes: o improved NSS support o added --proxy-negotiate o added --post301 and CURLOPT_POST301 + o builds with c-ares 1.5.0 This release includes the following bugfixes: diff --git a/lib/hostasyn.c b/lib/hostasyn.c index 792ef9ac0..b7fff8939 100644 --- a/lib/hostasyn.c +++ b/lib/hostasyn.c @@ -151,19 +151,31 @@ static CURLcode addrinfo_callback(void *arg, /* "struct connectdata *" */ CURLcode Curl_addrinfo4_callback(void *arg, /* "struct connectdata *" */ int status, +#ifdef HAVE_CARES_CALLBACK_TIMEOUTS + int timeouts, +#endif struct hostent *hostent) { +#ifdef HAVE_CARES_CALLBACK_TIMEOUTS + (void)timeouts; /* ignored */ +#endif return addrinfo_callback(arg, status, hostent); } #ifdef CURLRES_IPV6 CURLcode Curl_addrinfo6_callback(void *arg, /* "struct connectdata *" */ int status, +#ifdef HAVE_CARES_CALLBACK_TIMEOUTS + int timeouts, +#endif struct addrinfo *ai) { /* NOTE: for CURLRES_ARES, the 'ai' argument is really a * 'struct hostent' pointer. */ +#ifdef HAVE_CARES_CALLBACK_TIMEOUTS + (void)timeouts; /* ignored */ +#endif return addrinfo_callback(arg, status, ai); } #endif diff --git a/lib/hostip.h b/lib/hostip.h index 199c666bd..53093c169 100644 --- a/lib/hostip.h +++ b/lib/hostip.h @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2006, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2007, 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 @@ -35,6 +35,10 @@ * Setup comfortable CURLRES_* defines to use in the host*.c sources. */ +#ifdef USE_ARES +#include +#endif + #ifdef USE_ARES #define CURLRES_ASYNCH #define CURLRES_ARES @@ -85,6 +89,10 @@ #ifdef CURLRES_ARES #define CURL_ASYNC_SUCCESS ARES_SUCCESS +#if ARES_VERSION >= 0x010500 +/* c-ares 1.5.0 or later, the callback proto is modified */ +#define HAVE_CARES_CALLBACK_TIMEOUTS 1 +#endif #else #define CURL_ASYNC_SUCCESS CURLE_OK #define ares_cancel(x) do {} while(0) @@ -216,11 +224,17 @@ int curl_dogetnameinfo(GETNAMEINFO_QUAL_ARG1 GETNAMEINFO_TYPE_ARG1 sa, resolve, ipv4 */ CURLcode Curl_addrinfo4_callback(void *arg, int status, +#ifdef HAVE_CARES_CALLBACK_TIMEOUTS + int timeouts, +#endif struct hostent *hostent); /* This is the callback function that is used when we build with asynch resolve, ipv6 */ CURLcode Curl_addrinfo6_callback(void *arg, int status, +#ifdef HAVE_CARES_CALLBACK_TIMEOUTS + int timeouts, +#endif struct addrinfo *ai); -- cgit v1.2.3