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://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=466080da0ef9a39f751dda9fcde8be48c5ca9d41;p=haproxy.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 7264bfa7f..7c5451c7a 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; }