diff options
author | Kamil Dudka <kdudka@redhat.com> | 2012-06-08 23:02:57 +0200 |
---|---|---|
committer | Kamil Dudka <kdudka@redhat.com> | 2012-06-08 23:27:11 +0200 |
commit | 68857e40d69ef792bfcc6d7395c65305a4117c51 (patch) | |
tree | 9f58fb373e9ab368d1a6fd746bcffd5aa0ee3319 | |
parent | dd576194ceaf6d9fef625332395a51fca0fca657 (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-NOTES | 3 | ||||
-rw-r--r-- | lib/sslgen.c | 10 |
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; } /* |