MINOR: mux-h1: Change client conn_mode on an explicit close for the response
in h1_set_cli_conn_mode(), on the response path, If the response's connection
header is explicitly set to close and if the request is unfinished (state !=
DONE), then the client connection is marked as WANT_CLO.
diff --git a/src/mux_h1.c b/src/mux_h1.c
index b350e06..1681861 100644
--- a/src/mux_h1.c
+++ b/src/mux_h1.c
@@ -585,7 +585,8 @@
if ((h1s->meth == HTTP_METH_CONNECT && h1s->status == 200) ||
h1s->status == 101)
h1s->flags = (h1s->flags & ~H1S_F_WANT_MSK) | H1S_F_WANT_TUN;
- else if (!(h1m->flags & H1_MF_XFER_LEN)) /* no length known => close */
+ else if (!(h1m->flags & H1_MF_XFER_LEN) || /* no length known => close */
+ (h1m->flags & H1_MF_CONN_CLO && h1s->req.state != H1_MSG_DONE)) /*explicit close and unfinished request */
h1s->flags = (h1s->flags & ~H1S_F_WANT_MSK) | H1S_F_WANT_CLO;
}
else {