From d257dd4563d46ffd8d7ca831611c68f488329a66 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Tue, 17 Mar 2026 08:48:49 +0100 Subject: [PATCH] Revert "BUG/MEDIUM: mux-h2: make sure to always report pending errors to the stream" This reverts commit 44932b6c417e472d25039ec3d7b8bf14e07629bc. The patch above was only necessary to handle partial headers or trailers parsing. There was nothing to prevent the H2 multiplexer to start to add headers or trailers in an HTX message and to stop the processing on error, leaving the HTX message with no EOH/EOT block. From the HTX API point of view, it is unexepected. And this was fixed thanks to the commit ba7dc46a9 ("BUG/MINOR: h2/h3: Never insert partial headers/trailers in an HTX message"). So this patch can be reverted. It is important to not report a parsign error too early, when there are still data to transfer to the upper layer. This patch must be backport where 44932b6c4 was backported but only after backporting ba7dc46a9 first. --- src/mux_h2.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/mux_h2.c b/src/mux_h2.c index 692cf6071..4508b1859 100644 --- a/src/mux_h2.c +++ b/src/mux_h2.c @@ -7938,13 +7938,7 @@ static size_t h2_rcv_buf(struct stconn *sc, struct buffer *buf, size_t count, in /* tell the stream layer whether there are data left or not */ if (h2s_rxbuf_cnt(h2s)) { - /* Note that parsing errors can also arrive here, we may need - * to propagate errors upstream otherwise no new activity will - * unblock them. - */ se_fl_set(h2s->sd, SE_FL_RCV_MORE | SE_FL_WANT_ROOM); - if (h2s_htx && h2s_htx->flags & HTX_FL_PARSING_ERROR) - h2s_propagate_term_flags(h2c, h2s); BUG_ON_HOT(!buf->data); } else {