aboutsummaryrefslogtreecommitdiff
path: root/lib
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 /lib
parentdd576194ceaf6d9fef625332395a51fca0fca657 (diff)
ssl: fix duplicated SSL handshake with multi interface and proxy
Bug: https://bugzilla.redhat.com/788526 Reported by: Enrico Scholz
Diffstat (limited to 'lib')
-rw-r--r--lib/sslgen.c10
1 files changed, 5 insertions, 5 deletions
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;
}
/*