diff options
author | Gilles Chehade <gilles@cvs.openbsd.org> | 2010-09-08 23:32:28 +0000 |
---|---|---|
committer | Gilles Chehade <gilles@cvs.openbsd.org> | 2010-09-08 23:32:28 +0000 |
commit | 78d832669f3b2fcf5269cd7740e2e7ddf7f5b658 (patch) | |
tree | 01770461ac0dc9d4481b13d84d42cfabe1d9f276 /usr.sbin | |
parent | b31214797cb35708e5729c89e742ebdc44c4284d (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')
-rw-r--r-- | usr.sbin/smtpd/parse.y | 6 |
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) |