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.
This commit is contained in:
Christopher Faulet 2019-11-15 09:41:32 +01:00
parent 02a0253888
commit 3f21611bdd

View File

@ -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);