Loading CHANGES +3 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,9 @@ Changes with Apache 2.4.24 *) core: avoid adding multiple subrequest filters when there are nested subrequests. PR58292 *) mod_http2: connection shutdown revisited: corrected edge cases on shutting down ongoing streams, changed log warnings to be less noisy when waiting on long running tasks. [Stefan Eissing] Loading STATUS +0 −6 Original line number Diff line number Diff line Loading @@ -117,12 +117,6 @@ RELEASE SHOWSTOPPERS: PATCHES ACCEPTED TO BACKPORT FROM TRUNK: [ start all new proposals below, under PATCHES PROPOSED. ] *) core: avoid adding multiple subrequest filters when there are nested subrequests. PR58292 trunk patch: http://svn.apache.org/r1698239 2.4.x patch: trunk works +1: covener, ylavic, jim *) mod_remoteip: Pick up where we left off during a subrequest rather than running with the modified XFF but original TCP address. PR49839/PR60251 trunk patch: http://svn.apache.org/r1688399 Loading modules/http/http_request.c +10 −2 Original line number Diff line number Diff line Loading @@ -711,9 +711,17 @@ 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_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 { /* * We need to check if we now have the SUBREQ_CORE filter in our filter Loading server/request.c +11 −2 Original line number Diff line number Diff line Loading @@ -1960,6 +1960,8 @@ static request_rec *make_sub_request(const request_rec *r, /* start with the same set of output filters */ if (next_filter) { ap_filter_t *scan = next_filter; /* while there are no input filters for a subrequest, we will * try to insert some, so if we don't have valid data, the code * will seg fault. Loading @@ -1968,9 +1970,16 @@ static request_rec *make_sub_request(const request_rec *r, rnew->proto_input_filters = r->proto_input_filters; rnew->output_filters = next_filter; rnew->proto_output_filters = r->proto_output_filters; while (scan && (scan != r->proto_output_filters)) { if (scan->frec == ap_subreq_core_filter_handle) { break; } } if (!scan || scan == r->proto_output_filters) { ap_add_output_filter_handle(ap_subreq_core_filter_handle, NULL, rnew, rnew->connection); } } else { /* If NULL - we are expecting to be internal_fast_redirect'ed * to this subrequest - or this request will never be invoked. Loading Loading
CHANGES +3 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,9 @@ Changes with Apache 2.4.24 *) core: avoid adding multiple subrequest filters when there are nested subrequests. PR58292 *) mod_http2: connection shutdown revisited: corrected edge cases on shutting down ongoing streams, changed log warnings to be less noisy when waiting on long running tasks. [Stefan Eissing] Loading
STATUS +0 −6 Original line number Diff line number Diff line Loading @@ -117,12 +117,6 @@ RELEASE SHOWSTOPPERS: PATCHES ACCEPTED TO BACKPORT FROM TRUNK: [ start all new proposals below, under PATCHES PROPOSED. ] *) core: avoid adding multiple subrequest filters when there are nested subrequests. PR58292 trunk patch: http://svn.apache.org/r1698239 2.4.x patch: trunk works +1: covener, ylavic, jim *) mod_remoteip: Pick up where we left off during a subrequest rather than running with the modified XFF but original TCP address. PR49839/PR60251 trunk patch: http://svn.apache.org/r1688399 Loading
modules/http/http_request.c +10 −2 Original line number Diff line number Diff line Loading @@ -711,9 +711,17 @@ 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_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 { /* * We need to check if we now have the SUBREQ_CORE filter in our filter Loading
server/request.c +11 −2 Original line number Diff line number Diff line Loading @@ -1960,6 +1960,8 @@ static request_rec *make_sub_request(const request_rec *r, /* start with the same set of output filters */ if (next_filter) { ap_filter_t *scan = next_filter; /* while there are no input filters for a subrequest, we will * try to insert some, so if we don't have valid data, the code * will seg fault. Loading @@ -1968,9 +1970,16 @@ static request_rec *make_sub_request(const request_rec *r, rnew->proto_input_filters = r->proto_input_filters; rnew->output_filters = next_filter; rnew->proto_output_filters = r->proto_output_filters; while (scan && (scan != r->proto_output_filters)) { if (scan->frec == ap_subreq_core_filter_handle) { break; } } if (!scan || scan == r->proto_output_filters) { ap_add_output_filter_handle(ap_subreq_core_filter_handle, NULL, rnew, rnew->connection); } } else { /* If NULL - we are expecting to be internal_fast_redirect'ed * to this subrequest - or this request will never be invoked. Loading