no objections in principle to your suggested changes.  but in practice, I don't 
see where an error bucket gets flagged as metadata.  seems like they should be.

Greg
----- Original Message ----
From: Ruediger Pluem <[EMAIL PROTECTED]>
To: [email protected]
Sent: Saturday, July 7, 2007 4:13:08 PM
Subject: Re: svn commit: r554011 - 
/httpd/httpd/trunk/modules/filters/mod_deflate.c

> with LimitRequestBody xxx and the deflate output filter configured, 
> mod_deflate
> eats the 413 error bucket, a 500 error is logged, and a blank screen appears
> at the browser.

Two comments:

1. IMHO this does not work well if a proxy backend breaks in the middle of the 
response and sends
   an error bucket up the chain (ap_proxy_backend_broke). This can lead to a 
mixture of uncompressed
   and compressed content in the response and a correct partial response might 
be valuable for
   the client in order to continue the connection where it broke with a range 
request.

2. In principle the inflate output filter suffers from the same problem.

The following patch should address both points. Comments?

Index: modules/filters/mod_deflate.c
===================================================================
--- modules/filters/mod_deflate.c       (Revision 554244)
+++ modules/filters/mod_deflate.c       (Arbeitskopie)
@@ -579,9 +579,14 @@
             continue;
         }

-        if (AP_BUCKET_IS_ERROR(e)) {
-            ap_remove_output_filter(f);
-            return ap_pass_brigade(f->next, bb);
+        if (APR_BUCKET_IS_METADATA(e)) {






       
____________________________________________________________________________________
Yahoo! oneSearch: Finally, mobile search 
that gives answers, not web links. 
http://mobile.yahoo.com/mobileweb/onesearch?refer=1ONXIC

Reply via email to