Commit 83b693a1 authored by Jim Jagielski's avatar Jim Jagielski
Browse files

Merge r1682482 from trunk:

PR 57968: Don't lowercase the argument to SetHandler if the handler is
proxy:unix.


Submitted by: covener
Reviewed/backported by: jim


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1682888 13f79535-47bb-0310-9956-ffa450edef68
parent 1940b8ab
Loading
Loading
Loading
Loading
+3 −0
Changes for CHANGES: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -12,6 +12,9 @@ Changes with Apache 2.4.13
     calls r:wsupgrade() can cause a child process crash. 
     [Edward Lu <Chaosed0 gmail.com>]

  *) core: Don't lowercase the argument to SetHandler if it begins with
     "proxy:unix". PR 57968. [Eric Covener]

  *) mod_ssl OCSP Stapling: Don't block initial handshakes while refreshing
     the OCSP response for a different certificate.  mod_ssl has an additional
     global mutex, "ssl-stapling-refresh".  PR 57131 (partial fix).
+0 −6
Changes for STATUS: 0 added lines, 6 removed lines.
Original line number Diff line number Diff line
@@ -105,12 +105,6 @@ RELEASE SHOWSTOPPERS:
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
  [ start all new proposals below, under PATCHES PROPOSED. ]

  *) core: Don't lowercase the argument to SetHandler if it begins
     with proxy:unix. PR 57968.
     trunk patch: http://svn.apache.org/r1682482
     2.4.x patch: trunk works
     +1: covener, ylavic, rjung

  *) Easy proposals:
        mod_allowmethods: Style (mostly indent)
        mod_allowmethods: More style
+19 −2
Changes for server/core.c: 19 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -1863,6 +1863,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
@@ -4140,8 +4158,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,