diff options
author | Stefan Eissing <stefan@eissing.org> | 2022-11-26 12:43:56 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2022-11-26 16:56:46 +0100 |
commit | f18956d0ca75eca21b800056ea0a245491e664e2 (patch) | |
tree | 036e8dbb946a30e83106220b74feaf803bfadd8b /lib/ftp.c | |
parent | 3e33681eaf6fa95ff684840cb3eed0f3fbb6270c (diff) | |
download | curl-f18956d0ca75eca21b800056ea0a245491e664e2.tar.gz |
cfilter: re-add `conn` as parameter to cfilter setup methods
- `Curl_ssl_get_config()` now returns the first config if no SSL proxy
filter is active
- socket filter starts connection only on first invocation of its
connect method
Fixes #9982
Closes #9983
Diffstat (limited to 'lib/ftp.c')
-rw-r--r-- | lib/ftp.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -286,7 +286,7 @@ static CURLcode AcceptServerConnect(struct Curl_easy *data) (void)curlx_nonblock(s, TRUE); /* enable non-blocking */ /* Replace any filter on SECONDARY with one listeing on this socket */ - result = Curl_conn_socket_accepted_set(data, SECONDARYSOCKET, &s); + result = Curl_conn_socket_accepted_set(data, conn, SECONDARYSOCKET, &s); if(result) return result; @@ -1267,7 +1267,8 @@ static CURLcode ftp_state_use_port(struct Curl_easy *data, ftpc->count1 = fcmd; /* Replace any filter on SECONDARY with one listeing on this socket */ - result = Curl_conn_socket_accepted_set(data, SECONDARYSOCKET, &portsock); + result = Curl_conn_socket_accepted_set(data, conn, SECONDARYSOCKET, + &portsock); if(result) goto out; portsock = CURL_SOCKET_BAD; /* now held in filter */ @@ -1973,7 +1974,7 @@ static CURLcode ftp_state_pasv_resp(struct Curl_easy *data, } } - result = Curl_conn_setup(data, SECONDARYSOCKET, addr, + result = Curl_conn_setup(data, conn, SECONDARYSOCKET, addr, conn->bits.ftp_use_data_ssl? CURL_CF_SSL_ENABLE : CURL_CF_SSL_DISABLE); @@ -2741,7 +2742,7 @@ static CURLcode ftp_statemachine(struct Curl_easy *data, /* this was BLOCKING, keep it so for now */ bool done; if(!Curl_ssl_conn_is_ssl(data, FIRSTSOCKET)) { - result = Curl_ssl_cfilter_add(data, FIRSTSOCKET); + result = Curl_ssl_cfilter_add(data, conn, FIRSTSOCKET); if(result) { /* we failed and bail out */ return CURLE_USE_SSL_FAILED; |