]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: mux-h1: Don't set CO_SFL_MSG_MORE flag on last fast-forward send
authorChristopher Faulet <cfaulet@haproxy.com>
Thu, 23 Nov 2023 16:26:26 +0000 (17:26 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Thu, 23 Nov 2023 16:30:18 +0000 (17:30 +0100)
In the mux-to-mux fast-forwarding, when end-of-input is reached on the producer
side, the consumer side must not set the CO_SFL_MSG_MORE flag on send. It means
the H1C_F_CO_MSG_MORE flag must be removed from the H1 connection.

No backport needed.

src/mux_h1.c

index 5f94a2ef0e0d00fdb02a41b3145a9a001b5d6c79..63eb78e1c3bd6212d5166ddb4d48b0e512a5e93f 100644 (file)
@@ -4516,6 +4516,9 @@ static size_t h1_done_ff(struct stconn *sc)
                sd->iobuf.offset = 0;
                sd->iobuf.data = 0;
 
+               if (sd->iobuf.flags & IOBUF_FL_EOI)
+                       h1c->flags &= ~H1C_F_CO_MSG_MORE;
+
                /* Perform a synchronous send but in all cases, consider
                 * everything was already sent from the SC point of view.
                 */