]> granicus.if.org Git - apache/commitdiff
* Fix ap_http_chunk_filter to create correct chunks in the case that a
authorRuediger Pluem <rpluem@apache.org>
Sat, 17 Dec 2005 09:25:09 +0000 (09:25 +0000)
committerRuediger Pluem <rpluem@apache.org>
Sat, 17 Dec 2005 09:25:09 +0000 (09:25 +0000)
  flush bucket is pre- and postfixed by data buckets in the brigade.

Submitted by: Ruediger Pluem
Reviewed by: Justin Erenkrantz, Joe Orton, Jim Jagielski

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

CHANGES
modules/http/chunk_filter.c

diff --git a/CHANGES b/CHANGES
index 5b58f7332e4b552bcd721d8e30119f4fd677b081..0bca33c35cbec84bb886b842db46c0d052322936 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@
 Changes with Apache 2.3.0
   [Remove entries to the current 2.0 and 2.2 section below, when backported]
 
+  *) Chunk filter: Fix chunk filter to create correct chunks in the case that
+     a flush bucket is surrounded by data buckets. [Ruediger Pluem]
+
   *) If a connection is aborted while waiting for a chunked line, flag the
      connection as errored out.  [Justin Erenkrantz]
 
index 42e464e2e878009914b10fcb790b3943eb07f58c..71f4662fe4cd99af68adb432c85dfbd09c74a692 100644 (file)
@@ -69,6 +69,8 @@ apr_status_t ap_http_chunk_filter(ap_filter_t *f, apr_bucket_brigade *b)
             }
             if (APR_BUCKET_IS_FLUSH(e)) {
                 flush = e;
+                more = apr_brigade_split(b, APR_BUCKET_NEXT(e));
+                break;
             }
             else if (e->length == (apr_size_t)-1) {
                 /* unknown amount of data (e.g. a pipe) */