On 08/07/2007 12:45 AM, [EMAIL PROTECTED] wrote: > Author: niq > Date: Mon Aug 6 15:45:39 2007 > New Revision: 563317 > > URL: http://svn.apache.org/viewvc?view=rev&rev=563317 > Log: > Check all sources of Content-Encoding in inflate_out filter > PR 42993 > Reasoning: http://marc.info/?l=apache-httpd-dev&m=118643107831358&w=2 > > Modified: > httpd/httpd/trunk/CHANGES > httpd/httpd/trunk/modules/filters/mod_deflate.c >
> Modified: httpd/httpd/trunk/modules/filters/mod_deflate.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/filters/mod_deflate.c?view=diff&rev=563317&r1=563316&r2=563317 > ============================================================================== > --- httpd/httpd/trunk/modules/filters/mod_deflate.c (original) > +++ httpd/httpd/trunk/modules/filters/mod_deflate.c Mon Aug 6 15:45:39 2007 > @@ -88,10 +88,18 @@ > * If a request has multiple encodings, we need the gzip > * to be the outermost non-identity encoding. > */ > -static int check_gzip(apr_pool_t *pool, apr_table_t *hdrs) > +static int check_gzip(apr_pool_t *pool, apr_table_t *hdrs, > + apr_table_t *hdrs2, const char *enc_in) > { > int found = 0; > const char *encoding = apr_table_get(hdrs, "Content-Encoding"); > + > + if (!encoding && (hdrs2 != NULL)) { > + encoding = apr_table_get(hdrs2, "Content-Encoding"); > + } > + if (!encoding) { > + encoding = enc_in; > + } In the case that we use enc_in we still adjust hdrs and only hdrs. It might be needed to unset r->content_encoding in this case. And in the case that Content-Encoding is not in hdrs but in hdrs2 we we adjust hdrs instead of hdrs2. This sounds wrong to me. Regards RĂ¼diger
