summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugo Landau <hlandau@openssl.org>2023-06-06 16:25:10 +0100
committerPauli <pauli@openssl.org>2023-07-17 08:17:57 +1000
commitc407d5e568ee0755d0c96c09a832af9760349c00 (patch)
tree47298a5730b5471498e1734593eb748df914b6e6
parent28d0e35cd675c67355d91caf65aa180df49f9db4 (diff)
QUIC: Note that we do not retransmit stream data for retransmitted streams
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/21135)
-rw-r--r--ssl/quic/quic_fifd.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ssl/quic/quic_fifd.c b/ssl/quic/quic_fifd.c
index 8eca7520df..e5ebc14adc 100644
--- a/ssl/quic/quic_fifd.c
+++ b/ssl/quic/quic_fifd.c
@@ -124,6 +124,12 @@ static void on_lost(void *arg)
sstream_updated = 0;
if (chunks[i].end >= chunks[i].start) {
+ /*
+ * Note: If the stream is being reset, we do not need to retransmit
+ * old data as this is pointless. In this case this will be handled
+ * by (sstream == NULL) above as the QSM will free the QUIC_SSTREAM
+ * and our call to get_sstream_by_id above will return NULL.
+ */
ossl_quic_sstream_mark_lost(sstream,
chunks[i].start, chunks[i].end);
sstream_updated = 1;