Commit 90585875 authored by Cliff Woolley's avatar Cliff Woolley
Browse files

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
parent 29096788
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
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
     directives that are used by MPMs.  Prior to this patch,
     you would use these macros without commas, which was unlike
+6 −1
Original line number Diff line number Diff line
@@ -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);
}