aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Dudka <kdudka@redhat.com>2012-06-08 23:02:57 +0200
committerKamil Dudka <kdudka@redhat.com>2012-06-08 23:27:11 +0200
commit68857e40d69ef792bfcc6d7395c65305a4117c51 (patch)
tree9f58fb373e9ab368d1a6fd746bcffd5aa0ee3319
parentdd576194ceaf6d9fef625332395a51fca0fca657 (diff)
ssl: fix duplicated SSL handshake with multi interface and proxy
Bug: https://bugzilla.redhat.com/788526 Reported by: Enrico Scholz
-rw-r--r--RELEASE-NOTES3
-rw-r--r--lib/sslgen.c10
2 files changed, 7 insertions, 6 deletions
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 44dda1f03..fa85b190b 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -24,6 +24,7 @@ This release includes the following bugfixes:
o cmdline: made -D option work with -O and -J
o configure: Fix libcurl.pc and curl-config generation for static MingW*
cross builds
+ o ssl: fix duplicated SSL handshake with multi interface and proxy [1]
This release includes the following known bugs:
@@ -39,4 +40,4 @@ advice from friends like these:
References to bug reports and discussions on issues:
-
+ [1] = https://bugzilla.redhat.com/788526
diff --git a/lib/sslgen.c b/lib/sslgen.c
index a77fd7874..14649a9ec 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;
}
/*