summaryrefslogtreecommitdiffstats
path: root/src/scanner.l
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2021-07-23 15:05:41 +0200
committerPhil Sutter <phil@nwl.cc>2022-03-01 10:54:03 +0100
commit3e04a6e239aa813daed1a73192cbd7ac343bfe86 (patch)
tree5ba78e5374b4f173a406514e01d561ef6cca7e19 /src/scanner.l
parentbbdcfbfa081022a854b1e112063df2f6011582cb (diff)
scanner: udp{,lite}: Move to own scope
All used keywords are shared with others, so no separation for now apart from 'csumcov' which was actually missing from scanner.l. Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'src/scanner.l')
-rw-r--r--src/scanner.l9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/scanner.l b/src/scanner.l
index a27df6c7..d6fb91bd 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -220,6 +220,8 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr})
%s SCANSTATE_EXPR_RT
%s SCANSTATE_EXPR_SCTP_CHUNK
%s SCANSTATE_EXPR_SOCKET
+%s SCANSTATE_EXPR_UDP
+%s SCANSTATE_EXPR_UDPLITE
%s SCANSTATE_STMT_LOG
%s SCANSTATE_STMT_SYNPROXY
@@ -551,8 +553,11 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr})
}
"flags" { return FLAGS; }
-"udp" { return UDP; }
-"udplite" { return UDPLITE; }
+"udp" { scanner_push_start_cond(yyscanner, SCANSTATE_EXPR_UDP); return UDP; }
+"udplite" { scanner_push_start_cond(yyscanner, SCANSTATE_EXPR_UDPLITE); return UDPLITE; }
+<SCANSTATE_EXPR_UDPLITE>{
+ "csumcov" { return CSUMCOV; }
+}
"sport" { return SPORT; }
"dport" { return DPORT; }
"port" { return PORT; }