diff --git a/src/mux_h1.c b/src/mux_h1.c index 111e26295..b8977d06c 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -1073,7 +1073,7 @@ static size_t h1_process_headers(struct h1s *h1s, struct h1m *h1m, struct htx *h h2c_upgrade: h1s->h1c->flags |= H1C_F_UPG_H2C; - h1s->cs->flags |= CS_FL_REOS; + h1s->cs->flags |= CS_FL_EOI; htx->flags |= HTX_FL_UPGRADE; ret = 0; goto end; @@ -1386,7 +1386,7 @@ static size_t h1_process_input(struct h1c *h1c, struct buffer *buf, int flags) b_reset(&h1c->ibuf); htx->flags |= HTX_FL_PARSING_ERROR; htx_to_buf(htx, buf); - h1s->cs->flags |= CS_FL_EOS; + h1s->cs->flags |= CS_FL_EOI; return 0; } diff --git a/src/stream_interface.c b/src/stream_interface.c index 22391336e..071a76536 100644 --- a/src/stream_interface.c +++ b/src/stream_interface.c @@ -597,7 +597,7 @@ static int si_cs_process(struct conn_stream *cs) /* Report EOI on the channel if it was reached from the mux point of * view. */ if ((cs->flags & CS_FL_EOI) && !(ic->flags & CF_EOI)) - ic->flags |= CF_EOI; + ic->flags |= (CF_EOI|CF_READ_PARTIAL); /* Second step : update the stream-int and channels, try to forward any * pending data, then possibly wake the stream up based on the new