]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Merge r574024 from trunk:
authorJim Jagielski <jim@apache.org>
Tue, 18 Sep 2007 13:34:25 +0000 (13:34 +0000)
committerJim Jagielski <jim@apache.org>
Tue, 18 Sep 2007 13:34:25 +0000 (13:34 +0000)
Make AJP HEAD aware

Reviewed by: jim

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@576911 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
STATUS
modules/proxy/ajp_header.c

diff --git a/CHANGES b/CHANGES
index 92b8ac133a85a2fff58cb6b0937bc063e1da4f5c..1d8ac6885f03585b26a5406815edf1548250c6d3 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
                                                         -*- coding: utf-8 -*-
 Changes with Apache 2.2.7
 
+  *) mod_proxy_ajp: Differentiate within AJP between GET and HEAD
+     requests. PR 43060 [Jim Jagielski]
+
   *) Don't send spurious "100 Continue" response lines.
      PR 38014 [Basant Kumar Kukreja <basant.kukreja sun.com>]
 
diff --git a/STATUS b/STATUS
index c354877d3166faebe768a842696344bb00729517..a46cd1ab547b94763ace81f112c4239567afa863 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -79,13 +79,6 @@ RELEASE SHOWSTOPPERS:
 PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
   [ start all new proposals below, under PATCHES PROPOSED. ]
 
-    * mod_proxy_ajp: Differentiate within AJP between GET and HEAD requests.
-      PR 43060
-      Trunk version of patch:
-         http://svn.apache.org/viewcvs.cgi?rev=574024&view=rev
-      Backport version for 2.2.x of patch:
-         Trunk version of patch works
-      +1: rpluem, jim, niq
 
 PATCHES PROPOSED TO BACKPORT FROM TRUNK:
   [ New proposals should be added at the end of the list ]
index 07ffba97c07a35be792a730c9c21abe8d6fbd6f8..6fecb5a91fb32d4a3256314e1136cd89d751e794 100644 (file)
@@ -162,13 +162,19 @@ static const unsigned char sc_for_req_method_table[] = {
     0                       /* M_INVALID */
 };
 
-static int sc_for_req_method_by_id(int method_id)
+static int sc_for_req_method_by_id(request_rec *r)
 {
-    if (method_id < 0 || method_id > M_INVALID)
+    int method_id = r->method_number;
+    if (method_id < 0 || method_id > M_INVALID) {
         return UNKNOWN_METHOD;
-    else
+    }
+    else if (r->header_only) {
+        return SC_M_HEAD;
+    }
+    else {
         return sc_for_req_method_table[method_id] ?
                sc_for_req_method_table[method_id] : UNKNOWN_METHOD;
+    }
 }
 
 /*
@@ -218,7 +224,7 @@ static apr_status_t ajp_marshal_into_msgb(ajp_msg_t *msg,
     ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
                          "Into ajp_marshal_into_msgb");
 
-    if ((method = sc_for_req_method_by_id(r->method_number)) == UNKNOWN_METHOD) {
+    if ((method = sc_for_req_method_by_id(r)) == UNKNOWN_METHOD) {
         ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server,
                "ajp_marshal_into_msgb - No such method %s",
                r->method);