1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-06 09:01:14 +03:00

treat a rewriterule substitution that expands to "-" as if the rule

had a literal "-".


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1239679 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Eric Covener
2012-02-02 15:43:41 +00:00
parent 2c9e71f80d
commit 38982673f2
2 changed files with 11 additions and 1 deletions

View File

@@ -1,6 +1,10 @@
-*- coding: utf-8 -*-
Changes with Apache 2.5.0
*) mod_rewrite: Treat a RewriteRule substitution that expands to
"-" to behave as if a literal "-" was used in the RewriteRule
(no substitution). [Eric Covener]
*) mod_authnz_ldap: Don't try a potentially expensive nested groups
search before exhausting all AuthLDAPGroupAttribute checks on the
current group. PR52464 [Eric Covener]

View File

@@ -3909,6 +3909,7 @@ static int apply_rewrite_rule(rewriterule_entry *p, rewrite_ctx *ctx)
char *newuri = NULL;
request_rec *r = ctx->r;
int is_proxyreq = 0;
int force_no_sub = 0;
ctx->uri = r->filename;
@@ -4022,6 +4023,11 @@ static int apply_rewrite_rule(rewriterule_entry *p, rewrite_ctx *ctx)
newuri = do_expand(p->output, ctx, p);
rewritelog((r, 2, ctx->perdir, "rewrite '%s' -> '%s'", ctx->uri,
newuri));
/* Allow a substitution to resolve to "-" and act like a literal "-" */
if (newuri && *newuri == '-' && !newuri[1]) {
newuri = NULL;
force_no_sub = 1;
}
}
/* expand [E=var:val] and [CO=<cookie>] */
@@ -4029,7 +4035,7 @@ static int apply_rewrite_rule(rewriterule_entry *p, rewrite_ctx *ctx)
do_expand_cookie(p->cookie, ctx);
/* non-substitution rules ('RewriteRule <pat> -') end here. */
if (p->flags & RULEFLAG_NOSUB) {
if (p->flags & RULEFLAG_NOSUB || force_no_sub) {
force_type_handler(p, ctx);
if (p->flags & RULEFLAG_STATUS) {