Commit 2c213721 authored by Graham Leggett's avatar Graham Leggett
Browse files

Don't cache requests with a expires date in the past; otherwise mod_cache will

always try to cache the URL. This bug might lead to numerous rename() errors
on win32 if the URL was previously cached.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@450055 13f79535-47bb-0310-9956-ffa450edef68
parent e0935b79
Loading
Loading
Loading
Loading
+5 −0
Changes for CHANGES: 5 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -2,6 +2,11 @@
Changes with Apache 2.3.0
  [Remove entries to the current 2.0 and 2.2 section below, when backported]
  *) mod_cache: Don't cache requests with a expires date in the past;
     otherwise mod_cache will always try to cache the URL. This bug
     might lead to numerous rename() errors on win32 if the URL was
     previously cached. [Davi Arnaut <davi haxent.com.br>]
  *) mod_disk_cache: Make sure that only positive integers are accepted
     for the CacheMaxFileSize and CacheMinFileSize parameters in the
     config file. PR39380 [Niklas Edmundsson <nikke acc.umu.se>]
+5 −0
Changes for modules/cache/mod_cache.c: 5 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -445,6 +445,11 @@ static int cache_save_filter(ap_filter_t *f, apr_bucket_brigade *in)
        /* if a broken Expires header is present, don't cache it */
        reason = apr_pstrcat(p, "Broken expires header: ", exps, NULL);
    }
    else if (exp != APR_DATE_BAD && exp < r->request_time)
    {
        /* if a Expires header is in the past, don't cache it */
        reason = "Expires header already expired, not cacheable";
    }
    else if (r->args && exps == NULL) {
        /* if query string present but no expiration time, don't cache it
         * (RFC 2616/13.9)