]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
scanner: remove saddr/daddr from initial state
authorFlorian Westphal <fw@strlen.de>
Thu, 11 Mar 2021 13:23:08 +0000 (14:23 +0100)
committerFlorian Westphal <fw@strlen.de>
Tue, 16 Mar 2021 22:59:42 +0000 (23:59 +0100)
This can now be reduced to expressions that can expect saddr/daddr tokens.

Signed-off-by: Florian Westphal <fw@strlen.de>
src/scanner.l

index 509b1b0d77a2cb52c9464bbb3c2b329f1a133171..728b2c79b395825e373f2fae38f402f1cab502ef 100644 (file)
@@ -396,8 +396,10 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr})
 "bridge"               { return BRIDGE; }
 
 "ether"                        { scanner_push_start_cond(yyscanner, SCANSTATE_ETH); return ETHER; }
-"saddr"                        { return SADDR; }
-"daddr"                        { return DADDR; }
+<SCANSTATE_ARP,SCANSTATE_CT,SCANSTATE_ETH,SCANSTATE_IP,SCANSTATE_IP6,SCANSTATE_EXPR_FIB,SCANSTATE_EXPR_IPSEC>{
+       "saddr"                 { return SADDR; }
+       "daddr"                 { return DADDR; }
+}
 "type"                 { return TYPE; }
 "typeof"               { return TYPEOF; }