Summary: | mod_deflate may lead to HTTP/1.1 400 responce when a request is absolutely correct | ||
---|---|---|---|
Product: | Apache httpd-2 | Reporter: | Dmitri Dmitrienko <dd> |
Component: | mod_deflate | Assignee: | Apache HTTPD Bugs Mailing List <bugs> |
Status: | CLOSED FIXED | ||
Severity: | major | ||
Priority: | P3 | ||
Version: | 2.0-HEAD | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Windows XP |
Description
Dmitri Dmitrienko
2003-01-15 20:19:16 UTC
Once again the proposed patch agains the most recent version of mod_deflate.c: --- mod_deflate.c~ 2003-01-03 02:12:36.000000000 +0300 +++ mod_deflate.c 2003-01-15 23:31:04.000000000 +0300 @@ -557,7 +557,7 @@ int zRC; apr_status_t rv; deflate_filter_config *c; - + /* just get out of the way of things we don't want. */ if (mode != AP_MODE_READBYTES) { return ap_get_brigade(f->next, bb, mode, block, readbytes); @@ -655,6 +655,15 @@ return rv; } + if (APR_BUCKET_IS_EOS(APR_BRIGADE_FIRST(ctx->bb))) { + apr_bucket *eos; + + apr_brigade_cleanup(ctx->bb); + eos = apr_bucket_eos_create(f->c->bucket_alloc); + APR_BRIGADE_INSERT_TAIL(bb, eos); + return APR_SUCCESS; + } + APR_BRIGADE_FOREACH(bkt, ctx->bb) { const char *data; apr_size_t len; Changed how ap_xml_parse_input works in server/util_xml.c r1.22 so that it realizes when EOS is sent. I've proposed this to be backported to the next stable release. Thanks for using Apache HTTP Server! |