diff options
author | Florian Westphal <fw@strlen.de> | 2021-05-10 17:59:06 +0200 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2021-06-09 23:19:11 +0200 |
commit | 6a24ffb04642e8bee982cbb0c6686e834e3eea9f (patch) | |
tree | 3a03af8b04b5be00153c375291da04a59642c38a /src/scanner.l | |
parent | baecd1cf26851a4c5b7d469206a488f14fe5b147 (diff) |
scanner: add list cmd parser scope
Followup patch will add new 'hooks' keyword for
nft list hooks
Add a scope for list to avoid exposure of the new keyword in nft
rulesets.
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'src/scanner.l')
-rw-r--r-- | src/scanner.l | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/scanner.l b/src/scanner.l index 5c493e39..c1bc21aa 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -207,6 +207,7 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) %s SCANSTATE_SCTP %s SCANSTATE_SECMARK %s SCANSTATE_VLAN +%s SCANSTATE_CMD_LIST %s SCANSTATE_EXPR_FIB %s SCANSTATE_EXPR_HASH %s SCANSTATE_EXPR_IPSEC @@ -317,7 +318,7 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) "insert" { return INSERT; } "delete" { return DELETE; } "get" { return GET; } -"list" { return LIST; } +"list" { scanner_push_start_cond(yyscanner, SCANSTATE_CMD_LIST); return LIST; } "reset" { return RESET; } "flush" { return FLUSH; } "rename" { return RENAME; } @@ -346,9 +347,14 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) "flow" { return FLOW; } "offload" { return OFFLOAD; } "meter" { return METER; } -"meters" { return METERS; } -"flowtables" { return FLOWTABLES; } +<SCANSTATE_CMD_LIST>{ + "meters" { return METERS; } + "flowtables" { return FLOWTABLES; } + "limits" { return LIMITS; } + "secmarks" { return SECMARKS; } + "synproxys" { return SYNPROXYS; } +} "counter" { scanner_push_start_cond(yyscanner, SCANSTATE_COUNTER); return COUNTER; } "name" { return NAME; } @@ -357,8 +363,6 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) "counters" { return COUNTERS; } "quotas" { return QUOTAS; } -"limits" { return LIMITS; } -"synproxys" { return SYNPROXYS; } "log" { scanner_push_start_cond(yyscanner, SCANSTATE_STMT_LOG); return LOG; } "prefix" { return PREFIX; } @@ -687,7 +691,6 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) } "secmark" { scanner_push_start_cond(yyscanner, SCANSTATE_SECMARK); return SECMARK; } -"secmarks" { return SECMARKS; } {addrstring} { yylval->string = xstrdup(yytext); |