Module Name: src Committed By: rmind Date: Fri Jan 20 23:00:30 UTC 2017
Modified Files: src/usr.sbin/npf/npfctl: npf_parse.y Log Message: npfctl: fix shift/reduce conflicts, thanks to riastradh@. To generate a diff of this commit: cvs rdiff -u -r1.43 -r1.44 src/usr.sbin/npf/npfctl/npf_parse.y Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.sbin/npf/npfctl/npf_parse.y diff -u src/usr.sbin/npf/npfctl/npf_parse.y:1.43 src/usr.sbin/npf/npfctl/npf_parse.y:1.44 --- src/usr.sbin/npf/npfctl/npf_parse.y:1.43 Fri Jan 20 03:16:40 2017 +++ src/usr.sbin/npf/npfctl/npf_parse.y Fri Jan 20 23:00:30 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: npf_parse.y,v 1.43 2017/01/20 03:16:40 kre Exp $ */ +/* $NetBSD: npf_parse.y,v 1.44 2017/01/20 23:00:30 rmind Exp $ */ /*- * Copyright (c) 2011-2017 The NetBSD Foundation, Inc. @@ -180,7 +180,7 @@ yyerror(const char *fmt, ...) %type <var> element, list_elems, list, value %type <addrport> mapseg %type <filtopts> filt_opts, all_or_filt_opts -%type <optproto> opt_proto +%type <optproto> proto opt_proto %type <rulegroup> group_opts %type <tf> onoff @@ -357,7 +357,11 @@ map { npfctl_build_natseg($3, $6, $2, &$5, &$7, &$9, &$10, $4); } - | MAP ifref map_sd map_algo opt_proto mapseg map_type mapseg + | MAP ifref map_sd map_algo mapseg map_type mapseg + { + npfctl_build_natseg($3, $6, $2, &$5, &$7, NULL, NULL, $4); + } + | MAP ifref map_sd map_algo proto mapseg map_type mapseg { npfctl_build_natseg($3, $7, $2, &$6, &$8, &$5, NULL, $4); } @@ -546,7 +550,7 @@ opt_family | { $$ = AF_UNSPEC; } ; -opt_proto +proto : PROTO TCP tcp_flags_and_mask { $$.op_proto = IPPROTO_TCP; @@ -572,6 +576,10 @@ opt_proto $$.op_proto = $2; $$.op_opts = NULL; } + ; + +opt_proto + : proto { $$ = $1; } | { $$.op_proto = -1;