BUG/MEDIUM: mux-h1: Don't set CO_SFL_MSG_MORE flag on last fast-forward send

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.
This commit is contained in:
Christopher Faulet 2023-11-23 17:26:26 +01:00
parent 1de44daf7d
commit 85da7116a9
1 changed files with 3 additions and 0 deletions

View File

@ -4516,6 +4516,9 @@ static size_t h1_done_ff(struct stconn *sc)
sd->iobuf.offset = 0; sd->iobuf.offset = 0;
sd->iobuf.data = 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 /* Perform a synchronous send but in all cases, consider
* everything was already sent from the SC point of view. * everything was already sent from the SC point of view.
*/ */