diff options
author | Daniel Stenberg <daniel@haxx.se> | 2012-01-12 23:13:19 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2012-01-12 23:13:19 +0100 |
commit | 9f20379fe445d0994daa11d022270aea5ab99af6 (patch) | |
tree | ae270fbf9f829ef8161697c2239bd6333232faef | |
parent | 123c92c904b2f258ae69e211aa2663e80cb5429a (diff) |
hostip: avoid getaddrinfo when c-ares is used
Some functions using getaddrinfo and gethostbyname were still
mistakingly being used/linked even if c-ares was selected as resolver
backend.
Reported by: Arthur Murray
Bug: http://curl.haxx.se/mail/lib-2012-01/0160.html
-rw-r--r-- | lib/hostip4.c | 5 | ||||
-rw-r--r-- | lib/setup.h | 3 | ||||
-rw-r--r-- | lib/tftp.c | 4 |
3 files changed, 9 insertions, 3 deletions
diff --git a/lib/hostip4.c b/lib/hostip4.c index 1a5e26585..f68618c08 100644 --- a/lib/hostip4.c +++ b/lib/hostip4.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -119,6 +119,8 @@ Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn, #endif /* CURLRES_SYNCH */ #endif /* CURLRES_IPV4 */ +#if defined(CURLRES_IPV4) && !defined(CURLRES_ARES) + /* * Curl_ipv4_resolve_r() - ipv4 threadsafe resolver function. * @@ -311,3 +313,4 @@ Curl_addrinfo *Curl_ipv4_resolve_r(const char *hostname, return ai; } +#endif /* defined(CURLRES_IPV4) && !defined(CURLRES_ARES) */ diff --git a/lib/setup.h b/lib/setup.h index f6e39d9ee..446c793c0 100644 --- a/lib/setup.h +++ b/lib/setup.h @@ -487,6 +487,9 @@ #ifdef USE_ARES # define CURLRES_ASYNCH # define CURLRES_ARES +/* now undef the stock libc functions just to avoid them being used */ +# undef HAVE_GETADDRINFO +# undef HAVE_GETHOSTBYNAME #elif defined(USE_THREADS_POSIX) || defined(USE_THREADS_WIN32) # define CURLRES_ASYNCH # define CURLRES_THREADED diff --git a/lib/tftp.c b/lib/tftp.c index 370665a43..85404de8b 100644 --- a/lib/tftp.c +++ b/lib/tftp.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -727,7 +727,7 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event) } else { /* Re-send the data packet */ - sbytes = sendto(state->sockfd, (void *)&state->spacket.data, + sbytes = sendto(state->sockfd, (void *)state->spacket.data, 4+state->sbytes, SEND_4TH_ARG, (struct sockaddr *)&state->remote_addr, state->remote_addrlen); |