1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-07 04:02:58 +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:
Cliff Woolley
2001-11-13 07:37:13 +00:00
parent a47ed5762d
commit 0caf1ce9db
2 changed files with 11 additions and 1 deletions

View File

@@ -123,6 +123,11 @@ AP_DECLARE(void) ap_die(int type, request_rec *r)
int error_index = ap_index_of_response(type);
char *custom_response = ap_response_code_string(r, error_index);
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) {
return;
@@ -224,7 +229,7 @@ AP_DECLARE(void) ap_die(int type, request_rec *r)
custom_response);
}
}
add_required_filters(r);
add_required_filters(cur);
ap_send_error_response(r, recursive_error);
}