diff options
Diffstat (limited to 'sbin/pfctl/parse.y')
-rw-r--r-- | sbin/pfctl/parse.y | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index 40d116fe1a50..981039f4124c 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -2974,12 +2974,13 @@ filter_opt : USER uids { filter_opts.match_tag = $3; filter_opts.match_tag_not = $1; } - | RECEIVEDON if_item { + | not RECEIVEDON if_item { if (filter_opts.rcv) { yyerror("cannot respecify received-on"); YYERROR; } - filter_opts.rcv = $2; + filter_opts.rcv = $3; + filter_opts.rcv->not = $1; } | PROBABILITY probability { double p; @@ -6279,6 +6280,7 @@ expand_rule(struct pfctl_rule *r, if (rcv) { strlcpy(r->rcv_ifname, rcv->ifname, sizeof(r->rcv_ifname)); + r->rcvifnot = rcv->not; } r->type = icmp_type->type; r->code = icmp_type->code; |