]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
While processing filters on internal redirects, remember seen EOS
authorAndré Malo <nd@apache.org>
Sat, 22 Feb 2003 18:09:57 +0000 (18:09 +0000)
committerAndré Malo <nd@apache.org>
Sat, 22 Feb 2003 18:09:57 +0000 (18:09 +0000)
buckets also in the request structure of the redirect issuer(s). This
prevents filters (such as mod_deflate) from adding garbage to the response,
because ap_finalize_request_protocol won't send another EOS bucket then.

PR: 14451

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/APACHE_2_0_BRANCH@98762 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
server/util_filter.c

diff --git a/CHANGES b/CHANGES
index 534e7ee2b1075fd11dd54940e7c022824e81f233..f6b33732d17c850fe0ea64caa6bf1ca73ef48760 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,10 @@
 Changes with Apache 2.0.45
 
+  *) While processing filters on internal redirects, remember seen EOS
+     buckets also in the request structure of the redirect issuer(s). This
+     prevents filters (such as mod_deflate) from adding garbage to the
+     response. PR 14451.  [André Malo]
+
   *) suexec: Be more pedantic when cleaning environment. Clean it
      immediately after startup. PR 2790, 10449.
      [Jeff Stewart <jws@purdue.edu>, André Malo]
index 9ba2921c80e12e56b24d1726b38c2ab77267ba5e..308e24ae21d5c8624121f8e061aef2ecae572f17 100644 (file)
@@ -536,6 +536,16 @@ AP_DECLARE(apr_status_t) ap_pass_brigade(ap_filter_t *next,
              * get two EOS buckets on the same request.
              */
             next->r->eos_sent = 1;
+
+            /* remember the eos for internal redirects, too */
+            if (next->r->prev) {
+                request_rec *prev = next->r->prev;
+
+                while (prev) {
+                    prev->eos_sent = 1;
+                    prev = prev->prev;
+                }
+            }
         }
         return next->frec->filter_func.out_func(next, bb);
     }