diff options
author | Phil Sutter <phil@nwl.cc> | 2021-07-23 17:05:27 +0200 |
---|---|---|
committer | Phil Sutter <phil@nwl.cc> | 2022-03-01 10:54:03 +0100 |
commit | 5166b29816c4681a9ff0ee9ecc10304da786cfbe (patch) | |
tree | 570bc219b53d4270ce18fe29f8a16cecd1adaae3 /src/scanner.l | |
parent | 3e04a6e239aa813daed1a73192cbd7ac343bfe86 (diff) |
scanner: dccp, th: Move to own scopes
With them in place, heavily shared keywords 'sport' and 'dport' may be
isolated.
Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'src/scanner.l')
-rw-r--r-- | src/scanner.l | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/scanner.l b/src/scanner.l index d6fb91bd..ed26811c 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -212,6 +212,7 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) %s SCANSTATE_VLAN %s SCANSTATE_CMD_LIST %s SCANSTATE_EXPR_COMP +%s SCANSTATE_EXPR_DCCP %s SCANSTATE_EXPR_FIB %s SCANSTATE_EXPR_HASH %s SCANSTATE_EXPR_IPSEC @@ -220,6 +221,7 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) %s SCANSTATE_EXPR_RT %s SCANSTATE_EXPR_SCTP_CHUNK %s SCANSTATE_EXPR_SOCKET +%s SCANSTATE_EXPR_TH %s SCANSTATE_EXPR_UDP %s SCANSTATE_EXPR_UDPLITE @@ -422,7 +424,7 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) "ll" { return LL_HDR; } "nh" { return NETWORK_HDR; } -"th" { return TRANSPORT_HDR; } +"th" { scanner_push_start_cond(yyscanner, SCANSTATE_EXPR_TH); return TRANSPORT_HDR; } "bridge" { return BRIDGE; } @@ -558,13 +560,17 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) <SCANSTATE_EXPR_UDPLITE>{ "csumcov" { return CSUMCOV; } } -"sport" { return SPORT; } -"dport" { return DPORT; } +<SCANSTATE_EXPR_DCCP,SCANSTATE_SCTP,SCANSTATE_TCP,SCANSTATE_EXPR_TH,SCANSTATE_EXPR_UDP,SCANSTATE_EXPR_UDPLITE>{ + "sport" { return SPORT; } +} +<SCANSTATE_CT,SCANSTATE_EXPR_DCCP,SCANSTATE_SCTP,SCANSTATE_TCP,SCANSTATE_EXPR_TH,SCANSTATE_EXPR_UDP,SCANSTATE_EXPR_UDPLITE>{ + "dport" { return DPORT; } +} "port" { return PORT; } "tcp" { scanner_push_start_cond(yyscanner, SCANSTATE_TCP); return TCP; } -"dccp" { return DCCP; } +"dccp" { scanner_push_start_cond(yyscanner, SCANSTATE_EXPR_DCCP); return DCCP; } "sctp" { scanner_push_start_cond(yyscanner, SCANSTATE_SCTP); return SCTP; } |