From 8db1c176343885bb41c0a375df2f25ada0f4607f Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Tue, 5 Jan 2010 23:12:12 +0100 Subject: [PATCH] [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. --- src/proto_http.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/proto_http.c b/src/proto_http.c index 07e701de9..c70543cb7 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -2635,12 +2635,12 @@ int http_process_req_common(struct session *s, struct buffer *req, int an_bit, s 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;