From: Christopher Faulet Date: Fri, 15 Nov 2019 08:50:22 +0000 (+0100) Subject: MINOR: mux-h1: Set EOI on the conn-stream when EOS is reported in TUNNEL state X-Git-Tag: v2.1-dev5~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=466080da0ef9a39f751dda9fcde8be48c5ca9d41;p=thirdparty%2Fhaproxy.git MINOR: mux-h1: Set EOI on the conn-stream when EOS is reported in TUNNEL state It could help to distinguish client/server aborts from legitimate shudowns for reads. --- diff --git a/src/mux_h1.c b/src/mux_h1.c index 7264bfa7f5..7c5451c7a4 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -1462,7 +1462,9 @@ static size_t h1_process_input(struct h1c *h1c, struct buffer *buf, size_t count if (((h1s->flags & (H1S_F_REOS|H1S_F_APPEND_EOM)) == H1S_F_REOS) && (!h1s_data_pending(h1s) || htx_is_empty(htx))) { h1s->cs->flags |= CS_FL_EOS; - if (h1m->state > H1_MSG_LAST_LF && h1m->state < H1_MSG_DONE) + if (h1m->state == H1_MSG_TUNNEL) + h1s->cs->flags |= CS_FL_EOI; + else if (h1m->state > H1_MSG_LAST_LF && h1m->state < H1_MSG_DONE) h1s->cs->flags |= CS_FL_ERROR; }