Prevent invalid interface specifiers on queue rules
authorkn <kn@openbsd.org>
Wed, 11 Jul 2018 18:06:25 +0000 (18:06 +0000)
committerkn <kn@openbsd.org>
Wed, 11 Jul 2018 18:06:25 +0000 (18:06 +0000)
commit50e3c2fee82e11be496cc1550879bffa59ff1468
tree76f01da074d3de60b60e20e3094091659c1d312c
parent7626e20e3f1724211d3cae03704f33ec839984ee
Prevent invalid interface specifiers on queue rules

pf.conf(5) states that queues attach to actual interfaces only, yet the
following parses:

# echo queue eq on egress bandwidth 1G default | pfctl -f-
# pfctl -sq
pfctl: DIOCGETQSTATS: Bad file descriptor

# echo queue rq on rdomain 0 bandwidth 1G default | pfctl -vf-
queue rq bandwidth 1G default
# pfctl -sq
pfctl: DIOCGETQSTATS: Bad file descriptor

On rdomains, ifa_exists() returns NULL.
On interface groups, ifa_exists() returns non-NULL but af is never set
to AF_LINK.

OK henning sashan
sbin/pfctl/parse.y