]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Merge r180341 from trunk:
authorColm MacCarthaigh <colm@apache.org>
Mon, 23 Jan 2006 19:26:00 +0000 (19:26 +0000)
committerColm MacCarthaigh <colm@apache.org>
Mon, 23 Jan 2006 19:26:00 +0000 (19:26 +0000)
    * Fix handling of "Vary: *" in mod_cache.

Submitted by: pquerna

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x@371633 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
STATUS
modules/experimental/mod_cache.c

diff --git a/CHANGES b/CHANGES
index cafcf02c48edf1be3302ff5a0be8ff4e2d9086ad..9a932f1dd0bd4cb7a7983608948005b18eee5f60 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.0.56
 
+  *) mod_cache: Fix 'Vary: *' behavior to be RFC compliant. PR 16125.
+     [Paul Querna]
+
   *) Remove the base href tag from proxy_ftp, as it breaks relative
      links for clients not using an Authorization header. [Graham Leggett,
      Jon Snow <jsnow27 gatesec.net>]
diff --git a/STATUS b/STATUS
index 768596953a848a54b4a3945d71a729596536312c..b3b657f25b207c308a278876e7e5cfc9cd97cb0c 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -133,13 +133,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
          http://svn.apache.org/viewcvs?view=rev&rev=154319
        +1: stoddard, striker, wrowe (as corrected in subsequent patches)
 
-    *) mod_cache: Fix handling of 'Vary: *". PR 16125.
-       Trunk: r180341
-       2.0.x Patch: http://issues.apache.org/bugzilla/attachment.cgi?id=15297
-       +1: pquerna, jerenkrantz, colm
-       jerenkrantz notes: I do prefer the version from r190033 (own if check).
-
-
     *) mod_mime_magic: Handle CRLF-format^H^H^H^H^H^H^H magic files 
        with any trailing whitespace so that it works with the
        default installation on Windows.
index e92f4d979cc1d26489ad289751e47dc4843367c6..165a0f4275a8657b6efd9af51f9dd42d35153645 100644 (file)
@@ -256,7 +256,7 @@ static int cache_save_filter(ap_filter_t *f, apr_bucket_brigade *in)
     cache_request_rec *cache;
     cache_server_conf *conf;
     char *url = r->unparsed_uri;
-    const char *cc_in, *cc_out, *cl;
+    const char *cc_in, *cc_out, *cl, *vary_out;
     const char *exps, *lastmods, *dates, *etag;
     apr_time_t exp, date, lastmod, now;
     apr_off_t size;
@@ -267,7 +267,9 @@ static int cache_save_filter(ap_filter_t *f, apr_bucket_brigade *in)
     /* check first whether running this filter has any point or not */
     /* If the user has Cache-Control: no-store from RFC 2616, don't store! */
     cc_in = apr_table_get(r->headers_in, "Cache-Control");
-    if (r->no_cache || ap_cache_liststr(NULL, cc_in, "no-store", NULL)) {
+    vary_out = apr_table_get(r->headers_out, "Vary");
+    if (r->no_cache || ap_cache_liststr(NULL, cc_in, "no-store", NULL) || 
+        ap_cache_liststr(NULL, vary_out, "*", NULL)) {
         ap_remove_output_filter(f);
         return ap_pass_brigade(f->next, in);
     }