]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
parser_bison: allow helper keyword in ct object kind
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 26 Sep 2017 16:16:57 +0000 (18:16 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 27 Sep 2017 12:16:27 +0000 (14:16 +0200)
The helper keyword clashes with the string rule, make sure we still
accept ct helper object types from the parser.

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

index 0d916190e298ee11b48e42ebee5e9675a80024b2..970d773edc4ff59c1db72c0c31f52aadbde4a7a9 100644 (file)
@@ -877,7 +877,7 @@ add_cmd                     :       TABLE           table_spec
                        {
                                $$ = cmd_alloc(CMD_ADD, CMD_OBJ_QUOTA, &$2, &@$, $3);
                        }
-                       |       CT      STRING  obj_spec        ct_obj_alloc    '{' ct_block '}'        stmt_separator
+                       |       CT      ct_obj_kind     obj_spec        ct_obj_alloc    '{' ct_block '}'        stmt_separator
                        {
                                struct error_record *erec;
                                int type;
@@ -961,7 +961,7 @@ create_cmd          :       TABLE           table_spec
                        {
                                $$ = cmd_alloc(CMD_CREATE, CMD_OBJ_QUOTA, &$2, &@$, $3);
                        }
-                       |       CT      STRING  obj_spec        ct_obj_alloc    '{' ct_block '}'        stmt_separator
+                       |       CT      ct_obj_kind     obj_spec        ct_obj_alloc    '{' ct_block '}'        stmt_separator
                        {
                                struct error_record *erec;
                                int type;
@@ -1019,7 +1019,7 @@ delete_cmd                :       TABLE           table_spec
                        {
                                $$ = cmd_alloc(CMD_DELETE, CMD_OBJ_QUOTA, &$2, &@$, NULL);
                        }
-                       |       CT      STRING  obj_spec        ct_obj_alloc
+                       |       CT      ct_obj_kind     obj_spec        ct_obj_alloc
                        {
                                struct error_record *erec;
                                int type;
@@ -1123,7 +1123,7 @@ list_cmd          :       TABLE           table_spec
                        {
                                $$ = cmd_alloc(CMD_LIST, CMD_OBJ_MAP, &$2, &@$, NULL);
                        }
-                       |       CT              STRING  obj_spec
+                       |       CT              ct_obj_kind     obj_spec
                        {
                                struct error_record *erec;
                                int type;
@@ -1137,7 +1137,7 @@ list_cmd          :       TABLE           table_spec
 
                                $$ = cmd_alloc_obj_ct(CMD_LIST, type, &$3, &@$, NULL);
                        }
-                       |       CT              STRING  TABLE   table_spec
+                       |       CT              ct_obj_kind     TABLE   table_spec
                        {
                                int cmd;
 
@@ -2886,6 +2886,7 @@ quota_obj         :       quota_config
                        ;
 
 ct_obj_kind            :       STRING          { $$ = $1; }
+                       |       HELPER          { $$ = xstrdup("helper"); }
                        ;
 
 ct_l4protoname         :       TCP     { $$ = IPPROTO_TCP; }