From: Ruediger Pluem Date: Wed, 26 Jul 2006 13:04:27 +0000 (+0000) Subject: Merge r410370 from trunk: X-Git-Tag: 2.2.3~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=697766d879acd6762f2122cf196510da2425a9a9;p=thirdparty%2Fapache%2Fhttpd.git Merge r410370 from trunk: * Keep the Content-Type for successfully revalidated cached objects, by unsetting possible Content-Type headers in r->headers_out and r->err_headers_out as they may be different to what we have received from the cache. Actually they are not needed as r->content_type set by ap_set_content_type a few lines above will be used in the store_headers functions of the storage providers as a fallback and the HTTP_HEADER filter does overwrite the Content-Type header with r->content_type anyway. PR: 39647 Submitted by: rpluem Reviewed by: rpluem, pquerna, fielding git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@425725 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index bc34cdc9587..a10275e7496 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ -*- coding: utf-8 -*- Changes with Apache 2.2.3 + *) mod_cache: Do not overwrite the Content-Type in the cache, for + successfully revalidated cached objects. PR 39647. [Ruediger Pluem] + *) mod_speling: Add directive to deal with case corrections only and ignore other misspellings [Olivier Thereaux ] diff --git a/STATUS b/STATUS index 857264c5c29..b0b4d4a93c0 100644 --- a/STATUS +++ b/STATUS @@ -82,14 +82,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK: http://issues.apache.org/bugzilla/attachment.cgi?id=18636 +1: bnicholes, rpluem, fielding - * mod_cache: Do not overwrite the Content-Type in the cache, for - successfully revalidated cached objects. PR 39647. - Trunk version of patch: - http://svn.apache.org/viewvc?rev=410370&view=rev - 2.2.x version of patch: - Trunk version works - +1: rpluem, pquerna, fielding - * mod_authnz_ldap: Fix a problem with invalid auth error detection for LDAP client SDKs that don't support LDAP_SECURITY_ERROR macro. PR#39529 diff --git a/modules/cache/cache_storage.c b/modules/cache/cache_storage.c index de0a80b8793..833520599e6 100644 --- a/modules/cache/cache_storage.c +++ b/modules/cache/cache_storage.c @@ -118,6 +118,17 @@ CACHE_DECLARE(void) ap_cache_accept_headers(cache_handle_t *h, request_rec *r, if (v) { ap_set_content_type(r, v); apr_table_unset(h->resp_hdrs, "Content-Type"); + /* + * Also unset possible Content-Type headers in r->headers_out and + * r->err_headers_out as they may be different to what we have received + * from the cache. + * Actually they are not needed as r->content_type set by + * ap_set_content_type above will be used in the store_headers functions + * of the storage providers as a fallback and the HTTP_HEADER filter + * does overwrite the Content-Type header with r->content_type anyway. + */ + apr_table_unset(r->headers_out, "Content-Type"); + apr_table_unset(r->err_headers_out, "Content-Type"); } /* If the cache gave us a Last-Modified header, we can't just