Commit 60087a70 authored by Rainer Jung's avatar Rainer Jung
Browse files

mod_cache: Per RFC 7234 section 5.3 an invalid

Expires header value must be interpreted as a
time in the past. So apply the logic concerning
"CacheStoreExpired" and "max-age" and "s-maxage"
handling, which we are already using for a valid
Expires header containing a time in the past,
also to the case of an invalid Expires header.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1833876 13f79535-47bb-0310-9956-ffa450edef68
parent c02660e7
Loading
Loading
Loading
Loading
+5 −2
Changes for modules/cache/mod_cache.c: 5 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -1040,8 +1040,11 @@ static apr_status_t cache_save_filter(ap_filter_t *f, apr_bucket_brigade *in)
    if (reason) {
        /* noop */
    }
    else if (exps != NULL && exp == APR_DATE_BAD) {
        /* if a broken Expires header is present, don't cache it */
    else if (!control.s_maxage && !control.max_age && !dconf->store_expired
             && exps != NULL && exp == APR_DATE_BAD) {
        /* if a broken Expires header is present, don't cache it
         * Unless CC: s-maxage or max-age is present
         */
        reason = apr_pstrcat(p, "Broken expires header: ", exps, NULL);
    }
    else if (!control.s_maxage && !control.max_age