From: Willy Tarreau Date: Fri, 10 Jul 2009 21:52:51 +0000 (+0200) Subject: [MINOR] http: rely on proxy->acl_requires to allocate hdr_idx X-Git-Tag: v1.4-dev1~31 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bf2886274c38c281d8b3c9d9ad92b61bbcb2c503;p=thirdparty%2Fhaproxy.git [MINOR] http: rely on proxy->acl_requires to allocate hdr_idx Right now only HTTP proxies may use HTTP headers in ACLs, but when this evolves, we'll need to be able to allocate the hdr_idx on demand. The solution consists in allocating it only when it is certain that at least one ACL requires HTTP parsing, regardless of the mode the proxy is in. This is what is achieved by this patch. --- diff --git a/src/client.c b/src/client.c index abf4d351a7..cfd41e0e41 100644 --- a/src/client.c +++ b/src/client.c @@ -281,8 +281,13 @@ int event_accept(int fd) { memset(txn->rsp.cap, 0, p->nb_rsp_cap*sizeof(char *)); } + } - + if (p->acl_requires & ACL_USE_L7_ANY) { + /* we have to allocate header indexes only if we know + * that we may make use of them. This of course includes + * (mode == PR_MODE_HTTP). + */ txn->hdr_idx.size = MAX_HTTP_HDR; if ((txn->hdr_idx.v = pool_alloc2(p->hdr_idx_pool)) == NULL)