Skip to content
Snippets Groups Projects
Commit 19f45eaa authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

duphandle: use ares_dup()

curl_easy_duphandle() was not properly duping the ares channel. The
ares_dup() function was introduced in c-ares 1.6.0 so by starting to use
this function we also raise the bar and require c-ares >= 1.6.0
(released Dec 9, 2008) for such builds.

Reported by: Ning Dong
Bug: http://curl.haxx.se/mail/lib-2010-08/0318.html
parent 70a025f3
No related branches found
No related tags found
No related merge requests found
......@@ -37,7 +37,7 @@ Portability
GnuTLS 1.2
zlib 1.1.4
libssh2 0.16
c-ares 1.5.0
c-ares 1.6.0
libidn 0.4.1
*yassl 1.4.0 (http://curl.haxx.se/mail/lib-2008-02/0093.html)
openldap 2.0
......
......@@ -700,8 +700,9 @@ CURL *curl_easy_duphandle(CURL *incurl)
}
#ifdef USE_ARES
/* If we use ares, we setup a new ares channel for the new handle */
if(ARES_SUCCESS != ares_init(&outcurl->state.areschannel))
/* If we use ares, we clone the ares channel for the new handle */
if(ARES_SUCCESS != ares_dup(&outcurl->state.areschannel,
data->state.areschannel))
break;
#endif
......
......@@ -472,6 +472,7 @@ AC_DEFUN([CURL_CHECK_LIB_ARES], [
ares_channel channel;
ares_cancel(channel); /* added in 1.2.0 */
ares_process_fd(channel, 0, 0); /* added in 1.4.0 */
ares_dup(&channel, channel); /* added in 1.6.0 */
]])
],[
AC_MSG_RESULT([yes])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment