summaryrefslogtreecommitdiffstats
path: root/sys/net/pf_ioctl.c
diff options
context:
space:
mode:
authordjm <djm@openbsd.org>2006-08-30 11:31:02 +0000
committerdjm <djm@openbsd.org>2006-08-30 11:31:02 +0000
commit16dfbb3c6ac714c7fc9f25c5f6c976590642f9ff (patch)
tree6d18f60b55bdb0e3b15aa23a1c46b2e0ee850237 /sys/net/pf_ioctl.c
parentReturn from channel tuning code if we get IEEE80211_CHAN_ANY (diff)
downloadwireguard-openbsd-16dfbb3c6ac714c7fc9f25c5f6c976590642f9ff.tar.xz
wireguard-openbsd-16dfbb3c6ac714c7fc9f25c5f6c976590642f9ff.zip
allow DIOCNATLOOK to look up NAT states for protocols without port
numbers, reported by Raja Subramanian; ok henning@
Diffstat (limited to 'sys/net/pf_ioctl.c')
-rw-r--r--sys/net/pf_ioctl.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/net/pf_ioctl.c b/sys/net/pf_ioctl.c
index b24f99a83ae..979cd3535d0 100644
--- a/sys/net/pf_ioctl.c
+++ b/sys/net/pf_ioctl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pf_ioctl.c,v 1.168 2006/07/21 01:21:17 dhartmei Exp $ */
+/* $OpenBSD: pf_ioctl.c,v 1.169 2006/08/30 11:31:02 djm Exp $ */
/*
* Copyright (c) 2001 Daniel Hartmeier
@@ -2000,7 +2000,9 @@ pfioctl(dev_t dev, u_long cmd, caddr_t addr, int flags, struct proc *p)
if (!pnl->proto ||
PF_AZERO(&pnl->saddr, pnl->af) ||
PF_AZERO(&pnl->daddr, pnl->af) ||
- !pnl->dport || !pnl->sport)
+ ((pnl->proto == IPPROTO_TCP ||
+ pnl->proto == IPPROTO_UDP) &&
+ (!pnl->dport || !pnl->sport)))
error = EINVAL;
else {
/*