rpms/curl/devel curl-7.20.1-82e9b78.patch, NONE, 1.1 curl.spec, 1.153, 1.154 curl-7.20.1-157f20f.patch, 1.1, NONE

Kamil Dudka kdudka at fedoraproject.org
Sat Apr 24 21:56:59 UTC 2010


Author: kdudka

Update of /cvs/extras/rpms/curl/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv4951

Modified Files:
	curl.spec 
Added Files:
	curl-7.20.1-82e9b78.patch 
Removed Files:
	curl-7.20.1-157f20f.patch 
Log Message:
Oops, upstream commit 157f20fd2ce7d8519b863e57f3d77d17fb41bc9c does not exist...

curl-7.20.1-82e9b78.patch:
 CHANGES   |    3 +++
 lib/nss.c |   10 +++++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

--- NEW FILE curl-7.20.1-82e9b78.patch ---
>From 82e9b78a388ab539c8784cd853adf6e4a97d52c5 Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka at redhat.com>
Date: Sat, 24 Apr 2010 23:21:13 +0200
Subject: [PATCH] nss: fix SSL handshake timeout underflow

 lib/nss.c |   10 +++++++++-
 2 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/CHANGES b/CHANGES
index 99f04a5..7433364 100644
--- a/CHANGES
+++ b/CHANGES
@@ -10,6 +10,9 @@ Kamil Dudka (24 Apr 2010)
 - Fixed test536 in order to not fail with threaded DNS resolver and tweaked
   comments in certain examples using curl_multi_fdset().
 
+- Fixed SSL handshake timeout underflow in libcurl-NSS, which caused test405
+  to hang on a slow machine.
+
 Version 7.20.1 (14 April 2010)
 
 Daniel Stenberg (9 Apr 2010)
diff --git a/lib/nss.c b/lib/nss.c
index 0f8ebd5..addb94b 100644
--- a/lib/nss.c
+++ b/lib/nss.c
@@ -1025,6 +1025,7 @@ CURLcode Curl_nss_connect(struct connectdata *conn, int sockindex)
   int curlerr;
   const int *cipher_to_enable;
   PRSocketOptionData sock_opt;
+  long time_left;
   PRUint32 timeout;
 
   curlerr = CURLE_SSL_CONNECT_ERROR;
@@ -1302,8 +1303,15 @@ CURLcode Curl_nss_connect(struct connectdata *conn, int sockindex)
 
   SSL_SetURL(connssl->handle, conn->host.name);
 
+  /* check timeout situation */
+  time_left = Curl_timeleft(conn, NULL, TRUE);
+  if(time_left < 0L) {
+    failf(data, "timed out before SSL handshake");
+    goto error;
+  }
+  timeout = PR_MillisecondsToInterval((PRUint32) time_left);
+
   /* Force the handshake now */
-  timeout = PR_MillisecondsToInterval((PRUint32)Curl_timeleft(conn, NULL, TRUE));
   if(SSL_ForceHandshakeWithTimeout(connssl->handle, timeout) != SECSuccess) {
     if(conn->data->set.ssl.certverifyresult == SSL_ERROR_BAD_CERT_DOMAIN)
       curlerr = CURLE_PEER_FAILED_VERIFICATION;


Index: curl.spec
===================================================================
RCS file: /cvs/extras/rpms/curl/devel/curl.spec,v
retrieving revision 1.153
retrieving revision 1.154
diff -u -p -r1.153 -r1.154
--- curl.spec	24 Apr 2010 21:40:02 -0000	1.153
+++ curl.spec	24 Apr 2010 21:56:59 -0000	1.154
@@ -13,8 +13,8 @@ Patch0: curl-7.20.0-e32fe30.patch
 # upstream commit d487ade72c5f31703ce097e8460e0225fad80348
 Patch1: curl-7.20.1-d487ade.patch
 
-# upstream commit 157f20fd2ce7d8519b863e57f3d77d17fb41bc9c
-Patch2: curl-7.20.1-157f20f.patch
+# upstream commit 82e9b78a388ab539c8784cd853adf6e4a97d52c5
+Patch2: curl-7.20.1-82e9b78.patch
 
 # patch making libcurl multilib ready
 Patch101: curl-7.20.0-multilib.patch


--- curl-7.20.1-157f20f.patch DELETED ---



More information about the scm-commits mailing list