summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugo Landau <hlandau@openssl.org>2022-10-31 15:22:45 +0000
committerHugo Landau <hlandau@openssl.org>2023-01-13 13:20:11 +0000
commitc4abf9ebb023248046604588692f50a9eee5d6b8 (patch)
tree9cb3fbdd7d4dbf4af3293cae14dd4bcbda1c2288
parent70d45893d0decc1ac2431a20db6750bc70cbaea5 (diff)
QUIC RXFC: Don't emit a MAX_STREAM_DATA frame if we have a final size
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/19703)
-rw-r--r--ssl/quic/quic_fc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ssl/quic/quic_fc.c b/ssl/quic/quic_fc.c
index 84a3753a81..40bdd9909f 100644
--- a/ssl/quic/quic_fc.c
+++ b/ssl/quic/quic_fc.c
@@ -230,7 +230,11 @@ static int rxfc_cwm_bump_desired(QUIC_RXFC *rxfc)
*/
threshold = rxfc->cur_window_size / 2;
- return window_rem <= threshold;
+ /*
+ * No point emitting a new MAX_STREAM_DATA frame if the stream has a final
+ * size.
+ */
+ return !rxfc->is_fin && window_rem <= threshold;
}
static int rxfc_should_bump_window_size(QUIC_RXFC *rxfc, OSSL_TIME rtt)