+1
Ryan
On Tue, 26 Jun 2001, Bill Stoddard wrote:
> This patch seems to fix the problem. Comments before I commit it?
>
> Bill
>
> Index: http_core.c
> ===================================================================
> RCS file: /home/cvs/httpd-2.0/modules/http/http_core.c,v
> retrieving revision 1.279
> diff -u -r1.279 http_core.c
> --- http_core.c 2001/06/07 01:14:24 1.279
> +++ http_core.c 2001/06/26 13:50:20
> @@ -144,6 +144,7 @@
> for (more = NULL; b; b = more, more = NULL) {
> apr_off_t bytes = 0;
> apr_bucket *eos = NULL;
> + apr_bucket *flush = NULL;
> char chunk_hdr[20]; /* enough space for the snprintf below */
>
> APR_BRIGADE_FOREACH(e, b) {
> @@ -152,6 +153,9 @@
> eos = e;
> break;
> }
> + if (APR_BUCKET_IS_FLUSH(e)) {
> + flush = e;
> + }
> else if (e->length == -1) {
> /* unknown amount of data (e.g. a pipe) */
> const char *data;
> @@ -206,12 +210,15 @@
> APR_BRIGADE_INSERT_HEAD(b, e);
>
> /*
> - * Insert the end-of-chunk CRLF before the EOS bucket, or
> - * appended to the brigade
> + * Insert the end-of-chunk CRLF before an EOS or
> + * FLUSH bucket, or appended to the brigade
> */
> e = apr_bucket_immortal_create(ASCII_CRLF, 2);
> if (eos != NULL) {
> APR_BUCKET_INSERT_BEFORE(eos, e);
> + }
> + else if (flush != NULL) {
> + APR_BUCKET_INSERT_BEFORE(flush, e);
> }
> else {
> APR_BRIGADE_INSERT_TAIL(b, e);
>
>
> > > I've looked into this a bit more and it appears we have a chunking bug in Apache
>2.0.
> > > Specifically, Apache 2.0 is not terminating the first chunk with a CRLF as it
>should.
> > >
> >
>
>
>
_____________________________________________________________________________
Ryan Bloom [EMAIL PROTECTED]
Covalent Technologies [EMAIL PROTECTED]
-----------------------------------------------------------------------------