From: Willy Tarreau Date: Fri, 22 Dec 2017 15:32:43 +0000 (+0100) Subject: BUG/MEDIUM: cache: do not try to retrieve host-less requests from the cache X-Git-Tag: v1.9-dev1~550 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7704b1e89a202c5b09d89fbc50f042a18113a839;p=thirdparty%2Fhaproxy.git BUG/MEDIUM: cache: do not try to retrieve host-less requests from the cache All HTTP/1.1 requests the Host header share the same hash key 0 and will be return the first cached object. Let's add the check on the call to sha1_hosturi() to prevent this from happening. This must be backported to 1.8. --- diff --git a/src/cache.c b/src/cache.c index 459c2e8bf5..371ce20acd 100644 --- a/src/cache.c +++ b/src/cache.c @@ -672,7 +672,8 @@ enum act_return http_action_req_cache_use(struct act_rule *rule, struct proxy *p struct cache_entry *res; struct cache *cache = (struct cache *)rule->arg.act.p[0]; - sha1_hosturi(s->txn); + if (!sha1_hosturi(s->txn)) + return ACT_RET_CONT; shctx_lock(shctx_ptr(cache)); res = entry_exist(cache, s->txn->cache_hash);