summaryrefslogtreecommitdiff
path: root/usr.sbin/smtpd
diff options
context:
space:
mode:
authorGilles Chehade <gilles@cvs.openbsd.org>2010-09-08 23:32:28 +0000
committerGilles Chehade <gilles@cvs.openbsd.org>2010-09-08 23:32:28 +0000
commit78d832669f3b2fcf5269cd7740e2e7ddf7f5b658 (patch)
tree01770461ac0dc9d4481b13d84d42cfabe1d9f276 /usr.sbin/smtpd
parentb31214797cb35708e5729c89e742ebdc44c4284d (diff)
when I fixed the ruleset matching on rules that had more than one condition
by expanding them to several rules, I forgot to copy the tags to the expanded rules. this commit unbreaks matching rules by tag. documentation follows shortly ... spotted and fixed by me a while ago, jacekm@ timeout
Diffstat (limited to 'usr.sbin/smtpd')
-rw-r--r--usr.sbin/smtpd/parse.y6
1 files changed, 5 insertions, 1 deletions
diff --git a/usr.sbin/smtpd/parse.y b/usr.sbin/smtpd/parse.y
index 8605a94d8fe..8967292b4bb 100644
--- a/usr.sbin/smtpd/parse.y
+++ b/usr.sbin/smtpd/parse.y
@@ -1,4 +1,4 @@
-/* $OpenBSD: parse.y,v 1.64 2010/08/03 18:42:41 henning Exp $ */
+/* $OpenBSD: parse.y,v 1.65 2010/09/08 23:32:27 gilles Exp $ */
/*
* Copyright (c) 2008 Gilles Chehade <gilles@openbsd.org>
@@ -978,6 +978,10 @@ rule : decision on from {
struct rule *subr;
struct cond *cond;
+ if ($8)
+ (void)strlcpy(rule->r_tag, $8, sizeof(rule->r_tag));
+ free($8);
+
while ((cond = TAILQ_FIRST(conditions)) != NULL) {
if ((subr = calloc(1, sizeof(*subr))) == NULL)