]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
QUIC APL: When creating a default XSO, no further streams can arrive after connection...
authorHugo Landau <hlandau@openssl.org>
Thu, 4 Apr 2024 11:58:02 +0000 (12:58 +0100)
committerNeil Horman <nhorman@openssl.org>
Mon, 17 Feb 2025 16:27:32 +0000 (11:27 -0500)
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24037)

ssl/quic/quic_impl.c

index 62c421b06de5bd7007488caacd27585acc815feb..de6b79f2480ec52eda0447d09ab2494e441b6509 100644 (file)
@@ -2052,9 +2052,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;