summaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorHugo Landau <hlandau@openssl.org>2023-04-28 16:56:34 +0100
committerHugo Landau <hlandau@openssl.org>2023-05-24 10:34:47 +0100
commit3dde3435abab4524e62af31d87bd795543822e54 (patch)
tree84b9d467144b614ad6b086738d896e628f0b1497 /ssl
parente8142d2ce8383329e6a71639d154191c1515ba55 (diff)
QUIC FC: Correct operation of stream count mode
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20856)
Diffstat (limited to 'ssl')
-rw-r--r--ssl/quic/quic_fc.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ssl/quic/quic_fc.c b/ssl/quic/quic_fc.c
index b016c02151..c0099fb9ac 100644
--- a/ssl/quic/quic_fc.c
+++ b/ssl/quic/quic_fc.c
@@ -341,7 +341,7 @@ int ossl_quic_rxfc_on_retire(QUIC_RXFC *rxfc,
uint64_t num_bytes,
OSSL_TIME rtt)
{
- if (rxfc->parent == NULL)
+ if (rxfc->parent == NULL && !rxfc->stream_count_mode)
return 0;
if (num_bytes == 0)
@@ -352,7 +352,10 @@ int ossl_quic_rxfc_on_retire(QUIC_RXFC *rxfc,
return 0;
rxfc_on_retire(rxfc, num_bytes, 0, rtt);
- rxfc_on_retire(rxfc->parent, num_bytes, rxfc->cur_window_size, rtt);
+
+ if (!rxfc->stream_count_mode)
+ rxfc_on_retire(rxfc->parent, num_bytes, rxfc->cur_window_size, rtt);
+
return 1;
}