[curl/f19] show proper host name on failed resolve (#957173)

Kamil Dudka kdudka at fedoraproject.org
Fri Apr 26 14:59:23 UTC 2013


commit 4420b5761db6363fc6d135f942a337c2fce860d7
Author: Kamil Dudka <kdudka at redhat.com>
Date:   Fri Apr 26 16:54:13 2013 +0200

    show proper host name on failed resolve (#957173)

 0006-curl-7.29.0-25e577b3.patch |   86 +++++++++++++++++++++++++++++++++++++++
 curl.spec                       |    9 ++++-
 2 files changed, 94 insertions(+), 1 deletions(-)
---
diff --git a/0006-curl-7.29.0-25e577b3.patch b/0006-curl-7.29.0-25e577b3.patch
new file mode 100644
index 0000000..2b6a786
--- /dev/null
+++ b/0006-curl-7.29.0-25e577b3.patch
@@ -0,0 +1,86 @@
+From 74d01a8e4d48eedc526cffaf6a6bc782b139e068 Mon Sep 17 00:00:00 2001
+From: Kim Vandry <vandry at users.sf.net>
+Date: Mon, 18 Feb 2013 21:36:34 +0100
+Subject: [PATCH 1/2] Curl_resolver_is_resolved: show proper host name on failed resolve
+
+[upstream commit 25e577b33d00afb6630cf2cac98d6baa319e9aef]
+
+Signed-off-by: Kamil Dudka <kdudka at redhat.com>
+---
+ lib/asyn-thread.c |   35 ++++++++++++++++++++---------------
+ 1 files changed, 20 insertions(+), 15 deletions(-)
+
+diff --git a/lib/asyn-thread.c b/lib/asyn-thread.c
+index 7a8294d..c392b21 100644
+--- a/lib/asyn-thread.c
++++ b/lib/asyn-thread.c
+@@ -430,8 +430,19 @@ static const char *gai_strerror(int ecode)
+  * error
+  */
+ 
+-static void resolver_error(struct connectdata *conn, const char *host_or_proxy)
++static CURLcode resolver_error(struct connectdata *conn)
+ {
++  const char *host_or_proxy;
++  CURLcode rc;
++  if(conn->bits.httpproxy) {
++    host_or_proxy = "proxy";
++    rc = CURLE_COULDNT_RESOLVE_PROXY;
++  }
++  else {
++    host_or_proxy = "host";
++    rc = CURLE_COULDNT_RESOLVE_HOST;
++  }
++
+   failf(conn->data, "Could not resolve %s: %s; %s", host_or_proxy,
+         conn->async.hostname,
+ #ifdef HAVE_GAI_STRERROR
+@@ -442,6 +453,7 @@ static void resolver_error(struct connectdata *conn, const char *host_or_proxy)
+         Curl_strerror(conn, conn->async.status)
+ #endif
+     );
++  return rc;
+ }
+ 
+ /*
+@@ -473,17 +485,9 @@ CURLcode Curl_resolver_wait_resolv(struct connectdata *conn,
+   if(entry)
+     *entry = conn->async.dns;
+ 
+-  if(!conn->async.dns) {
+-    /* a name was not resolved */
+-    if(conn->bits.httpproxy) {
+-      resolver_error(conn, "proxy");
+-      rc = CURLE_COULDNT_RESOLVE_PROXY;
+-    }
+-    else {
+-      resolver_error(conn, "host");
+-      rc = CURLE_COULDNT_RESOLVE_HOST;
+-    }
+-  }
++  if(!conn->async.dns)
++    /* a name was not resolved, report error */
++    rc = resolver_error(conn);
+ 
+   destroy_async_data(&conn->async);
+ 
+@@ -518,12 +522,13 @@ CURLcode Curl_resolver_is_resolved(struct connectdata *conn,
+ 
+   if(done) {
+     getaddrinfo_complete(conn);
+-    destroy_async_data(&conn->async);
+ 
+     if(!conn->async.dns) {
+-      resolver_error(conn, "host");
+-      return CURLE_COULDNT_RESOLVE_HOST;
++      CURLcode rc = resolver_error(conn);
++      destroy_async_data(&conn->async);
++      return rc;
+     }
++    destroy_async_data(&conn->async);
+     *entry = conn->async.dns;
+   }
+   else {
+-- 
+1.7.1
+
diff --git a/curl.spec b/curl.spec
index 6935e31..36041b8 100644
--- a/curl.spec
+++ b/curl.spec
@@ -1,7 +1,7 @@
 Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
 Name: curl
 Version: 7.29.0
-Release: 5%{?dist}
+Release: 6%{?dist}
 License: MIT
 Group: Applications/Internet
 Source: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma
@@ -22,6 +22,9 @@ Patch4: 0004-curl-7.29.0-57ccdfa8.patch
 # fix cookie tailmatching to prevent cross-domain leakage (CVE-2013-1944)
 Patch5: 0005-curl-7.29.0-2eb8dcf2.patch
 
+# show proper host name on failed resolve (#957173)
+Patch6: 0006-curl-7.29.0-25e577b3.patch
+
 # patch making libcurl multilib ready
 Patch101: 0101-curl-7.29.0-multilib.patch
 
@@ -120,6 +123,7 @@ documentation of the library, too.
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
 
 # Fedora patches
 %patch101 -p1
@@ -237,6 +241,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/aclocal/libcurl.m4
 
 %changelog
+* Fri Apr 26 2013 Kamil Dudka <kdudka at redhat.com> 7.29.0-6
+- show proper host name on failed resolve (#957173)
+
 * Fri Apr 12 2013 Kamil Dudka <kdudka at redhat.com> 7.29.0-5
 - fix cookie tailmatching to prevent cross-domain leakage (CVE-2013-1944)
 


More information about the scm-commits mailing list