Commit ec28f10b authored by Bill Stoddard's avatar Bill Stoddard
Browse files

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
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment