]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: mux-quic/h3: prepare CONNECTION_CLOSE on release
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 15 Jul 2022 08:58:25 +0000 (10:58 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 15 Jul 2022 13:20:33 +0000 (15:20 +0200)
commit069288b4c0f0a7c1813bbc68ef710e3a7e7abc32
treebc89c8c6bcb3e8ba95ca3942a18f91fefa87460e
parentd666d740d206b1fde607fd6ca6097fd7bf9c11bd
MINOR: mux-quic/h3: prepare CONNECTION_CLOSE on release

When MUX is released, a CONNECTION_CLOSE frame should be emitted. This
will ensure that the client does not use anymore a half-dead connection.

App protocol layer is responsible to provide the error code via release
callback. For HTTP/3 NO_ERROR is used as specified in RFC 9114. If no
release callback is provided, generic QUIC NO_ERROR code is used. Note
that a graceful shutdown is used : quic_conn must emit CONNECTION_CLOSE
frame when possible. This will be provided in another patch.

This change should limit the risk of browsers stuck on webpage loading
if MUX has been released. On CONNECTION_CLOSE reception, the client will
reopen a new QUIC connection.
src/h3.c
src/mux_quic.c