Skip to content

Commit 386b6fd

Browse files
committed
Correctly discard data after close_notify alert
1 parent 06dc1d5 commit 386b6fd

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

rustls/src/conn.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -793,7 +793,8 @@ impl<Data> ConnectionCore<Data> {
793793
{
794794
// "Any data received after a closure alert has been received MUST be ignored."
795795
// -- <https://datatracker.ietf.org/doc/html/rfc8446#section-6.1>
796-
discard = borrowed_buffer.filled().len();
796+
// This is data that has already been accepted in `read_tls`.
797+
discard += borrowed_buffer.filled().len();
797798
break;
798799
}
799800
}

rustls/tests/api.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6390,6 +6390,7 @@ fn test_junk_after_close_notify_received() {
63906390
.read_tls(&mut io::Cursor::new(&client_buffer[..]))
63916391
.unwrap();
63926392
server.process_new_packets().unwrap();
6393+
server.process_new_packets().unwrap(); // check for desync
63936394

63946395
// can read data received prior to close_notify
63956396
let mut received_data = [0u8; 128];

0 commit comments

Comments
 (0)