]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
*) Keep focus of ITERATE and ITERATE2 on the current module when
authorPaul J. Reder <rederpj@apache.org>
Wed, 4 Feb 2004 15:09:32 +0000 (15:09 +0000)
committerPaul J. Reder <rederpj@apache.org>
Wed, 4 Feb 2004 15:09:32 +0000 (15:09 +0000)
    the module chooses to return DECLINE_CMD for the directive. PR 22299.

Submitted by: Geoffrey Young <geoff apache.org>
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

CHANGES
STATUS
server/config.c

diff --git a/CHANGES b/CHANGES
index e848b97f4ebfd598acfa8604f4cf3c67e3357974..f63b7bc169f14ad21d1a4281de78d90c3e0303f6 100644 (file)
--- 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 <geoff apache.org>]
+
   *) Add support for IMT minor-type wildcards (e.g., text/*) to
      ExpiresByType.  PR#7991  [Ken Coar]
 
diff --git a/STATUS b/STATUS
index dfb785297f29b515fc8b95a75a4cdc7a593c8d45..c8a646d5310727387adb35d43cef0d2e74c6371d 100644 (file)
--- 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
index 8936b960e0fa5b29faa7f75124ecc9cef179c02d..27bbab3948bb2f5a95544bd59dd330af9ec04ced 100644 (file)
@@ -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);