summaryrefslogtreecommitdiff
path: root/pkg/bearssl/patch/0001-Discard-pending-application-data-when-closing.patch
blob: a702a66d2519f54116f620b2997ba80aff9e8132 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
From abdacfffd9321a20a43fccf1afd9b323708ad21d Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
Date: Mon, 9 Dec 2019 14:03:00 -0800
Subject: [PATCH] Discard pending application data when closing

---
 src/ssl/ssl_engine.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/ssl/ssl_engine.c b/src/ssl/ssl_engine.c
index f4ffe18..a3b866f 100644
--- a/src/ssl/ssl_engine.c
+++ b/src/ssl/ssl_engine.c
@@ -1231,7 +1231,15 @@ br_ssl_engine_recvrec_ack(br_ssl_engine_context *cc, size_t len)
 void
 br_ssl_engine_close(br_ssl_engine_context *cc)
 {
+	size_t len;
+
 	if (!br_ssl_engine_closed(cc)) {
+		/*
+		 * Discard incoming application data.
+		 */
+		if (br_ssl_engine_recvapp_buf(cc, &len) != NULL)
+			br_ssl_engine_recvapp_ack(cc, len);
+
 		jump_handshake(cc, 1);
 	}
 }
-- 
2.24.0