ASF Bugzilla – Attachment 30830 Details for
Bug 55475
mod_proxy breaks HTTP chunked transfer coding
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Detect incomplete body in HTTP input filter and return APR_INCOMPLETE (2.2.x)
2.2.x-http_filter_incomplete.patch (text/plain), 1.38 KB, created by
Yann Ylavic
on 2013-09-13 10:27:46 UTC
(
hide
)
Description:
Detect incomplete body in HTTP input filter and return APR_INCOMPLETE (2.2.x)
Filename:
MIME Type:
Creator:
Yann Ylavic
Created:
2013-09-13 10:27:46 UTC
Size:
1.38 KB
patch
obsolete
>Index: modules/http/http_filters.c >=================================================================== >--- modules/http/http_filters.c (revision 1522831) >+++ modules/http/http_filters.c (working copy) >@@ -440,6 +440,9 @@ apr_status_t ap_http_filter(ap_filter_t *f, apr_bu > } > /* If we get an error, then leave */ > if (rv != APR_SUCCESS) { >+ if (rv == APR_EOF) { >+ return APR_INCOMPLETE; >+ } > return rv; > } > /* >@@ -525,6 +528,10 @@ apr_status_t ap_http_filter(ap_filter_t *f, apr_bu > rv = ap_get_brigade(f->next, b, mode, block, readbytes); > > if (rv != APR_SUCCESS) { >+ if (rv == APR_EOF && ctx->remaining > 0 && >+ ctx->state != BODY_NONE) { >+ return APR_INCOMPLETE; >+ } > return rv; > } > >@@ -537,10 +544,9 @@ apr_status_t ap_http_filter(ap_filter_t *f, apr_bu > > if (ctx->state != BODY_NONE) { > ctx->remaining -= totalread; >- if (ctx->remaining > 0) { >- e = APR_BRIGADE_LAST(b); >- if (APR_BUCKET_IS_EOS(e)) >- return APR_EOF; >+ if (ctx->remaining > 0 && !APR_BRIGADE_EMPTY(b) && >+ APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(b))) { >+ return APR_INCOMPLETE; > } > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 55475
:
30757
|
30830
|
30831
|
30832
|
30837
|
30839
|
30846
|
30847
|
30848
|
30849
|
30850
|
30852
|
30853
|
30855
|
30856
|
30857
|
30858
|
30893