summaryrefslogtreecommitdiff
path: root/usr.sbin/relayd/parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/relayd/parse.y')
-rw-r--r--usr.sbin/relayd/parse.y20
1 files changed, 19 insertions, 1 deletions
diff --git a/usr.sbin/relayd/parse.y b/usr.sbin/relayd/parse.y
index c3233753fd7..9f14563acb3 100644
--- a/usr.sbin/relayd/parse.y
+++ b/usr.sbin/relayd/parse.y
@@ -1,4 +1,4 @@
-/* $OpenBSD: parse.y,v 1.90 2007/11/21 20:13:20 reyk Exp $ */
+/* $OpenBSD: parse.y,v 1.91 2007/11/21 20:24:28 reyk Exp $ */
/*
* Copyright (c) 2006 Pierre-Yves Ritschard <pyr@openbsd.org>
@@ -896,6 +896,15 @@ protonode : nodetype APPEND STRING TO STRING marked {
free($3);
proto->lateconnect++;
}
+ | nodetype EXPECT STRING mark {
+ node.action = NODE_ACTION_EXPECT;
+ node.key = strdup($3);
+ node.value = strdup("*");
+ if (node.key == NULL || node.value == NULL)
+ fatal("out of memory");
+ free($3);
+ proto->lateconnect++;
+ }
| nodetype FILTER STRING FROM STRING mark {
node.action = NODE_ACTION_FILTER;
node.key = strdup($5);
@@ -906,6 +915,15 @@ protonode : nodetype APPEND STRING TO STRING marked {
free($3);
proto->lateconnect++;
}
+ | nodetype FILTER STRING mark {
+ node.action = NODE_ACTION_FILTER;
+ node.key = strdup($3);
+ node.value = strdup("*");
+ if (node.key == NULL || node.value == NULL)
+ fatal("out of memory");
+ free($3);
+ proto->lateconnect++;
+ }
| nodetype HASH STRING marked {
node.action = NODE_ACTION_HASH;
node.key = strdup($3);