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).
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
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
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,