[BUG] http: check options before the connection header
Commit 0dfdf19b6438c2cea47b1dea0442d65bacfc77cf introduced a
regression because the connection header is now parsed and checked
depending on the configured options, but the options are set after
calling it instead of being set before.
diff --git a/src/proto_http.c b/src/proto_http.c
index 07e701d..c70543c 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -2635,12 +2635,12 @@
if ((s->fe->options|s->be->options) & PR_O_FORCE_CLO)
tmp = TX_CON_WANT_CLO;
- if (!(txn->flags & TX_CON_HDR_PARS))
- http_req_parse_connection_header(txn);
-
if ((txn->flags & TX_CON_WANT_MSK) < tmp)
txn->flags = (txn->flags & ~TX_CON_WANT_MSK) | tmp;
+ if (!(txn->flags & TX_CON_HDR_PARS))
+ http_req_parse_connection_header(txn);
+
if ((txn->flags & TX_CON_WANT_MSK) != TX_CON_WANT_TUN) {
if ((s->fe->options|s->be->options) & PR_O_HTTP_CLOSE)
txn->flags = (txn->flags & ~TX_CON_WANT_MSK) | TX_CON_WANT_CLO;