From: Takashi Sato Date: Tue, 19 May 2009 14:24:31 +0000 (+0000) Subject: Fix the error string returned by RewriteRule. RewriteRule returned "RewriteCond:... X-Git-Tag: 2.3.3~556 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=769b8833b88415992138ded7858a98ac3214c4f2;p=thirdparty%2Fapache%2Fhttpd.git 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 Submitted by: Vitaly Polonetsky git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@776325 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index c889624c188..8354a687896 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,11 @@ Changes with Apache 2.3.3 mod_proxy_ajp: Avoid delivering content from a previous request which failed to send a request body. PR 46949 [Ruediger Pluem] + *) 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 ] + *) Windows: Fix usage message. [Rainer Jung] diff --git a/modules/mappers/mod_rewrite.c b/modules/mappers/mod_rewrite.c index d2763520252..372ce8e9144 100644 --- a/modules/mappers/mod_rewrite.c +++ b/modules/mappers/mod_rewrite.c @@ -3226,7 +3226,7 @@ static const char *cmd_parseflagfield(apr_pool_t *p, void *cfg, char *key, endp = key + strlen(key) - 1; if (*key != '[' || *endp != ']') { - return "RewriteCond: bad flag delimiters"; + return "bad flag delimiters"; } *endp = ','; /* for simpler parsing */ @@ -3289,7 +3289,7 @@ static const char *cmd_rewritecond_setflag(apr_pool_t *p, void *_cfg, cfg->flags |= CONDFLAG_NOVARY; } else { - return apr_pstrcat(p, "RewriteCond: unknown flag '", key, "'", NULL); + return apr_pstrcat(p, "unknown flag '", key, "'", NULL); } return NULL; } @@ -3338,7 +3338,7 @@ static const char *cmd_rewritecond(cmd_parms *cmd, void *in_dconf, 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); } } @@ -3585,7 +3585,7 @@ static const char *cmd_rewriterule_setflag(apr_pool_t *p, void *_cfg, 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); @@ -3628,7 +3628,7 @@ static const char *cmd_rewriterule_setflag(apr_pool_t *p, void *_cfg, } if (error) { - return apr_pstrcat(p, "RewriteRule: unknown flag '", --key, "'", NULL); + return apr_pstrcat(p, "unknown flag '", --key, "'", NULL); } return NULL; @@ -3674,7 +3674,7 @@ static const char *cmd_rewriterule(cmd_parms *cmd, void *in_dconf, 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); } }