summaryrefslogtreecommitdiff
path: root/modules/metadata
diff options
context:
space:
mode:
authorAndré Malo <nd@apache.org>2004-04-18 19:55:20 +0000
committerAndré Malo <nd@apache.org>2004-04-18 19:55:20 +0000
commitd2dd505a5ff4e2982485626add7441118770afe0 (patch)
tree6d9c66292cd93c059378d81b85b6bac4ee919cc0 /modules/metadata
parent71b8739c3c104c67b01f4de6c82317b87f8faec4 (diff)
downloadhttpd-d2dd505a5ff4e2982485626add7441118770afe0.tar.gz
allow env clauses also for 'echo' and 'unset'
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103445 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/metadata')
-rw-r--r--modules/metadata/mod_headers.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/modules/metadata/mod_headers.c b/modules/metadata/mod_headers.c
index bcdb436ead..779c4e9a69 100644
--- a/modules/metadata/mod_headers.c
+++ b/modules/metadata/mod_headers.c
@@ -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 {