QUIC: Note that we do not retransmit stream data for retransmitted streams
authorHugo Landau <hlandau@openssl.org>
Tue, 6 Jun 2023 15:25:10 +0000 (16:25 +0100)
committerPauli <pauli@openssl.org>
Sun, 16 Jul 2023 22:17:57 +0000 (08:17 +1000)
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)

ssl/quic/quic_fifd.c

index 8eca7520df239a31ab092f74b5cdab7d399a5480..e5ebc14adc78642491b921bd5e030638bf0c9be5 100644 (file)
@@ -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;