BUG/MEDIUM: mux-h1: Handle delayed silent shut in h1_process() to release H1C

The commit a85c522d4 ("BUG/MINOR: mux-h1: Save shutdown mode if the shutdown
is delayed") revealed several hidden bugs in connection's shutdown
handling. One of them is about delayed silent shudown.

If outgoing data are not fully sent, we delayed the shutdown. However, in
h1_process(), only normal (or clean) shutdown are really detected. If a
silent (or dirty) shutdown is performed, the H1 connection is not
immediately released. Of course, in this situation, the client never
acknowledged the shutdown. Thus, the H1 connection remains open till the
client timeout.

This patch should fix the issues #1448 and #1453. It must be backported as
far as 2.0.

(cherry picked from commit 7530830414d5b92a31cb327201f9bc4d50a6ea64)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
1 file changed