From: Paul J. Reder Date: Wed, 4 Feb 2004 15:09:32 +0000 (+0000) Subject: *) Keep focus of ITERATE and ITERATE2 on the current module when X-Git-Tag: 2.0.49~160 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e392d4a5dc601d4c1e23fd3621d14c93466f1e1c;p=thirdparty%2Fapache%2Fhttpd.git *) Keep focus of ITERATE and ITERATE2 on the current module when the module chooses to return DECLINE_CMD for the directive. PR 22299. Submitted by: Geoffrey Young Reviewed by: trawick, rederpj git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/APACHE_2_0_BRANCH@102498 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index e848b97f4eb..f63b7bc169f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,9 @@ Changes with Apache 2.0.49 + *) Keep focus of ITERATE and ITERATE2 on the current module when + the module chooses to return DECLINE_CMD for the directive. + PR 22299. [Geoffrey Young ] + *) Add support for IMT minor-type wildcards (e.g., text/*) to ExpiresByType. PR#7991 [Ken Coar] diff --git a/STATUS b/STATUS index dfb785297f2..c8a646d5310 100644 --- a/STATUS +++ b/STATUS @@ -1,5 +1,5 @@ APACHE 2.0 STATUS: -*-text-*- -Last modified at [$Date: 2004/02/04 14:48:30 $] +Last modified at [$Date: 2004/02/04 15:09:31 $] Release: @@ -80,10 +80,6 @@ PATCHES TO BACKPORT FROM 2.1 [ please place file names and revisions from HEAD here, so it is easy to identify exactly what the proposed changes are! ] - * fix DECLINE_CMD interaction with ITERATE/ITERATE2 - http://cvs.apache.org/viewcvs.cgi/httpd-2.0/server/config.c?r1=1.168&r2=1.169 - +1: geoff, trawick - * Fix file extensions for real media files and removed rpm extension from mime.types. PR 26079. (2.0 + 1.3) docs/conf/mime.types: r1.23 diff --git a/server/config.c b/server/config.c index 8936b960e0f..27bbab3948b 100644 --- a/server/config.c +++ b/server/config.c @@ -697,7 +697,7 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms, void *mconfig, const char *args) { char *w, *w2, *w3; - const char *errmsg; + const char *errmsg = NULL; if ((parms->override & cmd->req_override) == 0) return apr_pstrcat(parms->pool, cmd->name, " not allowed here", NULL); @@ -797,11 +797,14 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms, case ITERATE: while (*(w = ap_getword_conf(parms->pool, &args)) != '\0') { - if ((errmsg = cmd->AP_TAKE1(parms, mconfig, w))) + + errmsg = cmd->AP_TAKE1(parms, mconfig, w); + + if (errmsg && strcmp(errmsg, DECLINE_CMD) != 0) return errmsg; } - return NULL; + return errmsg; case ITERATE2: w = ap_getword_conf(parms->pool, &args); @@ -812,11 +815,14 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms, cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL); while (*(w2 = ap_getword_conf(parms->pool, &args)) != '\0') { - if ((errmsg = cmd->AP_TAKE2(parms, mconfig, w, w2))) + + errmsg = cmd->AP_TAKE2(parms, mconfig, w, w2); + + if (errmsg && strcmp(errmsg, DECLINE_CMD) != 0) return errmsg; } - return NULL; + return errmsg; case FLAG: w = ap_getword_conf(parms->pool, &args);