]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Reset qtls->local_transport_params_consumed to 0 on SSL_clear()
authorAndrew Dinh <andrewd@openssl.org>
Tue, 20 May 2025 16:37:20 +0000 (09:37 -0700)
committerTomas Mraz <tomas@openssl.org>
Tue, 3 Jun 2025 16:30:09 +0000 (18:30 +0200)
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/27656)

(cherry picked from commit 9bad2b86e892b70ea65e87c409ae90f625d3c12c)

include/internal/quic_tls.h
ssl/quic/quic_tls.c
ssl/ssl_lib.c

index eb385bb7ff979859f07e0e63cc2365b2bba7e826..ec0d07da0b394419346d8649c62ad55a33e1cad9 100644 (file)
@@ -96,6 +96,8 @@ int ossl_quic_tls_configure(QUIC_TLS *qtls);
 /* Advance the state machine */
 int ossl_quic_tls_tick(QUIC_TLS *qtls);
 
+void ossl_quic_tls_clear(QUIC_TLS *qtls);
+
 int ossl_quic_tls_set_transport_params(QUIC_TLS *qtls,
                                        const unsigned char *transport_params,
                                        size_t transport_params_len);
index 0cf2adbf5f78cfa432cf8e56079926d1178b51c8..ccc053203d4f959a3c7a810aca72613ea98cdfb3 100644 (file)
@@ -858,6 +858,13 @@ int ossl_quic_tls_tick(QUIC_TLS *qtls)
 }
 #endif
 
+void ossl_quic_tls_clear(QUIC_TLS *qtls)
+{
+    if (qtls == NULL)
+        return;
+    qtls->local_transport_params_consumed = 0;
+}
+
 int ossl_quic_tls_set_transport_params(QUIC_TLS *qtls,
                                        const unsigned char *transport_params,
                                        size_t transport_params_len)
index ab6a1233fb8253ae8854b06477fbc558cce0baed..18ed42e5040a0b05c03f89b0e5095f6c365d004a 100644 (file)
@@ -652,6 +652,8 @@ int ossl_ssl_connection_reset(SSL *s)
             return 0;
     }
 
+    ossl_quic_tls_clear(sc->qtls);
+
     if (!RECORD_LAYER_reset(&sc->rlayer))
         return 0;