diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2017-02-28 13:31:54 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2017-02-28 13:52:17 +0100 |
commit | 22535a98470a908b879db8fc0354c5f2bbb3984e (patch) | |
tree | ddb527050d4db4e527c111a17bd1bc353069d324 /src/scanner.l | |
parent | 68ca39b68fb97733b7d04d9a5439cad4f38bfa2e (diff) |
src: revisit tcp options support
Rework syntax, add tokens so we can extend the grammar more easily.
This has triggered several syntax changes with regards to the original
patch, specifically:
tcp option sack0 left 1
There is no space between sack and the block number anymore, no more
offset field, now they are a single field. Just like we do with rt, rt0
and rt2. This simplifies our grammar and that is good since it makes our
life easier when extending it later on to accomodate new features.
I have also renamed sack_permitted to sack-permitted. I couldn't find
any option using underscore so far, so let's keep it consistent with
what we have.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/scanner.l')
-rw-r--r-- | src/scanner.l | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/scanner.l b/src/scanner.l index e0ddcac1..b70e1a80 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -375,6 +375,25 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) "protocol" { return PROTOCOL; } "checksum" { return CHECKSUM; } +"echo" { return ECHO; } +"eol" { return EOL; } +"maxseg" { return MAXSEG; } +"noop" { return NOOP; } +"sack" { return SACK; } +"sack0" { return SACK0; } +"sack1" { return SACK1; } +"sack2" { return SACK2; } +"sack3" { return SACK3; } +"sack-permitted" { return SACK_PERMITTED; } +"timestamp" { return TIMESTAMP; } + +"kind" { return KIND; } +"count" { return COUNT; } +"left" { return LEFT; } +"right" { return RIGHT; } +"tsval" { return TSVAL; } +"tsecr" { return TSECR; } + "icmp" { return ICMP; } "code" { return CODE; } "sequence" { return SEQUENCE; } |