While this will work, I think the fix should go into the dechunk filter in http_protocol.c. Then the eos check here (an more importantly, in any other filter using the dechunk filter ahead of it) works as it should.
The dechunk filter should remove all internediate eos and append one final one when chunked content ends.
Chuck
On Tuesday, July 17, 2001, at 12:15 PM, Victor J. Orlikowski wrote:
this seems to fix the problem... can someone more familiar with brigades/buckets review it
Index: proxy_http.c =================================================================== RCS file: /home/cvspublic/httpd-proxy/module-2.0/proxy_http.c,v retrieving revision 1.79 diff -u -r1.79 proxy_http.c --- proxy_http.c 2001/07/16 17:54:38 1.79 +++ proxy_http.c 2001/07/17 16:07:32 @@ -782,18 +782,20 @@
/* read the body, pass it to the output filters */ while (ap_get_brigade(rp->input_filters, bb, AP_MODE_BLOCKING, &readbyte s) == APR_SUCCESS) { - if (APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(bb))) { + apr_bucket *b = APR_BRIGADE_LAST(bb); + if (APR_BUCKET_IS_EOS(b)) { + APR_BUCKET_REMOVE(b); e = apr_bucket_flush_create(); APR_BRIGADE_INSERT_TAIL(bb, e); ap_pass_brigade(r->output_filters, bb);
Hum.... I may be mistaken, but the end-of-stream bucket still needs to be there. This patch makes certain that there will *never* be an EOS bucket.
Feel free to correct me on this.
Victor -- Victor J. Orlikowski | The Wall is Down, But the Threat Remains! ================================================================== [EMAIL PROTECTED] | [EMAIL PROTECTED] | [EMAIL PROTECTED]
Chuck Murcko Topsail Group http://www.topsail.org/
