]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
QUIC APL: Fix stream backpressure conditions to use non-I/O errors
authorHugo Landau <hlandau@openssl.org>
Thu, 24 Aug 2023 10:28:17 +0000 (11:28 +0100)
committerTomas Mraz <tomas@openssl.org>
Fri, 25 Aug 2023 13:11:05 +0000 (15:11 +0200)
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21811)

crypto/err/openssl.txt
include/openssl/sslerr.h
ssl/quic/quic_impl.c

index b725032254e1c2e596084b71d6d7afeb2e6128fb..3eeaa6d5d5799e0cf3e3fd5c4a6272986c2c2585 100644 (file)
@@ -1563,7 +1563,7 @@ SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH:303:ssl session id has bad length
 SSL_R_SSL_SESSION_ID_TOO_LONG:408:ssl session id too long
 SSL_R_SSL_SESSION_VERSION_MISMATCH:210:ssl session version mismatch
 SSL_R_STILL_IN_INIT:121:still in init
-SSL_R_STREAM_COUNT_LIMITED:395:stream count limited
+SSL_R_STREAM_COUNT_LIMITED:411:stream count limited
 SSL_R_STREAM_FINISHED:365:stream finished
 SSL_R_STREAM_RECV_ONLY:366:stream recv only
 SSL_R_STREAM_RESET:375:stream reset
index 0a4079b5c809324346bc910173362458d1fb04dc..e1eb9a5692c255efd3f7165c4bb5a4fcfa724496 100644 (file)
 # define SSL_R_SSL_SESSION_ID_TOO_LONG                    408
 # define SSL_R_SSL_SESSION_VERSION_MISMATCH               210
 # define SSL_R_STILL_IN_INIT                              121
-# define SSL_R_STREAM_COUNT_LIMITED                       395
+# define SSL_R_STREAM_COUNT_LIMITED                       411
 # define SSL_R_STREAM_FINISHED                            365
 # define SSL_R_STREAM_RECV_ONLY                           366
 # define SSL_R_STREAM_RESET                               375
index 5073bb1e6fadef2281d18f91449c681fd8152298..71bd5e865b525da18684dedf2c668f21cc50a1bd 100644 (file)
@@ -1764,7 +1764,7 @@ static SSL *quic_conn_stream_new(QCTX *ctx, uint64_t flags, int need_lock)
          * opened.
          */
         if (no_blocking || !qc_blocking_mode(qc)) {
-            QUIC_RAISE_NON_NORMAL_ERROR(ctx, SSL_R_STREAM_COUNT_LIMITED, NULL);
+            QUIC_RAISE_NON_IO_ERROR(ctx, SSL_R_STREAM_COUNT_LIMITED, NULL);
             goto err;
         }
 
@@ -1774,10 +1774,10 @@ static SSL *quic_conn_stream_new(QCTX *ctx, uint64_t flags, int need_lock)
         /* Blocking mode - wait until we can get a stream. */
         ret = block_until_pred(ctx->qc, quic_new_stream_wait, &args, 0);
         if (!quic_mutation_allowed(qc, /*req_active=*/1)) {
-            QUIC_RAISE_NON_NORMAL_ERROR(ctx, SSL_R_PROTOCOL_IS_SHUTDOWN, NULL);
+            QUIC_RAISE_NON_IO_ERROR(ctx, SSL_R_PROTOCOL_IS_SHUTDOWN, NULL);
             goto err; /* Shutdown before completion */
         } else if (ret <= 0) {
-            QUIC_RAISE_NON_NORMAL_ERROR(ctx, ERR_R_INTERNAL_ERROR, NULL);
+            QUIC_RAISE_NON_IO_ERROR(ctx, ERR_R_INTERNAL_ERROR, NULL);
             goto err; /* Non-protocol error */
         }
     }