]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: quic: Do not wakeup the I/O handler before the mux is started
authorFrédéric Lécaille <flecaille@haproxy.com>
Wed, 12 Jan 2022 16:46:56 +0000 (17:46 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 12 Jan 2022 17:08:29 +0000 (18:08 +0100)
commitb80b20c6ff50bb8eec9b0fc9394f3fa4a22a7da0
tree7ba420c46d694037847ad1c7ef653a25363cb174
parentbec186dde58a6e9cecab90b50ecc1583c6c1812c
MINOR: quic: Do not wakeup the I/O handler before the mux is started

If we wakeup the I/O handler before the mux is started, it is possible
it has enough time to parse the ClientHello TLS message and update the
mux transport parameters, leading to a crash.
So, we initialize ->qcc quic_conn struct member at the very last time,
when the mux if fully initialized. The condition to wakeup the I/O handler
from lstnr_rcv_pkt() is: xprt context and mux both initialized.
Note that if the xprt context is initialized, it implies its tasklet is
initialized. So, we do not check anymore this latter condition.
src/mux_quic.c
src/xprt_quic.c