]> granicus.if.org Git - apache/commitdiff
allow env clauses also for 'echo' and 'unset'
authorAndré Malo <nd@apache.org>
Sun, 18 Apr 2004 19:55:20 +0000 (19:55 +0000)
committerAndré Malo <nd@apache.org>
Sun, 18 Apr 2004 19:55:20 +0000 (19:55 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103445 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
modules/metadata/mod_headers.c

diff --git a/CHANGES b/CHANGES
index 5147ae52208d8e3b7d553147c2af1fb3857b7b4a..151799b6b0c894979d4f8e0327363e805c8624cb 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@ Changes with Apache 2.1.0-dev
 
   [Remove entries to the current 2.0 section below, when backported]
 
+  *) mod_headers: Allow env clauses also for 'echo' and 'unset' actions.
+     [André Malo]
+
   *) mod_headers: Allow 'echo' also for ErrorHeaders.  [André Malo]
 
   *) mod_headers no longer crashes if an empty header value should
index bcdb436ead94df7499c02c82aa2471172e158c3f..779c4e9a692a7f2d00e3c4e93556d28e72c134eb 100644 (file)
@@ -386,15 +386,25 @@ static APR_INLINE const char *header_inout_cmd(cmd_parms *cmd,
                "'echo'.";
 
     if (new->action == hdr_unset) {
-        if (value)
-            return "header unset takes two arguments";
+        if (value) {
+            if (envclause) {
+                return "header unset takes two arguments";
+            }
+            envclause = value;
+            value = NULL;
+        }
     }
     else if (new->action == hdr_echo) {
         regex_t *regex;
 
-        if (value)
-            return "Header echo takes two arguments";
-        else if (cmd->info != &hdr_out && cmd->info != &hdr_err)
+        if (value) {
+            if (envclause) {
+                return "Header echo takes two arguments";
+            }
+            envclause = value;
+            value = NULL;
+        }
+        if (cmd->info != &hdr_out && cmd->info != &hdr_err)
             return "Header echo only valid on Header and ErrorHeader "
                    "directives";
         else {