From: Graham Leggett Date: Sat, 16 Oct 2010 23:32:45 +0000 (+0000) Subject: Add support for proxy-revalidate as per RFC2616 section 14.9.4. X-Git-Tag: 2.3.9~304 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e0d571b1f3f0acd5220122cc5159596ff17532b2;p=thirdparty%2Fapache%2Fhttpd.git Add support for proxy-revalidate as per RFC2616 section 14.9.4. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1023389 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/cache/mod_cache.c b/modules/cache/mod_cache.c index a34ffc8b446..0d0a8dc9ea2 100644 --- a/modules/cache/mod_cache.c +++ b/modules/cache/mod_cache.c @@ -797,7 +797,8 @@ static int cache_save_filter(ap_filter_t *f, apr_bucket_brigade *in) ap_remove_output_filter(cache->remove_url_filter); if (cache->stale_handle - && !cache->stale_handle->cache_obj->info.control.must_revalidate) { + && !cache->stale_handle->cache_obj->info.control.must_revalidate + && !cache->stale_handle->cache_obj->info.control.proxy_revalidate) { const char *warn_head; /* morph the current save filter into the out filter, and serve from @@ -976,7 +977,8 @@ static int cache_save_filter(ap_filter_t *f, apr_bucket_brigade *in) reason = "Cache-Control: private present"; } else if (apr_table_get(r->headers_in, "Authorization") - && !(control.s_maxage || control.must_revalidate || control.public)) { + && !(control.s_maxage || control.must_revalidate + || control.proxy_revalidate || control.public)) { /* RFC2616 14.8 Authorisation: * if authorisation is included in the request, we don't cache, * but we can cache if the following exceptions are true: @@ -1601,7 +1603,8 @@ static void cache_insert_error_filter(request_rec *r) cache_request_rec *cache = (cache_request_rec *) dummy; if (cache->stale_handle && cache->save_filter - && !cache->stale_handle->cache_obj->info.control.must_revalidate) { + && !cache->stale_handle->cache_obj->info.control.must_revalidate + && !cache->stale_handle->cache_obj->info.control.proxy_revalidate) { const char *warn_head; cache_server_conf *conf =