]> granicus.if.org Git - apache/commitdiff
PR 57968: Don't lowercase the argument to SetHandler if the handler is
authorEric Covener <covener@apache.org>
Fri, 29 May 2015 14:22:10 +0000 (14:22 +0000)
committerEric Covener <covener@apache.org>
Fri, 29 May 2015 14:22:10 +0000 (14:22 +0000)
proxy:unix.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1682482 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
server/core.c

diff --git a/CHANGES b/CHANGES
index 3ee116c823588984372b7204c7248ffa9a28cc55..88db7237d582febe6b57599e60daedaa7f6052f3 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.0
 
+  *) core: Don't lowercase the argument to SetHandler if it begins with
+     "proxy:unix". PR 57968. [Eric Covener]
+
   *) mod_ssl: add ALPN support by allowing other modules to register callbacks
      for negotiation of the application layer protocol.  PR 52210.
      [Matthew Steele <mdsteele google com>, Joe Orton, Jim Jagielski,
index 67875bdb3f02b7f546a7b29ebd421ed14fa88c81..7138444070d112564bfcdced202bc1e329b5bc3c 100644 (file)
@@ -1926,6 +1926,24 @@ static const char *set_default_type(cmd_parms *cmd, void *d_,
     return NULL;
 }
 
+static const char *set_sethandler(cmd_parms *cmd,
+                                     void *d_,
+                                     const char *arg_)
+{
+    core_dir_config *dirconf = d_;
+
+    if (arg_ == ap_strstr_c(arg_, "proxy:unix")) { 
+        dirconf->handler = arg_;
+    }
+    else { 
+        char *arg = apr_pstrdup(cmd->pool,arg_);
+        ap_str_tolower(arg);
+        dirconf->handler = arg;
+    }
+
+    return NULL;
+}
+
 /*
  * Note what data should be used when forming file ETag values.
  * It would be nicer to do this as an ITERATE, but then we couldn't
@@ -4371,8 +4389,7 @@ AP_INIT_FLAG("CGIPassAuth", set_cgi_pass_auth, NULL, OR_AUTHCFG,
 AP_INIT_TAKE1("ForceType", ap_set_string_slot_lower,
        (void *)APR_OFFSETOF(core_dir_config, mime_type), OR_FILEINFO,
      "a mime type that overrides other configured type"),
-AP_INIT_TAKE1("SetHandler", ap_set_string_slot_lower,
-       (void *)APR_OFFSETOF(core_dir_config, handler), OR_FILEINFO,
+AP_INIT_TAKE1("SetHandler", set_sethandler, NULL, OR_FILEINFO,
    "a handler name that overrides any other configured handler"),
 AP_INIT_TAKE1("SetOutputFilter", ap_set_string_slot,
        (void *)APR_OFFSETOF(core_dir_config, output_filters), OR_FILEINFO,