mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
Fix a bug which would cause the response headers to be omitted
when sending a negotiated ErrorDocument because the required filters were attached to the wrong request_rec. Submitted by: John Sterling <sterling@covalent.net> Reviewed by: Justin Erenkrantz, Cliff Woolley git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91900 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
5
CHANGES
5
CHANGES
@@ -1,5 +1,10 @@
|
|||||||
Changes with Apache 2.0.29-dev
|
Changes with Apache 2.0.29-dev
|
||||||
|
|
||||||
|
*) Fix a bug which would cause the response headers to be omitted
|
||||||
|
when sending a negotiated ErrorDocument because the required
|
||||||
|
filters were attached to the wrong request_rec.
|
||||||
|
[John Sterling <sterling@covalent.net>]
|
||||||
|
|
||||||
*) Remove commas from the end of the macros that define
|
*) Remove commas from the end of the macros that define
|
||||||
directives that are used by MPMs. Prior to this patch,
|
directives that are used by MPMs. Prior to this patch,
|
||||||
you would use these macros without commas, which was unlike
|
you would use these macros without commas, which was unlike
|
||||||
|
@@ -123,6 +123,11 @@ AP_DECLARE(void) ap_die(int type, request_rec *r)
|
|||||||
int error_index = ap_index_of_response(type);
|
int error_index = ap_index_of_response(type);
|
||||||
char *custom_response = ap_response_code_string(r, error_index);
|
char *custom_response = ap_response_code_string(r, error_index);
|
||||||
int recursive_error = 0;
|
int recursive_error = 0;
|
||||||
|
/* There are some cases where we walk up the request hierarchy
|
||||||
|
* to obtain the original error, but when adding the required_filters,
|
||||||
|
* we need to do so against the one we came in with. So, save it.
|
||||||
|
*/
|
||||||
|
request_rec *cur = r;
|
||||||
|
|
||||||
if (type == AP_FILTER_ERROR) {
|
if (type == AP_FILTER_ERROR) {
|
||||||
return;
|
return;
|
||||||
@@ -224,7 +229,7 @@ AP_DECLARE(void) ap_die(int type, request_rec *r)
|
|||||||
custom_response);
|
custom_response);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
add_required_filters(r);
|
add_required_filters(cur);
|
||||||
ap_send_error_response(r, recursive_error);
|
ap_send_error_response(r, recursive_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user