From: Christopher Faulet Date: Fri, 22 Mar 2019 13:09:41 +0000 (+0100) Subject: MINOR: mux-h1: Set CS_FL_EOI the end of the message is reached X-Git-Tag: v2.0-dev2~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dbe2cb4ee549e72f0a12e6e5e69464add62b86c4;p=thirdparty%2Fhaproxy.git MINOR: mux-h1: Set CS_FL_EOI the end of the message is reached As for the H2 multiplexer, When the end of a message is detected, the flag CS_FL_EOI is set on the conn_stream. This patch should be backported to 1.9. --- diff --git a/src/mux_h1.c b/src/mux_h1.c index 8b686fe25f..b191670250 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -1033,9 +1033,11 @@ static size_t h1_process_headers(struct h1s *h1s, struct h1m *h1m, struct htx *h sl->info.res.status = h1s->status; } - if (h1m->state == H1_MSG_DONE) + if (h1m->state == H1_MSG_DONE) { if (!htx_add_endof(htx, HTX_BLK_EOM)) goto error; + h1s->cs->flags |= CS_FL_EOI; + } h1_process_conn_mode(h1s, h1m, htx, NULL); @@ -1130,6 +1132,7 @@ static size_t h1_process_data(struct h1s *h1s, struct h1m *h1m, struct htx *htx, if (!htx_add_endof(htx, HTX_BLK_EOM)) goto end; h1m->state = H1_MSG_DONE; + h1s->cs->flags |= CS_FL_EOI; } } else if (h1m->flags & H1_MF_CHNK) { @@ -1228,6 +1231,7 @@ static size_t h1_process_data(struct h1s *h1s, struct h1m *h1m, struct htx *htx, if (!htx_add_endof(htx, HTX_BLK_EOM)) goto end; h1m->state = H1_MSG_DONE; + h1s->cs->flags |= CS_FL_EOI; } } else { @@ -1237,6 +1241,7 @@ static size_t h1_process_data(struct h1s *h1s, struct h1m *h1m, struct htx *htx, if (!htx_add_endof(htx, HTX_BLK_EOM)) goto end; h1m->state = H1_MSG_DONE; + h1s->cs->flags |= CS_FL_EOI; } } else {