diff options
author | Hugo Landau <hlandau@openssl.org> | 2023-04-18 19:30:55 +0100 |
---|---|---|
committer | Hugo Landau <hlandau@openssl.org> | 2023-05-12 14:47:12 +0100 |
commit | 90cecc406f58b229ffa9c8e8473eaa6924c4a5d5 (patch) | |
tree | c02a56da8c5bccb7b033be06e55ec825773ed6ca /ssl/quic/quic_impl.c | |
parent | a6b6ea17376572e3c0227b98f21dedc48215aa9a (diff) | |
download | openssl-new-90cecc406f58b229ffa9c8e8473eaa6924c4a5d5.tar.gz |
QUIC RXDP/QSM: Enforce MAX_STREAMS
Also use accept queue popping by the application as the retirement
event, i.e., as the cue to increase the limit.
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)
Diffstat (limited to 'ssl/quic/quic_impl.c')
-rw-r--r-- | ssl/quic/quic_impl.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/ssl/quic/quic_impl.c b/ssl/quic/quic_impl.c index 98f96a7703..e3402e5c65 100644 --- a/ssl/quic/quic_impl.c +++ b/ssl/quic/quic_impl.c @@ -2231,6 +2231,7 @@ SSL *ossl_quic_accept_stream(SSL *s, uint64_t flags) QUIC_STREAM_MAP *qsm; QUIC_STREAM *qs; QUIC_XSO *xso; + OSSL_RTT_INFO rtt_info; if (!expect_quic_conn_only(s, &ctx)) return NULL; @@ -2270,7 +2271,9 @@ SSL *ossl_quic_accept_stream(SSL *s, uint64_t flags) if (xso == NULL) goto out; - ossl_quic_stream_map_remove_from_accept_queue(qsm, qs); + ossl_statm_get_rtt_info(ossl_quic_channel_get_statm(ctx.qc->ch), &rtt_info); + ossl_quic_stream_map_remove_from_accept_queue(qsm, qs, + rtt_info.smoothed_rtt); new_s = &xso->ssl; /* Calling this function inhibits default XSO autocreation. */ |