From: kn Date: Fri, 13 Jul 2018 08:41:15 +0000 (+0000) Subject: Fix regression on child queue definitions X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=97158a8835e75d1535ef4ee7a87175c5771e808d;p=openbsd Fix regression on child queue definitions I comitted the wrong diff in 1.680 which turned `queue cq parent pq ...' into invalid syntax by changing `interface' to `ON if_item'. Found by bket, thanks! --- diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index 949613f0e2a..dcae4959c55 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -1,4 +1,4 @@ -/* $OpenBSD: parse.y,v 1.680 2018/07/11 18:06:25 kn Exp $ */ +/* $OpenBSD: parse.y,v 1.681 2018/07/13 08:41:15 kn Exp $ */ /* * Copyright (c) 2001 Markus Friedl. All rights reserved. @@ -1326,20 +1326,21 @@ table_host_list : tablespec optnl { $$ = $1; } } ; -queuespec : QUEUE STRING ON if_item queue_opts { +queuespec : QUEUE STRING interface queue_opts { struct node_host *n; - if ($4 == NULL && $5.parent == NULL) { + if ($3 == NULL && $4.parent == NULL) { yyerror("root queue without interface"); YYERROR; } - if ((n = ifa_exists($4->ifname)) == NULL || - n->af != AF_LINK) { + if ($3 != NULL && + ((n = ifa_exists($3->ifname)) == NULL || + n->af != AF_LINK)) { yyerror("not an interface"); YYERROR; } - expand_queue($2, $4, &$5); + expand_queue($2, $3, &$4); } ;