From: Christopher Faulet Date: Fri, 15 Nov 2019 08:41:32 +0000 (+0100) Subject: BUG/MINOR: mux-h1: Don't set CS_FL_EOS on a read0 when receiving data to pipe X-Git-Tag: v2.1-dev5~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3f21611bddc40099e0fa4b1b196ee3b691fe7c81;p=thirdparty%2Fhaproxy.git BUG/MINOR: mux-h1: Don't set CS_FL_EOS on a read0 when receiving data to pipe This is mandatory to process input one more time to add the EOM in the HTX message and to set CS_FL_EOI on the conn-stream. Otherwise, in the stream, a SHUTR will be reported on the corresponding channel without the EOI. It may be erroneously interpreted as an abort. This patch must be backported to 2.0 and 1.9. --- diff --git a/src/mux_h1.c b/src/mux_h1.c index 4a254ddb92..7264bfa7f5 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -2699,8 +2699,6 @@ static int h1_rcv_pipe(struct conn_stream *cs, struct pipe *pipe, unsigned int c if (conn_xprt_read0_pending(cs->conn)) { h1s->flags |= H1S_F_REOS; TRACE_STATE("read0 on connection", H1_EV_STRM_RECV, cs->conn, h1s); - if (!pipe->data) - cs->flags |= CS_FL_EOS; } TRACE_LEAVE(H1_EV_STRM_RECV, cs->conn, h1s);