ssl: fix duplicated SSL handshake with multi interface and proxy
Bug: https://bugzilla.redhat.com/788526 Reported by: Enrico Scholz
This commit is contained in:
@@ -24,6 +24,7 @@ This release includes the following bugfixes:
|
|||||||
o cmdline: made -D option work with -O and -J
|
o cmdline: made -D option work with -O and -J
|
||||||
o configure: Fix libcurl.pc and curl-config generation for static MingW*
|
o configure: Fix libcurl.pc and curl-config generation for static MingW*
|
||||||
cross builds
|
cross builds
|
||||||
|
o ssl: fix duplicated SSL handshake with multi interface and proxy [1]
|
||||||
|
|
||||||
This release includes the following known bugs:
|
This release includes the following known bugs:
|
||||||
|
|
||||||
@@ -39,4 +40,4 @@ advice from friends like these:
|
|||||||
|
|
||||||
References to bug reports and discussions on issues:
|
References to bug reports and discussions on issues:
|
||||||
|
|
||||||
|
[1] = https://bugzilla.redhat.com/788526
|
||||||
|
|||||||
10
lib/sslgen.c
10
lib/sslgen.c
@@ -211,18 +211,18 @@ CURLcode
|
|||||||
Curl_ssl_connect_nonblocking(struct connectdata *conn, int sockindex,
|
Curl_ssl_connect_nonblocking(struct connectdata *conn, int sockindex,
|
||||||
bool *done)
|
bool *done)
|
||||||
{
|
{
|
||||||
#ifdef curlssl_connect_nonblocking
|
|
||||||
CURLcode res;
|
CURLcode res;
|
||||||
/* mark this is being ssl requested from here on. */
|
/* mark this is being ssl requested from here on. */
|
||||||
conn->ssl[sockindex].use = TRUE;
|
conn->ssl[sockindex].use = TRUE;
|
||||||
|
#ifdef curlssl_connect_nonblocking
|
||||||
res = curlssl_connect_nonblocking(conn, sockindex, done);
|
res = curlssl_connect_nonblocking(conn, sockindex, done);
|
||||||
|
#else
|
||||||
|
*done = TRUE; /* fallback to BLOCKING */
|
||||||
|
res = curlssl_connect(conn, sockindex);
|
||||||
|
#endif /* non-blocking connect support */
|
||||||
if(!res && *done)
|
if(!res && *done)
|
||||||
Curl_pgrsTime(conn->data, TIMER_APPCONNECT); /* SSL is connected */
|
Curl_pgrsTime(conn->data, TIMER_APPCONNECT); /* SSL is connected */
|
||||||
return res;
|
return res;
|
||||||
#else
|
|
||||||
*done = TRUE; /* fallback to BLOCKING */
|
|
||||||
return Curl_ssl_connect(conn, sockindex);
|
|
||||||
#endif /* non-blocking connect support */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user