Bradford Bruce made the windows resolver code properly return

CURLE_COULDNT_RESOLVE_PROXY and CURLE_COULDNT_RESOLVE_HOST on resolving
errors (as documented).
This commit is contained in:
Daniel Stenberg 2005-10-21 19:21:19 +00:00
parent 9d98f97e1b
commit bfa9c42c25
3 changed files with 21 additions and 8 deletions

View File

@ -8,6 +8,11 @@
Daniel (21 October 2005)
- Bradford Bruce made the windows resolver code properly return
CURLE_COULDNT_RESOLVE_PROXY and CURLE_COULDNT_RESOLVE_HOST on resolving
errors (as documented).
Daniel (20 October 2005)
- Dave Dribin made libcurl understand and handle cases when the server
(wrongly) sends *two* WWW-Authenticate headers for Digest. While this should

View File

@ -3,9 +3,9 @@ Curl and libcurl 7.15.1
Public curl release number: 91
Releases counted from the very beginning: 118
Available command line options: 109
Available curl_easy_setopt() options: 124
Available curl_easy_setopt() options: 125
Number of public functions in libcurl: 46
Amount of public web site mirrors: 24
Amount of public web site mirrors: 26
Number of known libcurl bindings: 32
Number of contributors: 459
@ -15,6 +15,7 @@ This release includes the following changes:
This release includes the following bugfixes:
o name resolve error codes fixed for Windows builds
o double WWW-Authenticate Digest headers are now handled
o curl-config --vernum fixed
@ -27,6 +28,6 @@ Other curl-related news since the previous public release:
This release would not have looked like this without help, code, reports and
advice from friends like these:
Dave Dribin
Dave Dribin, Bradford Bruce
Thanks! (and sorry if I forgot to mention someone)

View File

@ -660,15 +660,22 @@ CURLcode Curl_wait_for_resolv(struct connectdata *conn,
rc = CURLE_OUT_OF_MEMORY;
failf(data, "Could not resolve host: %s", curl_easy_strerror(rc));
}
else if(conn->async.done) {
if(conn->bits.httpproxy) {
failf(data, "Could not resolve proxy: %s; %s",
conn->proxy.dispname, Curl_strerror(conn, conn->async.status));
rc = CURLE_COULDNT_RESOLVE_PROXY;
}
else {
failf(data, "Could not resolve host: %s; %s",
conn->host.name, Curl_strerror(conn, conn->async.status));
rc = CURLE_COULDNT_RESOLVE_HOST;
}
}
else if (td->thread_status == (DWORD)-1 || conn->async.status == NO_DATA) {
failf(data, "Resolving host timed out: %s", conn->host.name);
rc = CURLE_OPERATION_TIMEDOUT;
}
else if(conn->async.done) {
failf(data, "Could not resolve host: %s; %s",
conn->host.name, Curl_strerror(conn,conn->async.status));
rc = CURLE_COULDNT_RESOLVE_HOST;
}
else
rc = CURLE_OPERATION_TIMEDOUT;
}