mirror of
https://github.com/apache/httpd.git
synced 2025-08-07 04:02:58 +03:00
avoid adding multiple subrequest filters when there are nested subrequests.
Multiple copies of the filter were not stripped properly during ap_fast_internal_redirect() which left the EOS buckets stripped out of the brigade. This results in the end-chunk never going out on the wire for a chunked response. observed with mainreq -> directoryindex -> FallbackResource PR58292 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1698239 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -613,8 +613,16 @@ AP_DECLARE(void) ap_internal_fast_redirect(request_rec *rr, request_rec *r)
|
||||
update_r_in_filters(r->output_filters, rr, r);
|
||||
|
||||
if (r->main) {
|
||||
ap_add_output_filter_handle(ap_subreq_core_filter_handle,
|
||||
NULL, r, r->connection);
|
||||
ap_filter_t *next = r->output_filters;
|
||||
while (next && (next != r->proto_output_filters)) {
|
||||
if (next->frec == ap_subreq_core_filter_handle) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!next || next == r->proto_output_filters) {
|
||||
ap_add_output_filter_handle(ap_subreq_core_filter_handle,
|
||||
NULL, r, r->connection);
|
||||
}
|
||||
}
|
||||
else {
|
||||
/*
|
||||
|
Reference in New Issue
Block a user