mirror of
https://github.com/moparisthebest/curl
synced 2024-12-22 08:08:50 -05:00
http: do not treat FTPS over CONNECT as HTTPS
If we use FTPS over CONNECT, the TLS handshake for the FTPS control connection needs to be initiated in the SENDPROTOCONNECT state, not the WAITPROXYCONNECT state. Otherwise, if the TLS handshake completed without blocking, the information about the completed TLS handshake would be saved to a wrong flag. Consequently, the TLS handshake would be initiated in the SENDPROTOCONNECT state once again on the same connection, resulting in a failure of the TLS handshake. I was able to observe the failure with the NSS backend if curl ran through valgrind. Note that this commit partially reverts curl-7_21_6-52-ge34131d.
This commit is contained in:
parent
452203341d
commit
2549831daa
@ -1369,7 +1369,7 @@ CURLcode Curl_http_connect(struct connectdata *conn, bool *done)
|
|||||||
/* nothing else to do except wait right now - we're not done here. */
|
/* nothing else to do except wait right now - we're not done here. */
|
||||||
return CURLE_OK;
|
return CURLE_OK;
|
||||||
|
|
||||||
if(conn->given->flags & PROTOPT_SSL) {
|
if(conn->given->protocol & CURLPROTO_HTTPS) {
|
||||||
/* perform SSL initialization */
|
/* perform SSL initialization */
|
||||||
result = https_connecting(conn, done);
|
result = https_connecting(conn, done);
|
||||||
if(result)
|
if(result)
|
||||||
|
Loading…
Reference in New Issue
Block a user