]> git.kaiwu.me - haproxy.git/commit
MEDIUM: mux-h2: Use RAW_DATA blocks to store tunneled data
authorChristopher Faulet <cfaulet@haproxy.com>
Tue, 15 Sep 2026 12:00:23 +0000 (14:00 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 18 Sep 2026 15:05:19 +0000 (17:05 +0200)
commit523112b729817d5823417fb34e0ceabedb26410d
treedf1466a483a718ea19adc727c5fbacce43b363d7
parent8112922e32afa4f92d34bf2576718d502a500fc8
MEDIUM: mux-h2: Use RAW_DATA blocks to store tunneled data

For a tunneled H2 stream, the end of the HTTP message is reported just after
the headers, when H2_SF_BODY_TUNNEL flag is set. So any DATA frame received
after that carries tunneled data and must be stored in a RAW_DATA block.
h2_frt_transfer_data() was updated accordingly.

Thanks to this change, HTTP data and tunneled data are no longer mixed on
the H2 side. The early end of the message is thus preserved when tunneled
data are received, and the next commit is able to remove the workaround that
was necessary to keep both in separate buffers.
src/mux_h2.c