]> granicus.if.org Git - apache/commitdiff
Merge r1634237 from trunk:
authorEric Covener <covener@apache.org>
Sat, 1 Nov 2014 17:57:47 +0000 (17:57 +0000)
committerEric Covener <covener@apache.org>
Sat, 1 Nov 2014 17:57:47 +0000 (17:57 +0000)
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
STATUS
modules/cache/mod_cache.c

diff --git a/CHANGES b/CHANGES
index 85cd4d5bee2dd8ca441ca67ad3d8a0ae227b6e33..4110e57ed5ab2e076dc9e21921ba4316bd5ed470 100644 (file)
--- 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 <alex alex.org.uk>,
      Yann Ylavic, Kaspar Brand]
diff --git a/STATUS b/STATUS
index bbdfed6b6894aca1d31542eebbe3cc258849664c..9368864c017b2173dee18f6a1d810ae1ff0f6efc 100644 (file)
--- 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
index 1a47f021b85094257d3160dc5fd756cec34df415..0c3b5f97027b3d5d8c44ea50c1595d60fa8b57b1 100644 (file)
@@ -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 {