summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhenning <henning@openbsd.org>2007-06-21 19:31:49 +0000
committerhenning <henning@openbsd.org>2007-06-21 19:31:49 +0000
commit41d698f12d7f132e40ff3748838ee97061b2908e (patch)
treea8f0054c6778b839eee80e487a21d2ac29e81ba8
parentalways initialize logif, from max laier, ok ryan (diff)
downloadwireguard-openbsd-41d698f12d7f132e40ff3748838ee97061b2908e.tar.xz
wireguard-openbsd-41d698f12d7f132e40ff3748838ee97061b2908e.zip
force logif to zero if no logging is asked for
check the logif when changing a rule from max laier, ok ryan
-rw-r--r--sys/net/pf_ioctl.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/net/pf_ioctl.c b/sys/net/pf_ioctl.c
index f1340e7695b..807ef1bf47e 100644
--- a/sys/net/pf_ioctl.c
+++ b/sys/net/pf_ioctl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pf_ioctl.c,v 1.180 2007/06/07 13:32:06 henning Exp $ */
+/* $OpenBSD: pf_ioctl.c,v 1.181 2007/06/21 19:31:49 henning Exp $ */
/*
* Copyright (c) 2001 Daniel Hartmeier
@@ -1207,6 +1207,8 @@ pfioctl(dev_t dev, u_long cmd, caddr_t addr, int flags, struct proc *p)
if (rule->rt && !rule->direction)
error = EINVAL;
#if NPFLOG > 0
+ if (!rule->log)
+ rule->logif = 0;
if (rule->logif >= PFLOGIFS_MAX)
error = EINVAL;
#endif
@@ -1448,6 +1450,12 @@ pfioctl(dev_t dev, u_long cmd, caddr_t addr, int flags, struct proc *p)
error = EBUSY;
if (newrule->rt && !newrule->direction)
error = EINVAL;
+#if NPFLOG > 0
+ if (!newrule->log)
+ newrule->logif = 0;
+ if (newrule->logif >= PFLOGIFS_MAX)
+ error = EINVAL;
+#endif
if (pf_rtlabel_add(&newrule->src.addr) ||
pf_rtlabel_add(&newrule->dst.addr))
error = EBUSY;