]> git.kaiwu.me - haproxy.git/commit
Revert "MEDIUM: mux-h2: Don't mix HTTP and tunneled data in the same buffer"
authorChristopher Faulet <cfaulet@haproxy.com>
Tue, 15 Sep 2026 12:00:43 +0000 (14:00 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 18 Sep 2026 15:05:19 +0000 (17:05 +0200)
commit8912b826186b29ae26fdc0aa33055581d7d9abf2
tree54691bcea4291e6ff46d4075f53478562858b6c4
parent523112b729817d5823417fb34e0ceabedb26410d
Revert "MEDIUM: mux-h2: Don't mix HTTP and tunneled data in the same buffer"

This reverts commit b6433eb62 (the rename of htx_has_eom() into
htx_msg_ended() was taken into account).

Because the end of the message is carried by the tail block of the HTX
message, HTTP data and tunneled data could not be stored in the same
buffer. Adding tunneled data after the block carrying the EOM flag would
have hidden the end of the message. So the H2 multiplexer had to store them
in a separate buffer and to delay their transfer to the upper layer until
the HTTP part was fully consumed.

Tunneled data are now stored in RAW_DATA blocks. They can no longer be
confused with HTTP data and htx_msg_ended() is able to report the end of the
message when the tail block is such block. So this workaround is no longer
necessary. The original behavior is restored: only one rxbuf is used and the
transfer of the tunneled data is no longer delayed.
src/mux_h2.c