different security issues which may affect particular configurations
and third-party modules.
+ *) mod_rewrite: Fix the error string returned by RewriteRule.
+ RewriteRule returned "RewriteCond: bad flag delimiters" when the 3rd
+ argument of RewriteRule was not started with "[" or not ended with "]".
+ PR 45082 [Vitaly Polonetsky <m_vitaly topixoft.com>]
+
*) mod_proxy: Complete ProxyPassReverse to handle balancer URL's. Given;
BalancerMember balancer://alias http://example.com/foo
ProxyPassReverse /bash balancer://alias/bar
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- * mod_rewrite: Fix the error string returned by RewriteRule.
- RewriteRule returned "RewriteCond: bad flag delimiters"
- when the 3rd argument of RewriteRule was not started with
- "[" or not ended with "]". PR: 45082
- Trunk version of patch works:
- http://svn.apache.org/viewvc?view=rev&revision=776325
- +1: takashi, rpluem, jim
-
PATCHES PROPOSED TO BACKPORT FROM TRUNK:
[ New proposals should be added at the end of the list ]
endp = key + strlen(key) - 1;
if (*key != '[' || *endp != ']') {
- return "RewriteCond: bad flag delimiters";
+ return "bad flag delimiters";
}
*endp = ','; /* for simpler parsing */
cfg->flags |= CONDFLAG_NOVARY;
}
else {
- return apr_pstrcat(p, "RewriteCond: unknown flag '", key, "'", NULL);
+ return apr_pstrcat(p, "unknown flag '", key, "'", NULL);
}
return NULL;
}
if (a3 != NULL) {
if ((err = cmd_parseflagfield(cmd->pool, newcond, a3,
cmd_rewritecond_setflag)) != NULL) {
- return err;
+ return apr_pstrcat(cmd->pool, "RewriteCond: ", err, NULL);
}
}
ap_index_of_response(HTTP_INTERNAL_SERVER_ERROR);
if (ap_index_of_response(status) == idx) {
- return apr_psprintf(p, "RewriteRule: invalid HTTP "
+ return apr_psprintf(p, "invalid HTTP "
"response code '%s' for "
"flag 'R'",
val);
}
if (error) {
- return apr_pstrcat(p, "RewriteRule: unknown flag '", --key, "'", NULL);
+ return apr_pstrcat(p, "unknown flag '", --key, "'", NULL);
}
return NULL;
if (a3 != NULL) {
if ((err = cmd_parseflagfield(cmd->pool, newrule, a3,
cmd_rewriterule_setflag)) != NULL) {
- return err;
+ return apr_pstrcat(cmd->pool, "RewriteRule: ", err, NULL);
}
}