[curl] fix duplicated SSL handshake with multi interface and proxy (#788526)

Kamil Dudka kdudka at fedoraproject.org
Sat Jun 9 10:54:02 UTC 2012


commit e6d221c6039a24f4c30572947cdf2d7970733935
Author: Kamil Dudka <kdudka at redhat.com>
Date:   Sat Jun 9 12:44:03 2012 +0200

    fix duplicated SSL handshake with multi interface and proxy (#788526)

 0002-curl-7.26.0-68857e40.patch |   42 +++++++++++++++++++++++++++++++++++++++
 curl.spec                       |    9 +++++++-
 2 files changed, 50 insertions(+), 1 deletions(-)
---
diff --git a/0002-curl-7.26.0-68857e40.patch b/0002-curl-7.26.0-68857e40.patch
new file mode 100644
index 0000000..faaf9c8
--- /dev/null
+++ b/0002-curl-7.26.0-68857e40.patch
@@ -0,0 +1,42 @@
+From 68857e40d69ef792bfcc6d7395c65305a4117c51 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka at redhat.com>
+Date: Fri, 8 Jun 2012 23:02:57 +0200
+Subject: [PATCH] ssl: fix duplicated SSL handshake with multi interface and proxy
+
+Bug: https://bugzilla.redhat.com/788526
+Reported by: Enrico Scholz
+---
+ lib/sslgen.c  |   10 +++++-----
+ 1 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/lib/sslgen.c b/lib/sslgen.c
+index a77fd78..14649a9 100644
+--- a/lib/sslgen.c
++++ b/lib/sslgen.c
+@@ -211,18 +211,18 @@ CURLcode
+ Curl_ssl_connect_nonblocking(struct connectdata *conn, int sockindex,
+                              bool *done)
+ {
+-#ifdef curlssl_connect_nonblocking
+   CURLcode res;
+   /* mark this is being ssl requested from here on. */
+   conn->ssl[sockindex].use = TRUE;
++#ifdef curlssl_connect_nonblocking
+   res = curlssl_connect_nonblocking(conn, sockindex, done);
+-  if(!res && *done)
+-    Curl_pgrsTime(conn->data, TIMER_APPCONNECT); /* SSL is connected */
+-  return res;
+ #else
+   *done = TRUE; /* fallback to BLOCKING */
+-  return Curl_ssl_connect(conn, sockindex);
++  res = curlssl_connect(conn, sockindex);
+ #endif /* non-blocking connect support */
++  if(!res && *done)
++    Curl_pgrsTime(conn->data, TIMER_APPCONNECT); /* SSL is connected */
++  return res;
+ }
+ 
+ /*
+-- 
+1.7.1
+
diff --git a/curl.spec b/curl.spec
index 31d6b5e..9ba2adf 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.26.0
-Release: 3%{?dist}
+Release: 4%{?dist}
 License: MIT
 Group: Applications/Internet
 Source: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma
@@ -11,6 +11,9 @@ Source3: hide_selinux.c
 # use human-readable error messages provided by NSS
 Patch1: 0001-curl-7.26.0-72f4b534.patch
 
+# fix duplicated SSL handshake with multi interface and proxy (#788526)
+Patch2: 0002-curl-7.26.0-68857e40.patch
+
 # patch making libcurl multilib ready
 Patch101: 0101-curl-7.25.0-multilib.patch
 
@@ -111,6 +114,7 @@ documentation of the library, too.
 
 # upstream patches
 %patch1 -p1
+%patch2 -p1
 
 # Fedora patches
 %patch101 -p1
@@ -233,6 +237,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/aclocal/libcurl.m4
 
 %changelog
+* Sat Jun 09 2012 Kamil Dudka <kdudka at redhat.com> 7.26.0-4
+- fix duplicated SSL handshake with multi interface and proxy (#788526)
+
 * Wed May 30 2012 Karsten Hopp <karsten at redhat.com> 7.26.0-3
 - disable test 1319 on ppc64, server times out
 


More information about the scm-commits mailing list