[BUG] http: check options before the connection header

Commit 0dfdf19b64 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.
This commit is contained in:
Willy Tarreau 2010-01-05 23:12:12 +01:00
parent f1f0683510
commit 8db1c17634

View File

@ -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;