From: Willy Tarreau Date: Sun, 10 Jun 2007 19:42:55 +0000 (+0200) Subject: [MINOR] acl: permit to return any header when no name specified X-Git-Tag: v1.3.12~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1ad7c6dd857ee59097926953dd782c5edd3eb7b2;p=thirdparty%2Fhaproxy.git [MINOR] acl: permit to return any header when no name specified Having the ability to match on hdr_xxx in addition to hdr_xxx(yyy) makes it possible to match any value or to count the headers easily. --- diff --git a/src/proto_http.c b/src/proto_http.c index 84aa91ae12..8a13a71843 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -495,6 +495,14 @@ int http_find_header2(const char *name, int len, while (cur_idx) { eol = sol + idx->v[cur_idx].len; + if (len == 0) { + /* No argument was passed, we want any header. + * To achieve this, we simply build a fake request. */ + while (sol + len < eol && sol[len] != ':') + len++; + name = sol; + } + if ((len < eol - sol) && (sol[len] == ':') && (strncasecmp(sol, name, len) == 0)) {