From: Olivier Houchard Date: Fri, 19 Jun 2020 14:15:05 +0000 (+0200) Subject: MINOR: mux_h1: Set H1_F_CO_MSG_MORE if we know we have more to send. X-Git-Tag: v2.2-dev10~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c89a42feba4ff50b5b8c2decfa6c05fc492276ad;p=thirdparty%2Fhaproxy.git MINOR: mux_h1: Set H1_F_CO_MSG_MORE if we know we have more to send. In h1_snd_buf(), also set H1_F_CO_MSG_MORE if we know we still have more to send, not just if the stream-interface told us to do so. This may happen if the last block of a transfer doesn't fit in the buffer, it remains useful for the transport layer to know that more data follows what's already in the buffer. --- diff --git a/src/mux_h1.c b/src/mux_h1.c index 8bd43c99de..ac76339cad 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -2734,6 +2734,10 @@ static size_t h1_snd_buf(struct conn_stream *cs, struct buffer *buf, size_t coun ret = h1_process_output(h1c, buf, count); else TRACE_DEVEL("h1c obuf not allocated", H1_EV_STRM_SEND|H1_EV_H1S_BLK, h1c->conn, h1s); + + if ((count - ret) > 0) + h1c->flags |= H1C_F_CO_MSG_MORE; + if (!ret) break; total += ret;