-*- coding: utf-8 -*-
Changes with Apache 2.2.4
+ *) mod_ext_filter: Handle filter names which include capital letters.
+ PR 40323. [Jeff Trawick]
+
*) mod_isapi: Avoid double trailing slashes in HSE_REQ_MAP_URL_TO_PATH
support. Also corrects the slashes for Windows. PR 15993. [William Rowe]
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- * mod_ext_filter: Handle filter names which include capital letters.
- PR 40323.
- Trunk patch, which applies:
- http://svn.apache.org/viewvc?view=rev&revision=440028
- +1: trawick, rpluem, jim
-
* core: Deal with the widespread use of apr_status_t return values
as HTTP status codes, as documented in PR#31759 (a bug shared by
the default handler, mod_cgi, mod_cgid, mod_proxy, and probably
&ext_filter_module);
const char *token;
const char *name;
+ char *normalized_name;
ef_filter_t *filter;
name = ap_getword_white(cmd->pool, &args);
return "Filter name not found";
}
- if (apr_hash_get(conf->h, name, APR_HASH_KEY_STRING)) {
+ /* During request processing, we find information about the filter
+ * by looking up the filter name provided by core server in our
+ * hash table. But the core server has normalized the filter
+ * name by converting it to lower case. Thus, when adding the
+ * filter to our hash table we have to use lower case as well.
+ */
+ normalized_name = apr_pstrdup(cmd->pool, name);
+ ap_str_tolower(normalized_name);
+
+ if (apr_hash_get(conf->h, normalized_name, APR_HASH_KEY_STRING)) {
return apr_psprintf(cmd->pool, "ExtFilter %s is already defined",
name);
}
filter->name = name;
filter->mode = OUTPUT_FILTER;
filter->ftype = AP_FTYPE_RESOURCE;
- apr_hash_set(conf->h, name, APR_HASH_KEY_STRING, filter);
+ apr_hash_set(conf->h, normalized_name, APR_HASH_KEY_STRING, filter);
while (*args) {
while (apr_isspace(*args)) {