You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ni...@apache.org on 2010/06/02 01:19:21 UTC

svn commit: r950302 - in /httpd/httpd/trunk: CHANGES modules/filters/mod_deflate.c

Author: niq
Date: Tue Jun  1 23:19:21 2010
New Revision: 950302

URL: http://svn.apache.org/viewvc?rev=950302&view=rev
Log:
Kill off edge case in mod_deflate where data may be sent before headers
are determined.
PR 49369 - Matthew Steele

Modified:
    httpd/httpd/trunk/CHANGES
    httpd/httpd/trunk/modules/filters/mod_deflate.c

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=950302&r1=950301&r2=950302&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Tue Jun  1 23:19:21 2010
@@ -28,6 +28,9 @@ Changes with Apache 2.3.7
      processing is completed, avoiding orphaned callback pointers.
      [Brett Gervasoni <brettg senseofsecurity.com>, Jeff Trawick]
 
+  *) mod_deflate: avoid the risk of forwarding data before headers are set.
+     PR 49369 [Matthew Steele <mdsteele google.com>]
+
   *) mod_authnz_ldap: Ensure nested groups are checked when the 
      top-level group doesn't have any direct non-group members
      of attributes in AuthLDAPGroupAttribute. [Eric Covener]

Modified: httpd/httpd/trunk/modules/filters/mod_deflate.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/filters/mod_deflate.c?rev=950302&r1=950301&r2=950302&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/filters/mod_deflate.c (original)
+++ httpd/httpd/trunk/modules/filters/mod_deflate.c Tue Jun  1 23:19:21 2010
@@ -429,7 +429,7 @@ static apr_status_t deflate_out_filter(a
 
     /* Do nothing if asked to filter nothing. */
     if (APR_BRIGADE_EMPTY(bb)) {
-        return ap_pass_brigade(f->next, bb);
+        return APR_SUCCESS;
     }
 
     c = ap_get_module_config(r->server->module_config,
@@ -1047,7 +1047,7 @@ static apr_status_t inflate_out_filter(a
 
     /* Do nothing if asked to filter nothing. */
     if (APR_BRIGADE_EMPTY(bb)) {
-        return ap_pass_brigade(f->next, bb);
+        return APR_SUCCESS;
     }
 
     c = ap_get_module_config(r->server->module_config, &deflate_module);