From 2dd26ca9ff8e642611b8b012d6aee45ea45196bc Mon Sep 17 00:00:00 2001 From: Jerome Magnin Date: Mon, 26 Aug 2019 11:44:21 +0200 Subject: [PATCH] BUG/MEDIUM: url32 does not take the path part into account in the returned hash. The url32 sample fetch does not take the path part of the URL into account. This is because in smp_fetch_url32() we erroneously modify path.len and path.ptr before testing their value and building the path based part of the hash. This fixes issue #235 This must be backported as far as 1.9, when HTX was introduced. --- src/http_fetch.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/http_fetch.c b/src/http_fetch.c index 922e25cc1..126c1a2a8 100644 --- a/src/http_fetch.c +++ b/src/http_fetch.c @@ -1786,10 +1786,6 @@ static int smp_fetch_url32(const struct arg *args, struct sample *smp, const cha /* now retrieve the path */ sl = http_get_stline(htx); path = http_get_path(htx_sl_req_uri(sl)); - while (path.len > 0 && *(path.ptr) != '?') { - path.ptr++; - path.len--; - } if (path.len && *(path.ptr) == '/') { while (path.len--) hash = *(path.ptr++) + (hash << 6) + (hash << 16) - hash;