diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2021-07-27 23:18:16 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2021-07-28 00:31:59 +0200 |
commit | 5f6480a1361c444fa05087c1da1c463d408ef1c2 (patch) | |
tree | c338890b432edd30783667b707b15f13219c5048 /tests/py/inet | |
parent | 347a4aa16e64b8708d61eeb074736bea02258d1d (diff) |
tests: py: tcp flags & (fin | syn | rst | ack) == syn
Add a test case to cover translation to tcp flags syn / fin,syn,rst,ack.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'tests/py/inet')
-rw-r--r-- | tests/py/inet/tcp.t | 1 | ||||
-rw-r--r-- | tests/py/inet/tcp.t.json | 27 | ||||
-rw-r--r-- | tests/py/inet/tcp.t.payload | 8 |
3 files changed, 36 insertions, 0 deletions
diff --git a/tests/py/inet/tcp.t b/tests/py/inet/tcp.t index 17e0d9b6..dece9eaa 100644 --- a/tests/py/inet/tcp.t +++ b/tests/py/inet/tcp.t @@ -73,6 +73,7 @@ tcp flags & syn != 0;ok;tcp flags syn # it should be possible to transform this to: tcp flags syn tcp flags & syn == syn;ok tcp flags & (fin | syn | rst | ack) syn;ok;tcp flags syn / fin,syn,rst,ack +tcp flags & (fin | syn | rst | ack) == syn;ok;tcp flags syn / fin,syn,rst,ack tcp flags & (fin | syn | rst | ack) != syn;ok;tcp flags != syn / fin,syn,rst,ack tcp flags & (fin | syn | rst | psh | ack | urg | ecn | cwr) == fin | syn | rst | psh | ack | urg | ecn | cwr;ok;tcp flags == 0xff tcp flags { syn, syn | ack };ok diff --git a/tests/py/inet/tcp.t.json b/tests/py/inet/tcp.t.json index c1e4fb35..23244eaa 100644 --- a/tests/py/inet/tcp.t.json +++ b/tests/py/inet/tcp.t.json @@ -1584,6 +1584,33 @@ } ] +# tcp flags & (fin | syn | rst | ack) == syn +[ + { + "match": { + "left": { + "&": [ + { + "payload": { + "field": "flags", + "protocol": "tcp" + } + }, + [ + "fin", + "syn", + "rst", + "ack" + ] + ] + }, + "op": "==", + "right": "syn" + } + } +] + + # tcp flags & (fin | syn | rst | ack) != syn [ { diff --git a/tests/py/inet/tcp.t.payload b/tests/py/inet/tcp.t.payload index 77b30188..4e795aa9 100644 --- a/tests/py/inet/tcp.t.payload +++ b/tests/py/inet/tcp.t.payload @@ -394,6 +394,14 @@ inet test-inet input [ bitwise reg 1 = ( reg 1 & 0x00000017 ) ^ 0x00000000 ] [ cmp eq reg 1 0x00000002 ] +# tcp flags & (fin | syn | rst | ack) == syn +inet test-inet input + [ meta load l4proto => reg 1 ] + [ cmp eq reg 1 0x00000006 ] + [ payload load 1b @ transport header + 13 => reg 1 ] + [ bitwise reg 1 = ( reg 1 & 0x00000017 ) ^ 0x00000000 ] + [ cmp eq reg 1 0x00000002 ] + # tcp flags & (fin | syn | rst | ack) != syn inet test-inet input [ meta load l4proto => reg 1 ] |