summaryrefslogtreecommitdiffstats
path: root/tests/xmlfiles
diff options
context:
space:
mode:
authorArturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>2013-06-27 20:09:34 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-06-27 21:17:54 +0200
commitdc9733e097959f4e167244549f58cd3bef7af79b (patch)
treee003e7557b63b7b00eb4864cb4bb0b2d92660ec6 /tests/xmlfiles
parent443410dd335732dbcb2a6f1524d7481e506d67c1 (diff)
test: add testbench for XML
This patch add a testbench for XML parsing, which may be extended to test JSON as well. To use it: $ cd test/ $ make nft-parsing-test $ ./nft-parsing-test xmlfiles/ This testbench supersedes old .sh test scripts, so they are deleted. [ I have mangled this patch to rename/mangle files, to colorize the test output and not to compile XML inconditionally --pablo ] Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'tests/xmlfiles')
-rw-r--r--tests/xmlfiles/01-table.xml6
-rw-r--r--tests/xmlfiles/02-table.xml6
-rw-r--r--tests/xmlfiles/10-chain.xml11
-rw-r--r--tests/xmlfiles/11-chain.xml11
-rw-r--r--tests/xmlfiles/12-chain.xml11
-rw-r--r--tests/xmlfiles/20-rule-bitwise.xml25
-rw-r--r--tests/xmlfiles/21-rule-byteorder.xml12
-rw-r--r--tests/xmlfiles/22-rule-cmp.xml13
-rw-r--r--tests/xmlfiles/23-rule-counter.xml8
-rw-r--r--tests/xmlfiles/24-rule-ct.xml10
-rw-r--r--tests/xmlfiles/25-rule-exthdr.xml9
-rw-r--r--tests/xmlfiles/26-rule-immediate.xml12
-rw-r--r--tests/xmlfiles/26-rule-limit.xml7
-rw-r--r--tests/xmlfiles/28-rule-log.xml9
-rw-r--r--tests/xmlfiles/29-rule-lookup.xml8
-rw-r--r--tests/xmlfiles/30-rule-match.xml6
-rw-r--r--tests/xmlfiles/31-rule-meta.xml7
-rw-r--r--tests/xmlfiles/32-rule-nat6.xml11
-rw-r--r--tests/xmlfiles/33-rule-nat4.xml11
-rw-r--r--tests/xmlfiles/34-rule-payload.xml9
-rw-r--r--tests/xmlfiles/35-rule-target.xml6
21 files changed, 208 insertions, 0 deletions
diff --git a/tests/xmlfiles/01-table.xml b/tests/xmlfiles/01-table.xml
new file mode 100644
index 0000000..d1f4692
--- /dev/null
+++ b/tests/xmlfiles/01-table.xml
@@ -0,0 +1,6 @@
+<table name="filter" version="0">
+ <properties>
+ <family>ip</family>
+ <table_flags>0</table_flags>
+ </properties>
+</table>
diff --git a/tests/xmlfiles/02-table.xml b/tests/xmlfiles/02-table.xml
new file mode 100644
index 0000000..55e5c2d
--- /dev/null
+++ b/tests/xmlfiles/02-table.xml
@@ -0,0 +1,6 @@
+<table name="nat" version="0">
+ <properties>
+ <family>ip6</family>
+ <table_flags>0</table_flags>
+ </properties>
+</table>
diff --git a/tests/xmlfiles/10-chain.xml b/tests/xmlfiles/10-chain.xml
new file mode 100644
index 0000000..04b050d
--- /dev/null
+++ b/tests/xmlfiles/10-chain.xml
@@ -0,0 +1,11 @@
+<chain name="test" handle="0" bytes="0" packets="0" version="0">
+ <properties>
+ <type>filter</type>
+ <table>filter</table>
+ <prio>0</prio>
+ <use>1</use>
+ <hooknum>NF_INET_LOCAL_IN</hooknum>
+ <policy>accept</policy>
+ <family>ip</family>
+ </properties>
+</chain>
diff --git a/tests/xmlfiles/11-chain.xml b/tests/xmlfiles/11-chain.xml
new file mode 100644
index 0000000..7baa88f
--- /dev/null
+++ b/tests/xmlfiles/11-chain.xml
@@ -0,0 +1,11 @@
+<chain name="test" handle="0" bytes="59" packets="1" version="0">
+ <properties>
+ <type>filter</type>
+ <table>filter</table>
+ <prio>0</prio>
+ <use>1</use>
+ <hooknum>NF_INET_FORWARD</hooknum>
+ <policy>drop</policy>
+ <family>ip6</family>
+ </properties>
+</chain>
diff --git a/tests/xmlfiles/12-chain.xml b/tests/xmlfiles/12-chain.xml
new file mode 100644
index 0000000..1480659
--- /dev/null
+++ b/tests/xmlfiles/12-chain.xml
@@ -0,0 +1,11 @@
+<chain name="foo" handle="100" bytes="59264154979" packets="2548796325" version="0">
+ <properties>
+ <type>nat</type>
+ <table>nat</table>
+ <prio>0</prio>
+ <use>1</use>
+ <hooknum>NF_INET_POST_ROUTING</hooknum>
+ <policy>accept</policy>
+ <family>ip</family>
+ </properties>
+</chain>
diff --git a/tests/xmlfiles/20-rule-bitwise.xml b/tests/xmlfiles/20-rule-bitwise.xml
new file mode 100644
index 0000000..411e28f
--- /dev/null
+++ b/tests/xmlfiles/20-rule-bitwise.xml
@@ -0,0 +1,25 @@
+<rule family="ip" table="filter" chain="INPUT" handle="100" version="0">
+ <rule_flags>0</rule_flags>
+ <expr type="bitwise">
+ <sreg>2</sreg>
+ <dreg>2</dreg>
+ <mask>
+ <data_reg type="value">
+ <len>16</len>
+ <data0>0xffffffff</data0>
+ <data1>0xffffffff</data1>
+ <data2>0xffffffff</data2>
+ <data3>0x000000ff</data3>
+ </data_reg>
+ </mask>
+ <xor>
+ <data_reg type="value">
+ <len>16</len>
+ <data0>0xfaceb00c</data0>
+ <data1>0xc1cac1ca</data1>
+ <data2>0xcafecafe</data2>
+ <data3>0xdeadbeef</data3>
+ </data_reg>
+ </xor>
+ </expr>
+</rule>
diff --git a/tests/xmlfiles/21-rule-byteorder.xml b/tests/xmlfiles/21-rule-byteorder.xml
new file mode 100644
index 0000000..44f9b78
--- /dev/null
+++ b/tests/xmlfiles/21-rule-byteorder.xml
@@ -0,0 +1,12 @@
+<rule family="ip" table="test" chain="test" handle="1000" version="0">
+ <rule_flags>123</rule_flags>
+ <compat_flags>123</compat_flags>
+ <compat_proto>123</compat_proto>
+ <expr type="byteorder">
+ <sreg>3</sreg>
+ <dreg>4</dreg>
+ <op>hton</op>
+ <len>4</len>
+ <size>4</size>
+ </expr>
+</rule>
diff --git a/tests/xmlfiles/22-rule-cmp.xml b/tests/xmlfiles/22-rule-cmp.xml
new file mode 100644
index 0000000..c135bcd
--- /dev/null
+++ b/tests/xmlfiles/22-rule-cmp.xml
@@ -0,0 +1,13 @@
+<rule family="ip" table="filter" chain="INPUT" handle="100" version="0">
+ <rule_flags>0</rule_flags>
+ <expr type="cmp">
+ <sreg>1</sreg>
+ <op>eq</op>
+ <cmpdata>
+ <data_reg type="value">
+ <len>4</len>
+ <data0>0x01010101</data0>
+ </data_reg>
+ </cmpdata>
+ </expr>
+</rule>
diff --git a/tests/xmlfiles/23-rule-counter.xml b/tests/xmlfiles/23-rule-counter.xml
new file mode 100644
index 0000000..e6ff78a
--- /dev/null
+++ b/tests/xmlfiles/23-rule-counter.xml
@@ -0,0 +1,8 @@
+<rule family="ip6" table="filter" chain="INPUT" handle="100" version="0">
+ <rule_flags>0</rule_flags>
+ <flags>127</flags>
+ <expr type="counter">
+ <pkts>123123</pkts>
+ <bytes>321321</bytes>
+ </expr>
+</rule>
diff --git a/tests/xmlfiles/24-rule-ct.xml b/tests/xmlfiles/24-rule-ct.xml
new file mode 100644
index 0000000..8fff41a
--- /dev/null
+++ b/tests/xmlfiles/24-rule-ct.xml
@@ -0,0 +1,10 @@
+<rule family="ip" table="filter" chain="INPUT" handle="100" version="0">
+ <rule_flags>0</rule_flags>
+ <compat_flags>0</compat_flags>
+ <compat_proto>0</compat_proto>
+ <expr type="ct">
+ <dreg>4</dreg>
+ <dir>1</dir>
+ <key>state</key>
+ </expr>
+</rule>
diff --git a/tests/xmlfiles/25-rule-exthdr.xml b/tests/xmlfiles/25-rule-exthdr.xml
new file mode 100644
index 0000000..48abd57
--- /dev/null
+++ b/tests/xmlfiles/25-rule-exthdr.xml
@@ -0,0 +1,9 @@
+<rule family="ip6" table="filter" chain="INPUT" handle="100" version="0">
+ <rule_flags>0</rule_flags>
+ <expr type="exthdr">
+ <dreg>1</dreg>
+ <exthdr_type>mh</exthdr_type>
+ <offset>2</offset>
+ <len>16</len>
+ </expr>
+</rule>
diff --git a/tests/xmlfiles/26-rule-immediate.xml b/tests/xmlfiles/26-rule-immediate.xml
new file mode 100644
index 0000000..d58a13d
--- /dev/null
+++ b/tests/xmlfiles/26-rule-immediate.xml
@@ -0,0 +1,12 @@
+<rule family="ip" table="filter" chain="INPUT" handle="100" version="0">
+ <rule_flags>0</rule_flags>
+ <expr type="immediate">
+ <dreg>1</dreg>
+ <immdata>
+ <data_reg type="value">
+ <len>4</len>
+ <data0>0xaabbccdd</data0>
+ </data_reg>
+ </immdata>
+ </expr>
+</rule>
diff --git a/tests/xmlfiles/26-rule-limit.xml b/tests/xmlfiles/26-rule-limit.xml
new file mode 100644
index 0000000..92a2bd9
--- /dev/null
+++ b/tests/xmlfiles/26-rule-limit.xml
@@ -0,0 +1,7 @@
+<rule family="ip" table="filter" chain="INPUT" handle="100" version="0">
+ <rule_flags>0</rule_flags>
+ <expr type="limit">
+ <rate>123123</rate>
+ <depth>321321</depth>
+ </expr>
+</rule>
diff --git a/tests/xmlfiles/28-rule-log.xml b/tests/xmlfiles/28-rule-log.xml
new file mode 100644
index 0000000..e33ff25
--- /dev/null
+++ b/tests/xmlfiles/28-rule-log.xml
@@ -0,0 +1,9 @@
+<rule family="ip6" table="filter" chain="INPUT" handle="100" version="0">
+ <rule_flags>0</rule_flags>
+ <expr type="log">
+ <group>10</group>
+ <snaplen>4000000</snaplen>
+ <qthreshold>1222222</qthreshold>
+ <prefix>prefixtest</prefix>
+ </expr>
+</rule>
diff --git a/tests/xmlfiles/29-rule-lookup.xml b/tests/xmlfiles/29-rule-lookup.xml
new file mode 100644
index 0000000..f67ecb9
--- /dev/null
+++ b/tests/xmlfiles/29-rule-lookup.xml
@@ -0,0 +1,8 @@
+<rule family="ip" table="filter" chain="INPUT" handle="100" version="0">
+ <rule_flags>0</rule_flags>
+ <expr type="lookup">
+ <sreg>2</sreg>
+ <dreg>1</dreg>
+ <set>set_name_test</set>
+ </expr>
+</rule>
diff --git a/tests/xmlfiles/30-rule-match.xml b/tests/xmlfiles/30-rule-match.xml
new file mode 100644
index 0000000..1738aa1
--- /dev/null
+++ b/tests/xmlfiles/30-rule-match.xml
@@ -0,0 +1,6 @@
+<rule family="ip" table="filter" chain="INPUT" handle="100" version="0">
+ <rule_flags>0</rule_flags>
+ <expr type="match">
+ <name>state</name>
+ </expr>
+</rule>
diff --git a/tests/xmlfiles/31-rule-meta.xml b/tests/xmlfiles/31-rule-meta.xml
new file mode 100644
index 0000000..7e2f57a
--- /dev/null
+++ b/tests/xmlfiles/31-rule-meta.xml
@@ -0,0 +1,7 @@
+<rule family="ip" table="filter" chain="INPUT" handle="100" version="0">
+ <rule_flags>0</rule_flags>
+ <expr type="meta">
+ <dreg>1</dreg>
+ <key>oifname</key>
+ </expr>
+</rule>
diff --git a/tests/xmlfiles/32-rule-nat6.xml b/tests/xmlfiles/32-rule-nat6.xml
new file mode 100644
index 0000000..e84bf1c
--- /dev/null
+++ b/tests/xmlfiles/32-rule-nat6.xml
@@ -0,0 +1,11 @@
+<rule family="ip6" table="nat" chain="OUTPUT" handle="100" version="0">
+ <rule_flags>0</rule_flags>
+ <expr type="nat">
+ <family>ip6</family>
+ <nat_type>snat</nat_type>
+ <sreg_addr_min>1</sreg_addr_min>
+ <sreg_addr_max>2</sreg_addr_max>
+ <sreg_proto_min>3</sreg_proto_min>
+ <sreg_proto_max>4</sreg_proto_max>
+ </expr>
+</rule>
diff --git a/tests/xmlfiles/33-rule-nat4.xml b/tests/xmlfiles/33-rule-nat4.xml
new file mode 100644
index 0000000..0dc213e
--- /dev/null
+++ b/tests/xmlfiles/33-rule-nat4.xml
@@ -0,0 +1,11 @@
+<rule family="ip" table="filter" chain="INPUT" handle="100" version="0">
+ <rule_flags>0</rule_flags>
+ <expr type="nat">
+ <sreg_addr_min>1</sreg_addr_min>
+ <sreg_addr_max>2</sreg_addr_max>
+ <sreg_proto_min>3</sreg_proto_min>
+ <sreg_proto_max>4</sreg_proto_max>
+ <family>ip</family>
+ <nat_type>dnat</nat_type>
+ </expr>
+</rule>
diff --git a/tests/xmlfiles/34-rule-payload.xml b/tests/xmlfiles/34-rule-payload.xml
new file mode 100644
index 0000000..a7846d6
--- /dev/null
+++ b/tests/xmlfiles/34-rule-payload.xml
@@ -0,0 +1,9 @@
+<rule family="ip6" table="filter" chain="INPUT" handle="100" version="0">
+ <rule_flags>0</rule_flags>
+ <expr type="payload">
+ <dreg>1</dreg>
+ <base>transport</base>
+ <offset>12</offset>
+ <len>4</len>
+ </expr>
+</rule>
diff --git a/tests/xmlfiles/35-rule-target.xml b/tests/xmlfiles/35-rule-target.xml
new file mode 100644
index 0000000..2a4f5e9
--- /dev/null
+++ b/tests/xmlfiles/35-rule-target.xml
@@ -0,0 +1,6 @@
+<rule family="ip" table="filter" chain="INPUT" handle="100" version="0">
+ <rule_flags>0</rule_flags>
+ <expr type="target">
+ <name>LOG</name>
+ </expr>
+</rule>