]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
[BUG] http: do not re-enable the PROXY analyser on keep-alive
authorWilly Tarreau <w@1wt.eu>
Wed, 24 Nov 2010 15:22:09 +0000 (16:22 +0100)
committerWilly Tarreau <w@1wt.eu>
Mon, 29 Nov 2010 06:32:02 +0000 (07:32 +0100)
The PROXY analyser is connection-oriented and must only be set once. When
an HTTP transaction is done, we must not re-enable it.

src/proto_http.c

index 47bdb632972d51a8cdb83073e041490929e07188..aa3ed531043a4fa3e70edbecd8b4be3d5edb61ff 100644 (file)
@@ -3948,7 +3948,8 @@ void http_end_txn_clean_session(struct session *s)
        if (s->rep->lr >= s->rep->data + s->rep->size)
                s->rep->lr -= s->req->size;
 
-       s->req->analysers |= s->listener->analysers;
+       s->req->analysers = s->listener->analysers;
+       s->req->analysers &= ~AN_REQ_DECODE_PROXY;
        s->rep->analysers = 0;
 
        http_silent_debug(__LINE__, s);
@@ -7356,7 +7357,6 @@ void http_reset_txn(struct session *s)
        http_init_txn(s);
 
        s->be = s->fe;
-       s->req->analysers = s->listener->analysers;
        s->logs.logwait = s->fe->to_log;
        s->srv = s->prev_srv = s->srv_conn = NULL;
        /* re-init store persistence */