From a56a47ac33a8344c0a3f3f74bd4a6b07576f7e0a Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 12 Sep 2019 17:56:49 +0200 Subject: [PATCH] openssl: close_notify on the FTP data connection doesn't mean closure For FTPS transfers, curl gets close_notify on the data connection without that being a signal to close the control connection! Regression since 3f5da4e59a556fc (7.65.0) Reported-by: Zenju on github Reviewed-by: Jay Satiro Fixes #4329 Closes #4340 --- lib/vtls/openssl.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c index 385f28179..216ed9fc5 100644 --- a/lib/vtls/openssl.c +++ b/lib/vtls/openssl.c @@ -3878,7 +3878,10 @@ static ssize_t ossl_recv(struct connectdata *conn, /* connection data */ break; case SSL_ERROR_ZERO_RETURN: /* no more data */ /* close_notify alert */ - connclose(conn, "TLS close_notify"); + if(num == FIRSTSOCKET) + /* mark the connection for close if it is indeed the control + connection */ + connclose(conn, "TLS close_notify"); break; case SSL_ERROR_WANT_READ: case SSL_ERROR_WANT_WRITE: -- 2.40.0