Well, if the dechunk filter is not removing intermediate eos inserted by the http_in or core_in filters, as it should, then this allows the whole set of chunks through, and we should close the connection when finished, and we make the extra call into the dechunk filter to reset its state machine.

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/

Reply via email to