|
 |
9d7d3f |
From 74d01a8e4d48eedc526cffaf6a6bc782b139e068 Mon Sep 17 00:00:00 2001
|
|
 |
9d7d3f |
From: Kim Vandry <vandry@users.sf.net>
|
|
 |
9d7d3f |
Date: Mon, 18 Feb 2013 21:36:34 +0100
|
|
 |
9d7d3f |
Subject: [PATCH 1/2] Curl_resolver_is_resolved: show proper host name on failed resolve
|
|
 |
9d7d3f |
|
|
 |
9d7d3f |
[upstream commit 25e577b33d00afb6630cf2cac98d6baa319e9aef]
|
|
 |
9d7d3f |
|
|
 |
9d7d3f |
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
|
|
 |
9d7d3f |
---
|
|
 |
9d7d3f |
lib/asyn-thread.c | 35 ++++++++++++++++++++---------------
|
|
 |
9d7d3f |
1 files changed, 20 insertions(+), 15 deletions(-)
|
|
 |
9d7d3f |
|
|
 |
9d7d3f |
diff --git a/lib/asyn-thread.c b/lib/asyn-thread.c
|
|
 |
9d7d3f |
index 7a8294d..c392b21 100644
|
|
 |
9d7d3f |
--- a/lib/asyn-thread.c
|
|
 |
9d7d3f |
+++ b/lib/asyn-thread.c
|
|
 |
9d7d3f |
@@ -430,8 +430,19 @@ static const char *gai_strerror(int ecode)
|
|
 |
9d7d3f |
* error
|
|
 |
9d7d3f |
*/
|
|
 |
9d7d3f |
|
|
 |
9d7d3f |
-static void resolver_error(struct connectdata *conn, const char *host_or_proxy)
|
|
 |
9d7d3f |
+static CURLcode resolver_error(struct connectdata *conn)
|
|
 |
9d7d3f |
{
|
|
 |
9d7d3f |
+ const char *host_or_proxy;
|
|
 |
9d7d3f |
+ CURLcode rc;
|
|
 |
9d7d3f |
+ if(conn->bits.httpproxy) {
|
|
 |
9d7d3f |
+ host_or_proxy = "proxy";
|
|
 |
9d7d3f |
+ rc = CURLE_COULDNT_RESOLVE_PROXY;
|
|
 |
9d7d3f |
+ }
|
|
 |
9d7d3f |
+ else {
|
|
 |
9d7d3f |
+ host_or_proxy = "host";
|
|
 |
9d7d3f |
+ rc = CURLE_COULDNT_RESOLVE_HOST;
|
|
 |
9d7d3f |
+ }
|
|
 |
9d7d3f |
+
|
|
 |
9d7d3f |
failf(conn->data, "Could not resolve %s: %s; %s", host_or_proxy,
|
|
 |
9d7d3f |
conn->async.hostname,
|
|
 |
9d7d3f |
#ifdef HAVE_GAI_STRERROR
|
|
 |
9d7d3f |
@@ -442,6 +453,7 @@ static void resolver_error(struct connectdata *conn, const char *host_or_proxy)
|
|
 |
9d7d3f |
Curl_strerror(conn, conn->async.status)
|
|
 |
9d7d3f |
#endif
|
|
 |
9d7d3f |
);
|
|
 |
9d7d3f |
+ return rc;
|
|
 |
9d7d3f |
}
|
|
 |
9d7d3f |
|
|
 |
9d7d3f |
/*
|
|
 |
9d7d3f |
@@ -473,17 +485,9 @@ CURLcode Curl_resolver_wait_resolv(struct connectdata *conn,
|
|
 |
9d7d3f |
if(entry)
|
|
 |
9d7d3f |
*entry = conn->async.dns;
|
|
 |
9d7d3f |
|
|
 |
9d7d3f |
- if(!conn->async.dns) {
|
|
 |
9d7d3f |
- /* a name was not resolved */
|
|
 |
9d7d3f |
- if(conn->bits.httpproxy) {
|
|
 |
9d7d3f |
- resolver_error(conn, "proxy");
|
|
 |
9d7d3f |
- rc = CURLE_COULDNT_RESOLVE_PROXY;
|
|
 |
9d7d3f |
- }
|
|
 |
9d7d3f |
- else {
|
|
 |
9d7d3f |
- resolver_error(conn, "host");
|
|
 |
9d7d3f |
- rc = CURLE_COULDNT_RESOLVE_HOST;
|
|
 |
9d7d3f |
- }
|
|
 |
9d7d3f |
- }
|
|
 |
9d7d3f |
+ if(!conn->async.dns)
|
|
 |
9d7d3f |
+ /* a name was not resolved, report error */
|
|
 |
9d7d3f |
+ rc = resolver_error(conn);
|
|
 |
9d7d3f |
|
|
 |
9d7d3f |
destroy_async_data(&conn->async);
|
|
 |
9d7d3f |
|
|
 |
9d7d3f |
@@ -518,12 +522,13 @@ CURLcode Curl_resolver_is_resolved(struct connectdata *conn,
|
|
 |
9d7d3f |
|
|
 |
9d7d3f |
if(done) {
|
|
 |
9d7d3f |
getaddrinfo_complete(conn);
|
|
 |
9d7d3f |
- destroy_async_data(&conn->async);
|
|
 |
9d7d3f |
|
|
 |
9d7d3f |
if(!conn->async.dns) {
|
|
 |
9d7d3f |
- resolver_error(conn, "host");
|
|
 |
9d7d3f |
- return CURLE_COULDNT_RESOLVE_HOST;
|
|
 |
9d7d3f |
+ CURLcode rc = resolver_error(conn);
|
|
 |
9d7d3f |
+ destroy_async_data(&conn->async);
|
|
 |
9d7d3f |
+ return rc;
|
|
 |
9d7d3f |
}
|
|
 |
9d7d3f |
+ destroy_async_data(&conn->async);
|
|
 |
9d7d3f |
*entry = conn->async.dns;
|
|
 |
9d7d3f |
}
|
|
 |
9d7d3f |
else {
|
|
 |
9d7d3f |
--
|
|
 |
9d7d3f |
1.7.1
|
|
 |
9d7d3f |
|