Changelog
+Daniel Stenberg (26 Jan 2010)
+- Mike Crowe made libcurl return CURLE_COULDNT_RESOLVE_PROXY when it is the
+ proxy that cannot be resolved when using c-ares. This matches the behaviour
+ when not using c-ares.
+
Björn Stenberg (23 Jan 2010)
- Added a new flag: -J/--remote-header-name. This option tells the
-O/--remote-name option to use the server-specified Content-Disposition
Markus Koetter, Chad Monroe, Martin Storsjo, Siegfried Gyuricsko,
Jon Nelson, Julien Chaffraix, Renato Botelho, Peter Pentchev, Ingmar Runge,
Johan van Selst, Charles Kerr, Gil Weber, David McCreedy, Chris Conroy,
- Björn Stenberg
+ Bjorn Stenberg, Mike Crowe
Thanks! (and sorry if I forgot to mention someone)
if(!conn->async.dns) {
/* a name was not resolved */
if((timeout < 0) || (conn->async.status == ARES_ETIMEOUT)) {
- failf(data, "Resolving host timed out: %s", conn->host.dispname);
- rc = CURLE_COULDNT_RESOLVE_HOST;
+ if (conn->bits.httpproxy) {
+ failf(data, "Resolving proxy timed out: %s", conn->proxy.dispname);
+ rc = CURLE_COULDNT_RESOLVE_PROXY;
+ }
+ else {
+ failf(data, "Resolving host timed out: %s", conn->host.dispname);
+ rc = CURLE_COULDNT_RESOLVE_HOST;
+ }
}
else if(conn->async.done) {
- failf(data, "Could not resolve host: %s (%s)", conn->host.dispname,
- ares_strerror(conn->async.status));
- rc = CURLE_COULDNT_RESOLVE_HOST;
+ if (conn->bits.httpproxy) {
+ failf(data, "Could not resolve proxy: %s (%s)", conn->proxy.dispname,
+ ares_strerror(conn->async.status));
+ rc = CURLE_COULDNT_RESOLVE_PROXY;
+ }
+ else {
+ failf(data, "Could not resolve host: %s (%s)", conn->host.dispname,
+ ares_strerror(conn->async.status));
+ rc = CURLE_COULDNT_RESOLVE_HOST;
+ }
}
else
rc = CURLE_OPERATION_TIMEDOUT;
{
struct connectdata *conn = (struct connectdata *)arg;
struct Curl_addrinfo * ai = NULL;
-
+
#ifdef HAVE_CARES_CALLBACK_TIMEOUTS
(void)timeouts; /* ignored */
#endif
if (status == CURL_ASYNC_SUCCESS) {
ai = Curl_he2ai(hostent, conn->async.port);
}
-
+
(void)Curl_addrinfo_callback(arg, status, ai);
}