summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortb <>2020-08-17 11:04:20 +0000
committertb <>2020-08-17 11:04:20 +0000
commit3b56f0265346ac27187ab1c0aa41bc27260bea5b (patch)
treeda87998cce511059ab0f7f6b0a919f61f5531fd7
parent5a715e5d56517275cd64092796fb2595209eb962 (diff)
downloadopenbsd-3b56f0265346ac27187ab1c0aa41bc27260bea5b.tar.gz
openbsd-3b56f0265346ac27187ab1c0aa41bc27260bea5b.tar.bz2
openbsd-3b56f0265346ac27187ab1c0aa41bc27260bea5b.zip
Unbreak bidirectional SSL_shutdown for TLSv1.3libressl-v3.1.4
The previous errata patch 019_libssl broke bidirectional SSL_shutdown. This can cause a hang in some software that calls SSL_shutdown in a loop. Problem reported and fix tested by Predrag Punosevac. Thanks to Steffen Nurpmeso who independently found that this was due to an SSL_shutdown loop. ok jsing This is errata/6.7/020_libssl.patch.sig
-rw-r--r--src/lib/libssl/tls13_legacy.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/libssl/tls13_legacy.c b/src/lib/libssl/tls13_legacy.c
index 95e9032634..5d32c66726 100644
--- a/src/lib/libssl/tls13_legacy.c
+++ b/src/lib/libssl/tls13_legacy.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tls13_legacy.c,v 1.3.4.2 2020/08/10 18:59:47 tb Exp $ */ 1/* $OpenBSD: tls13_legacy.c,v 1.3.4.3 2020/08/17 11:04:20 tb Exp $ */
2/* 2/*
3 * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -497,6 +497,7 @@ tls13_legacy_shutdown(SSL *ssl)
497 if ((ret = tls13_record_layer_send_pending(ctx->rl)) != 497 if ((ret = tls13_record_layer_send_pending(ctx->rl)) !=
498 TLS13_IO_SUCCESS) 498 TLS13_IO_SUCCESS)
499 return tls13_legacy_return_code(ssl, ret); 499 return tls13_legacy_return_code(ssl, ret);
500 ctx->close_notify_sent = 1;
500 } else if (!ctx->close_notify_recv) { 501 } else if (!ctx->close_notify_recv) {
501 /* 502 /*
502 * If there is no application data pending, attempt to read more 503 * If there is no application data pending, attempt to read more