[PATCH] mod_deflate.c

2002-11-09 Thread André Malo
The current behaviour of mod_deflate is to set the Vary: Accept-Encoding 
header dependant on the fact, whether the client sent Accept-Encoding: gzip 
or not.

However, I think, that behaviour is not correct. At the time, the DEFLATE 
filter is activated, the resource actually /does/ vary on Accept-Encoding. 
Independant from what the client accepts or not. The attached patch moves 
the Vary header setting to the time before the filter checks the supplied 
Accept-Encoding but after the time, it checks whether the stream is already 
compressed (and probably already correct labeled with a Vary header).

nd
-- 
die (eval q-qq:Just Another Perl Hacker
:-)

# André Malo, http://www.perlig.de/ #

Index: mod_deflate.c
===
RCS file: /home/cvspublic/httpd-2.0/modules/filters/mod_deflate.c,v
retrieving revision 1.24
diff -u -r1.24 mod_deflate.c
--- mod_deflate.c   30 Aug 2002 16:31:17 -  1.24
+++ mod_deflate.c   9 Nov 2002 22:38:50 -
 -306,6 +306,8 
 }
 }
 
+apr_table_setn(r-headers_out, Vary, Accept-Encoding);
+
 /* if they don't have the line, then they can't play */
 accepts = apr_table_get(r-headers_in, Accept-Encoding);
 if (accepts == NULL) {
 -369,7 +371,6 
 else {
 apr_table_mergen(r-headers_out, Content-Encoding, gzip);
 }
-apr_table_setn(r-headers_out, Vary, Accept-Encoding);
 apr_table_unset(r-headers_out, Content-Length);
 
 /* initialize deflate output buffer */



Re: [PATCH] mod_deflate.c

2002-11-09 Thread Justin Erenkrantz
--On Sunday, November 10, 2002 12:24 AM +0100 André Malo 
[EMAIL PROTECTED] wrote:

The current behaviour of mod_deflate is to set the Vary:
Accept-Encoding  header dependant on the fact, whether the client
sent Accept-Encoding: gzip  or not.

However, I think, that behaviour is not correct. At the time, the


Fair enough - I'm convinced.  =)

Committed.  Thanks!  -- justin