You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by yl...@apache.org on 2014/04/15 19:21:45 UTC
svn commit: r1587639 - /httpd/httpd/trunk/modules/filters/mod_deflate.c
Author: ylavic
Date: Tue Apr 15 17:21:45 2014
New Revision: 1587639
URL: http://svn.apache.org/r1587639
Log:
mod_deflate: Don't return gzip-ed data when reading FLUSH bucket in INFLATE
input filter, forward the FLUSH but keep reading should EOS/more
follow (should not happen, but mod_deflate won't fix it).
Modified:
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?rev=1587639&r1=1587638&r2=1587639&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/filters/mod_deflate.c (original)
+++ httpd/httpd/trunk/modules/filters/mod_deflate.c Tue Apr 15 17:21:45 2014
@@ -1217,10 +1217,12 @@ static apr_status_t deflate_in_filter(ap
APR_BRIGADE_INSERT_TAIL(ctx->proc_bb, tmp_heap);
ctx->stream.avail_out = c->bufferSize;
- /* Move everything to the returning brigade. */
+ /* Flush everything so far in the returning brigade, but continue
+ * reading should EOS/more follow (don't lose them).
+ */
APR_BUCKET_REMOVE(bkt);
- APR_BRIGADE_CONCAT(bb, ctx->bb);
- break;
+ APR_BRIGADE_INSERT_TAIL(ctx->proc_bb, bkt);
+ continue;
}
/* sanity check - data after completed compressed body and before eos? */