httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ruediger Pluem <rpl...@apache.org>
Subject Re: svn commit: r563317 - in /httpd/httpd/trunk: CHANGES modules/filters/mod_deflate.c
Date Tue, 07 Aug 2007 19:55:24 GMT


On 08/07/2007 12:45 AM, niq@apache.org 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


Mime
View raw message