From: Jim Jagielski Date: Thu, 26 Apr 2018 17:35:44 +0000 (+0000) Subject: Merge r1828920 from trunk: X-Git-Tag: 2.4.34~186 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8c4cf9f5a7f0be6145222edeccd9bfb855dc6fe1;p=apache Merge r1828920 from trunk: PR62186: preserve %] Submitted By: Micha Lenk Committed By: covener Submitted by: covener Reviewed by: covener, jhriggs, jim git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1830248 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 791f4b9516..c55dccc098 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,10 @@ -*- coding: utf-8 -*- Changes with Apache 2.4.34 + *) core: Preserve the original HTTP request method in the '%] + *) mod_remoteip: make proxy-protocol work on slave connections, e.g. in HTTP/2 requests. See also https://github.com/roadrunner2/mod-proxy-protocol/issues/6 [Stefan Eissing] diff --git a/STATUS b/STATUS index b0918860eb..f8d63f24cf 100644 --- a/STATUS +++ b/STATUS @@ -132,11 +132,6 @@ RELEASE SHOWSTOPPERS: PATCHES ACCEPTED TO BACKPORT FROM TRUNK: [ start all new proposals below, under PATCHES PROPOSED. ] - *) core: restore r->method after internal redirect to errordocument so %headers_out, "Location", custom_response); } else if (custom_response[0] == '/') { - const char *error_notes; + const char *error_notes, *original_method; + int original_method_number; r->no_local_copy = 1; /* Do NOT send HTTP_NOT_MODIFIED for * error documents! */ /* @@ -204,9 +205,14 @@ static void ap_die_r(int type, request_rec *r, int recursive_error) "error-notes")) != NULL) { apr_table_setn(r->subprocess_env, "ERROR_NOTES", error_notes); } + original_method = r->method; + original_method_number = r->method_number; r->method = "GET"; r->method_number = M_GET; ap_internal_redirect(custom_response, r); + /* preserve ability to see %method = original_method; + r->method_number = original_method_number; return; } else {