From f002c850d98dc2dbed34d6547a38a6c0b4c89e10 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 13 May 2020 12:22:49 +0200 Subject: ftp: shut down the secondary connection properly when SSL is used Reported-by: Neal Poole Fixes #5340 Closes #5385 --- lib/ftp.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/ftp.c b/lib/ftp.c index 3b0f03b81..289dab259 100644 --- a/lib/ftp.c +++ b/lib/ftp.c @@ -221,6 +221,7 @@ static void close_secondarysocket(struct connectdata *conn) conn->sock[SECONDARYSOCKET] = CURL_SOCKET_BAD; } conn->bits.tcpconnect[SECONDARYSOCKET] = FALSE; + conn->bits.proxy_ssl_connected[SECONDARYSOCKET] = FALSE; } /* @@ -3231,9 +3232,9 @@ static CURLcode ftp_done(struct connectdata *conn, CURLcode status, } if(conn->ssl[SECONDARYSOCKET].use) { - /* The secondary socket is using SSL so we must close down that part - first before we close the socket for real */ - Curl_ssl_close(conn, SECONDARYSOCKET); + /* The secondary socket used SSL so we must close down that part first + before we close the socket for real */ + result = Curl_ssl_shutdown(conn, SECONDARYSOCKET); /* Note that we keep "use" set to TRUE since that (next) connection is still requested to use SSL */ -- cgit v1.2.3