]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
parser_bison: add set_elem_key_expr rule
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 10 May 2021 16:52:40 +0000 (18:52 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 11 May 2021 19:39:01 +0000 (21:39 +0200)
Add a rule to specify the set key expression in preparation for the
catch-all element support.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/parser_bison.y

index b50b60649d2ec71a2163eab5dad9c5faf8ff81ca..e4a5ade296d72e3215415f2c1eccacb57483fadd 100644 (file)
@@ -842,6 +842,9 @@ int nft_lex(void *, void *, void *);
 %type <expr>                   xfrm_expr
 %destructor { expr_free($$); } xfrm_expr
 
+%type <expr>                   set_elem_key_expr
+%destructor { expr_free($$); } set_elem_key_expr
+
 %%
 
 input                  :       /* empty */
@@ -4084,13 +4087,16 @@ set_elem_expr           :       set_elem_expr_alloc
                        |       set_elem_expr_alloc             set_elem_expr_options
                        ;
 
-set_elem_expr_alloc    :       set_lhs_expr    set_elem_stmt_list
+set_elem_key_expr      :       set_lhs_expr            { $$ = $1; }
+                       ;
+
+set_elem_expr_alloc    :       set_elem_key_expr       set_elem_stmt_list
                        {
                                $$ = set_elem_expr_alloc(&@1, $1);
                                list_splice_tail($2, &$$->stmt_list);
                                xfree($2);
                        }
-                       |       set_lhs_expr
+                       |       set_elem_key_expr
                        {
                                $$ = set_elem_expr_alloc(&@1, $1);
                        }