diff options
author | Hugo Landau <hlandau@openssl.org> | 2024-04-04 12:58:02 +0100 |
---|---|---|
committer | Hugo Landau <hlandau@openssl.org> | 2024-04-19 09:33:54 +0100 |
commit | 961d4f214e93043f96df32e288fb3ff0b8eee4d3 (patch) | |
tree | d2c75eb89358b4c37d0ef472d38e7d1f5078de28 | |
parent | fc8732e2f8025f8d620ee6c4b25ebe33f2af37c8 (diff) |
QUIC APL: When creating a default XSO, no further streams can arrive after connection terminastion
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24037)
-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 51e419385b..f9289b5118 100644 --- a/ssl/quic/quic_impl.c +++ b/ssl/quic/quic_impl.c @@ -2050,9 +2050,12 @@ static int qc_wait_for_default_xso_for_read(QCTX *ctx, int peek) if (peek) return 0; - if (!qctx_blocking(ctx)) + if (ossl_quic_channel_is_term_any(qc->ch)) { + return QUIC_RAISE_NON_NORMAL_ERROR(ctx, SSL_R_PROTOCOL_IS_SHUTDOWN, NULL); + } else if (!qctx_blocking(ctx)) { /* Non-blocking mode, so just bail immediately. */ return QUIC_RAISE_NORMAL_ERROR(ctx, SSL_ERROR_WANT_READ); + } /* Block until we have a stream. */ wargs.qc = qc; |