From f90f850489a442de4d3327d716071129cacc7219 Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Wed, 17 Mar 2021 00:40:36 +0100 Subject: scanner: log: move to own scope GROUP and PREFIX are used by igmp and nat, so they can't be moved out of INITIAL scope yet. Signed-off-by: Florian Westphal --- src/parser_bison.y | 4 +++- src/scanner.l | 12 ++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/parser_bison.y b/src/parser_bison.y index 805a38ab..98fe4431 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -879,6 +879,8 @@ close_scope_rt : { scanner_pop_start_cond(nft->scanner, PARSER_SC_EXPR_RT); }; close_scope_secmark : { scanner_pop_start_cond(nft->scanner, PARSER_SC_SECMARK); }; close_scope_socket : { scanner_pop_start_cond(nft->scanner, PARSER_SC_EXPR_SOCKET); } +close_scope_log : { scanner_pop_start_cond(nft->scanner, PARSER_SC_STMT_LOG); } + common_block : INCLUDE QUOTED_STRING stmt_separator { if (scanner_include_file(nft, scanner, $2, &@$) < 0) { @@ -2695,7 +2697,7 @@ stmt : verdict_stmt | payload_stmt | stateful_stmt | meta_stmt - | log_stmt + | log_stmt close_scope_log | reject_stmt | nat_stmt | tproxy_stmt diff --git a/src/scanner.l b/src/scanner.l index 2187e79f..b4e7cf19 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -214,6 +214,8 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) %s SCANSTATE_EXPR_RT %s SCANSTATE_EXPR_SOCKET +%s SCANSTATE_STMT_LOG + %% "==" { return EQ; } @@ -354,12 +356,14 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) "limits" { return LIMITS; } "synproxys" { return SYNPROXYS; } -"log" { return LOG; } +"log" { scanner_push_start_cond(yyscanner, SCANSTATE_STMT_LOG); return LOG; } "prefix" { return PREFIX; } "group" { return GROUP; } -"snaplen" { return SNAPLEN; } -"queue-threshold" { return QUEUE_THRESHOLD; } -"level" { return LEVEL; } +{ + "snaplen" { return SNAPLEN; } + "queue-threshold" { return QUEUE_THRESHOLD; } + "level" { return LEVEL; } +} "queue" { scanner_push_start_cond(yyscanner, SCANSTATE_EXPR_QUEUE); return QUEUE;} { -- cgit v1.2.3