MINOR: quic-be: do not create the mux after handshake completion (for 0-RTT)

This is required during connection with 0-RTT support, to prevent two mux creations.
Indeed, for 0-RTT sessions, the QUIC mux is already started very soon from
connect_server() (src/backend.c).
This commit is contained in:
Frederic Lecaille 2025-11-06 15:15:43 +01:00
parent d84463f9f6
commit 92d2ab76e0

View File

@ -1014,13 +1014,15 @@ int qc_ssl_do_hanshake(struct quic_conn *qc, struct ssl_sock_ctx *ctx)
goto err;
}
if (conn_create_mux(qc->conn, NULL) < 0) {
TRACE_ERROR("mux creation failed", QUIC_EV_CONN_IO_CB, qc, &state);
goto err;
}
if (!qc_is_conn_ready(qc)) {
if (conn_create_mux(qc->conn, NULL) < 0) {
TRACE_ERROR("mux creation failed", QUIC_EV_CONN_IO_CB, qc, &state);
goto err;
}
/* Wake up MUX after its creation. Operation similar to TLS+ALPN on TCP stack. */
qc->conn->mux->wake(qc->conn);
/* Wake up MUX after its creation. Operation similar to TLS+ALPN on TCP stack. */
qc->conn->mux->wake(qc->conn);
}
}
else {
TRACE_PROTO("could not start the mux", QUIC_EV_CONN_IO_CB, qc);