]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: mux-h1: Only report a SE error on demux error
authorChristopher Faulet <cfaulet@haproxy.com>
Mon, 23 Dec 2024 10:42:08 +0000 (11:42 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 31 Jan 2025 09:41:49 +0000 (10:41 +0100)
When a demux error is reported by the H1S, an error must be reported on the
SE and not an end-of-input or an end-of-stream. So SE_FL_ERROR flag must be
set and not SE_FL_EOI/SE_FL_EOS.

It seems this bug has no impact. So there is no reason to backport it.

src/mux_h1.c

index 9c64d8fb7a3ef5bbe07efd7ebaa8517a612bafbb..15d6634a685a89a119bb88bb727ecee2fcef4269 100644 (file)
@@ -2324,11 +2324,7 @@ static size_t h1_process_demux(struct h1c *h1c, struct buffer *buf, size_t count
 
   err:
        htx_to_buf(htx, buf);
-       se_fl_set(h1s->sd, SE_FL_EOI);
-       if (h1c->state < H1_CS_RUNNING) {
-               h1c->flags |= H1C_F_EOS;
-               se_fl_set(h1s->sd, SE_FL_EOS);
-       }
+       se_fl_set(h1s->sd, SE_FL_ERROR);
        TRACE_DEVEL("leaving on error", H1_EV_RX_DATA|H1_EV_STRM_ERR, h1c->conn, h1s);
        return 0;
 }