From 4edff7e6701f8bfe3238e6aacdbf76a694db8852 Mon Sep 17 00:00:00 2001 From: Gabriela Moldovan Date: Tue, 1 Aug 2023 15:26:10 +0100 Subject: [PATCH] tor-proto: Update the stream map if we get an END message. This handles the previously not handled `message_closes_stream == true` case. --- crates/tor-proto/src/circuit/reactor.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/tor-proto/src/circuit/reactor.rs b/crates/tor-proto/src/circuit/reactor.rs index 5c6c64144..120cbbba7 100644 --- a/crates/tor-proto/src/circuit/reactor.rs +++ b/crates/tor-proto/src/circuit/reactor.rs @@ -1705,7 +1705,11 @@ impl Reactor { .get_mut(Into::::into(hop_num)) .ok_or(Error::CircuitClosed)?; - if !message_closes_stream { + if message_closes_stream { + hop.map.ending_msg_received(stream_id)?; + + return Ok(()); + } else { let begin = msg .decode::() .map_err(|e| Error::from_bytes_err(e, "Invalid Begin message"))?