From 63d78448caf501c837fcddd924e347b809f65250 Mon Sep 17 00:00:00 2001 From: Eric Covener Date: Sat, 1 Nov 2014 17:57:47 +0000 Subject: [PATCH] Merge r1634237 from trunk: fix another case of 304 response sent to an unconditional request Submitted By: covener Reviewed By: covener, jim, ylavic git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1636001 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 3 +++ STATUS | 6 ------ modules/cache/mod_cache.c | 5 +++++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/CHANGES b/CHANGES index 85cd4d5bee2..4110e57ed5a 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,9 @@ Changes with Apache 2.4.11 + *) mod_cache: Avoid a 304 response to an unconditional requst when an AH00752 + CacheLock error occurs during cache revalidation. [Eric Covener] + *) mod_ssl: Move OCSP stapling information from a per-certificate store to a per-server hash. PR 54357, PR 56919. [Alex Bligh , Yann Ylavic, Kaspar Brand] diff --git a/STATUS b/STATUS index bbdfed6b689..9368864c017 100644 --- a/STATUS +++ b/STATUS @@ -102,12 +102,6 @@ RELEASE SHOWSTOPPERS: PATCHES ACCEPTED TO BACKPORT FROM TRUNK: [ start all new proposals below, under PATCHES PROPOSED. ] - * mod_cache: Restore original request headers when skipping updating the cache due to - a busy/broken CacheLock. Can result in a 304 to an uncoditional request. - trunk patch: http://svn.apache.org/r1634237 - 2.4.x patch: trunk works - +1 covener, jim, ylavic - * mod_proxy_connect: EBCDIC fix for ProxyRemote to HTTPS. PR57092 trunk patch: http://svn.apache.org/r1634425 2.4.x patch: trunk works diff --git a/modules/cache/mod_cache.c b/modules/cache/mod_cache.c index 1a47f021b85..0c3b5f97027 100644 --- a/modules/cache/mod_cache.c +++ b/modules/cache/mod_cache.c @@ -234,6 +234,11 @@ static int cache_quick_handler(request_rec *r, int lookup) ap_log_rerror(APLOG_MARK, APLOG_DEBUG, rv, r, APLOGNO(00752) "Cache locked for url, not caching " "response: %s", r->uri); + /* cache_select() may have added conditional headers */ + if (cache->stale_headers) { + r->headers_in = cache->stale_headers; + } + } } else { -- 2.47.2