]> git.kaiwu.me - haproxy.git/commit
MEDIUM: h3: prevent new streams on GOAWAY reception
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 15 Apr 2026 14:44:59 +0000 (16:44 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 17 Apr 2026 11:28:17 +0000 (13:28 +0200)
commit220b1bf6d97a193977d28ae73d1ad0d4800bb194
treefb85b9f4f9989176ccd5ff1a15e08048db39d360
parent5c8c9fc528df479e0157c433e82d6373474f735e
MEDIUM: h3: prevent new streams on GOAWAY reception

Implement the reception of a HTTP/3 GOAWAY frame. This is performed via
the new function h3_parse_goaway_frm(). The advertised ID is stored in
new <id_shut_r> h3c member. It serves to ensure that a bigger ID is not
advertised when receiving multiple GOAWAY frames.

GOAWAY frame reception is only really useful on the backend side for
haproxy. When this occurs, h3c is now flagged with H3_CF_GOAWAY_RECV.
Also, QCC is also updated with new flag QC_CF_CONN_SHUT. This flag
indicates that no new stream may be opened on the connection. Callback
avail_streams() is thus edited to report 0 in this case.
include/haproxy/mux_quic-t.h
include/haproxy/mux_quic.h
src/h3.c
src/mux_quic.c