nss: fix tight loop in non-blocking TLS handhsake over proxy
... in case the handshake completes before entering CURLM_STATE_PROTOCONNECT Bug: https://bugzilla.redhat.com/1388162
This commit is contained in:
Родитель
d2c6d1568e
Коммит
eb84412b33
|
@ -56,6 +56,7 @@ This release includes the following bugfixes:
|
|||
o INSTALL: converted to markdown => INSTALL.md
|
||||
o curl_multi_remove_handle: fix a double-free [25]
|
||||
o multi: fix inifinte loop in curl_multi_cleanup() [26]
|
||||
o nss: fix tight loop in non-blocking TLS handhsake over proxy [27]
|
||||
|
||||
This release includes the following known bugs:
|
||||
|
||||
|
@ -104,3 +105,4 @@ References to bug reports and discussions on issues:
|
|||
[24] = https://curl.haxx.se/bug/?i=1069
|
||||
[25] = https://curl.haxx.se/bug/?i=1083
|
||||
[26] = https://curl.haxx.se/mail/lib-2016-10/0011.html
|
||||
[27] = https://bugzilla.redhat.com/1388162
|
||||
|
|
|
@ -1921,8 +1921,11 @@ static CURLcode nss_connect_common(struct connectdata *conn, int sockindex,
|
|||
const bool blocking = (done == NULL);
|
||||
CURLcode result;
|
||||
|
||||
if(connssl->state == ssl_connection_complete)
|
||||
if(connssl->state == ssl_connection_complete) {
|
||||
if(!blocking)
|
||||
*done = TRUE;
|
||||
return CURLE_OK;
|
||||
}
|
||||
|
||||
if(connssl->connecting_state == ssl_connect_1) {
|
||||
result = nss_setup_connect(conn, sockindex);
|
||||
|
|
Загрузка…
Ссылка в новой задаче