From 3f5da4e59a556fc68272a9857a38dd75234d0c04 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 11 Apr 2019 17:22:52 +0200 Subject: [PATCH] openssl: mark connection for close on TLS close_notify Without this, detecting and avoid reusing a closed TLS connection (without a previous GOAWAY) when doing HTTP/2 is tricky. Reported-by: Tom van der Woerdt Fixes #3750 Closes #3763 --- lib/vtls/openssl.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c index eff5c2106..5d2aac7d3 100644 --- a/lib/vtls/openssl.c +++ b/lib/vtls/openssl.c @@ -3756,7 +3756,10 @@ static ssize_t ossl_recv(struct connectdata *conn, /* connection data */ switch(err) { case SSL_ERROR_NONE: /* this is not an error */ + break; case SSL_ERROR_ZERO_RETURN: /* no more data */ + /* close_notify alert */ + connclose(conn, "TLS close_notify"); break; case SSL_ERROR_WANT_READ: case SSL_ERROR_WANT_WRITE: