Curl_resolver_is_resolved: differentiate between host/proxy errors

As there are different return codes for host vs proxy errors, this function
now properly returns the code properly depending on what was attempted to get
resolved.

Bug: http://curl.haxx.se/mail/archive-2011-12/0010.html
Reported by: Jason Liu
This commit is contained in:
Daniel Stenberg 2011-12-05 12:44:55 +01:00
parent 0cf05af744
commit c50dbf670f
1 changed files with 5 additions and 2 deletions

View File

@ -331,9 +331,12 @@ CURLcode Curl_resolver_is_resolved(struct connectdata *conn,
res->temp_ai = NULL;
destroy_async_data(&conn->async);
if(!conn->async.dns) {
failf(data, "Could not resolve host: %s (%s)", conn->host.dispname,
failf(data, "Could not resolve %s: %s (%s)",
conn->bits.proxy?"proxy":"host",
conn->host.dispname,
ares_strerror(conn->async.status));
return CURLE_COULDNT_RESOLVE_HOST;
return conn->bits.proxy?CURLE_COULDNT_RESOLVE_PROXY:
CURLE_COULDNT_RESOLVE_HOST;
}
*dns = conn->async.dns;
}