From 09fbaad6bd712b5480d9c1d8a9bfa766171b783d Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Wed, 26 Aug 2020 17:42:21 +0200 Subject: [PATCH] tls-socket: Don't fail reading if sending data failed If data is processed that eventually includes a TLS close notify, build() will fail after a close notify has been sent in turn. However, propagating that error immediately when reading prevented ever returning the data already processed before the close notify was received. --- src/libtls/tls_socket.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libtls/tls_socket.c b/src/libtls/tls_socket.c index f29a369f1..7745988fb 100644 --- a/src/libtls/tls_socket.c +++ b/src/libtls/tls_socket.c @@ -188,7 +188,11 @@ static bool exchange(private_tls_socket_t *this, bool wr, bool block) case SUCCESS: return TRUE; default: - return FALSE; + if (wr) + { + return FALSE; + } + break; } break; }