]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: quic-be: Prevent the MUX to send/receive data
authorFrederic Lecaille <flecaille@haproxy.com>
Fri, 5 Jan 2024 14:45:17 +0000 (15:45 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 11 Jun 2025 16:37:34 +0000 (18:37 +0200)
Such actions must be interrupted until the handshake completion.

src/xprt_quic.c

index 02da5efc3935dfb4e2115f3215945cd219139598..47a8843a3c9e554eaacf44cea9c552bab0829c58 100644 (file)
@@ -155,8 +155,13 @@ static int qc_xprt_start(struct connection *conn, void *ctx)
        qc = conn->handle.qc;
        TRACE_ENTER(QUIC_EV_CONN_NEW, qc);
 
-       /* mux-quic can now be considered ready. */
-       qc->mux_state = QC_MUX_READY;
+       if (objt_listener(conn->target)) {
+               /* mux-quic can now be considered ready. */
+               qc->mux_state = QC_MUX_READY;
+       }
+       else {
+               conn->flags |= CO_FL_SSL_WAIT_HS | CO_FL_WAIT_L6_CONN;
+       }
 
        /* Schedule quic-conn to ensure post handshake frames are emitted. This
         * is not done for 0-RTT as xprt->start happens before handshake