]> git.kaiwu.me - haproxy.git/commit
BUG/MINOR: h3: handle empty HEADERS frame as specified
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 3 Sep 2026 15:20:30 +0000 (17:20 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 8 Sep 2026 13:01:43 +0000 (15:01 +0200)
commit51827c43fc7f72791e4cb2f1cf513acdc88b430b
treec7642637746ed7cd4ec90b62bb1ebb9bdaf37a53
parent6c706c1a758b1e8bcdfe0816535edbd5c624db80
BUG/MINOR: h3: handle empty HEADERS frame as specified

This patch ensures empty HEADERS frame are treated as expected by
rfc9114.

In some conditions, such frame is invalid and the stream is closed with
FRAME_UNEXPECTED h3 error. This is the case if this is the first frame
interpreted as header as it lacks mandatory pseudo-headers. This is also
the case if trailers were already received, but this case is already
handled by a previous patch.

The only condition in which an empty HEADERS frame may be valid is when
it is interpreted as trailers. QUIC FIN may be signalled in the same
occasion, thus h3_trailers_to_htx() has been extended to add a call to
htx_set_eom() to report the stream closure to the upper layer.

This is considered minor as it's doubtful that any H3 client will use an
empty HEADERS frame.

This must be backported up to 2.6.
src/h3.c