Fix Expires (freshness) handling in mod_cache.
Previously, if the cached copy was stale, the response would go into an indeterminate state. Therefore, the freshness check must be done before we 'accept' the response and, if it fails (i.e. stale), we can't allow any side effects. This caused a number of changes to how mod_disk_cache reads its headers as ap_scan_script_header_err() purposely has side-effects and that's unacceptable. So, factor out only what we need. Also, remove the broken conditional filter code as you can't reliably alter the filter list once the response is started. (Regardless, cache_select_url() has the freshness checks now.) Assist to Sascha Schumann for reporting mod_cache was busted. This commit also includes the following fix to cache_storage: Tell mod_mem_cache that we will no longer be serving this object if it is stale git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/APACHE_2_0_BRANCH@105283 13f79535-47bb-0310-9956-ffa450edef68
parent
b2ee35ea
Please register or sign in to comment