summaryrefslogtreecommitdiff
path: root/regress/sbin/pfctl
diff options
context:
space:
mode:
authorCedric Berger <cedric@cvs.openbsd.org>2003-02-25 09:06:33 +0000
committerCedric Berger <cedric@cvs.openbsd.org>2003-02-25 09:06:33 +0000
commit1629f56a1ca9bc121a6ec419395fffcbc62f43b3 (patch)
tree4dfb06007e3f8d907544d6d4522b78c5dd708586 /regress/sbin/pfctl
parent64362950ff97982f4cd8a9ee57620d76038f3b67 (diff)
Add regress tests for the 'table <foo> file "filename"' syntax.
Syntax checks only in pfsimple2, real tests in pfr13.
Diffstat (limited to 'regress/sbin/pfctl')
-rw-r--r--regress/sbin/pfctl/Makefile6
-rw-r--r--regress/sbin/pfctl/pfr.addrs116
-rw-r--r--regress/sbin/pfctl/pfr.addrs232
-rw-r--r--regress/sbin/pfctl/pfr.exec5
-rw-r--r--regress/sbin/pfctl/pfr13.in11
-rw-r--r--regress/sbin/pfctl/pfr13.ok392
-rw-r--r--regress/sbin/pfctl/pfsimple2.in7
7 files changed, 464 insertions, 5 deletions
diff --git a/regress/sbin/pfctl/Makefile b/regress/sbin/pfctl/Makefile
index 7c5b4717c9f..69c55f3f6db 100644
--- a/regress/sbin/pfctl/Makefile
+++ b/regress/sbin/pfctl/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.95 2003/02/24 20:56:56 henning Exp $
+# $OpenBSD: Makefile,v 1.96 2003/02/25 09:06:32 cedric Exp $
# TARGETS
# pf: feed pfNN.in through pfctl and check wether the output matches pfNN.ok
@@ -14,7 +14,7 @@ PFTESTS=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
PFTESTS+=28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
PFTESTS+=51 52 53 54 55 56 57
PFFAIL=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
-PFSIMPLE=1
+PFSIMPLE=1 2
PFSETUP=1 2 3
PFLOAD=1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29
PFLOAD+=30 31 32 34 36 38 39 40 44 46 47 49 54 56
@@ -24,7 +24,7 @@ PFLOAD+=30 31 32 34 36 38 39 40 44 46 47 49 54 56
# PFLOAD+=48
# only testing parser, load test would be useless
# PFLOAD+=6 22 41 50 52 53 55 57
-PFTABLE=1 2 3 4 5 6 7 8 9 10 11 12
+PFTABLE=1 2 3 4 5 6 7 8 9 10 11 12 13
PFOPT=1 2 3 4 5
.for n in ${PFFAIL}
diff --git a/regress/sbin/pfctl/pfr.addrs1 b/regress/sbin/pfctl/pfr.addrs1
new file mode 100644
index 00000000000..f2ed9426768
--- /dev/null
+++ b/regress/sbin/pfctl/pfr.addrs1
@@ -0,0 +1,16 @@
+# address file regress tests
+
+# some unroutables
+127.0.0.1 192.168/16 172.16/12 10/8
+
+# some IPv6 addresses
+::5 fe80::/16 2000::1
+
+# interfaces
+lo0 lo0/24 lo0:broadcast lo0:network
+
+# name resolution
+localhost
+
+1.1.1.1 # comment may appear...
+2.2.2.2 # after addresses too.
diff --git a/regress/sbin/pfctl/pfr.addrs2 b/regress/sbin/pfctl/pfr.addrs2
new file mode 100644
index 00000000000..ea529cdfaad
--- /dev/null
+++ b/regress/sbin/pfctl/pfr.addrs2
@@ -0,0 +1,32 @@
+# a bunch of addresses (300)
+
+1.1.0.0 1.1.0.1 1.1.0.2 1.1.0.3 1.1.0.4 1.1.0.5 1.1.0.6 1.1.0.7 1.1.0.8 1.1.0.9
+1.1.1.0 1.1.1.1 1.1.1.2 1.1.1.3 1.1.1.4 1.1.1.5 1.1.1.6 1.1.1.7 1.1.1.8 1.1.1.9
+1.1.2.0 1.1.2.1 1.1.2.2 1.1.2.3 1.1.2.4 1.1.2.5 1.1.2.6 1.1.2.7 1.1.2.8 1.1.2.9
+1.1.3.0 1.1.3.1 1.1.3.2 1.1.3.3 1.1.3.4 1.1.3.5 1.1.3.6 1.1.3.7 1.1.3.8 1.1.3.9
+1.1.4.0 1.1.4.1 1.1.4.2 1.1.4.3 1.1.4.4 1.1.4.5 1.1.4.6 1.1.4.7 1.1.4.8 1.1.4.9
+1.1.5.0 1.1.5.1 1.1.5.2 1.1.5.3 1.1.5.4 1.1.5.5 1.1.5.6 1.1.5.7 1.1.5.8 1.1.5.9
+1.1.6.0 1.1.6.1 1.1.6.2 1.1.6.3 1.1.6.4 1.1.6.5 1.1.6.6 1.1.6.7 1.1.6.8 1.1.6.9
+1.1.7.0 1.1.7.1 1.1.7.2 1.1.7.3 1.1.7.4 1.1.7.5 1.1.7.6 1.1.7.7 1.1.7.8 1.1.7.9
+1.1.8.0 1.1.8.1 1.1.8.2 1.1.8.3 1.1.8.4 1.1.8.5 1.1.8.6 1.1.8.7 1.1.8.8 1.1.8.9
+1.1.9.0 1.1.9.1 1.1.9.2 1.1.9.3 1.1.9.4 1.1.9.5 1.1.9.6 1.1.9.7 1.1.9.8 1.1.9.9
+1.2.0.0 1.2.0.1 1.2.0.2 1.2.0.3 1.2.0.4 1.2.0.5 1.2.0.6 1.2.0.7 1.2.0.8 1.2.0.9
+1.2.1.0 1.2.1.1 1.2.1.2 1.2.1.3 1.2.1.4 1.2.1.5 1.2.1.6 1.2.1.7 1.2.1.8 1.2.1.9
+1.2.2.0 1.2.2.1 1.2.2.2 1.2.2.3 1.2.2.4 1.2.2.5 1.2.2.6 1.2.2.7 1.2.2.8 1.2.2.9
+1.2.3.0 1.2.3.1 1.2.3.2 1.2.3.3 1.2.3.4 1.2.3.5 1.2.3.6 1.2.3.7 1.2.3.8 1.2.3.9
+1.2.4.0 1.2.4.1 1.2.4.2 1.2.4.3 1.2.4.4 1.2.4.5 1.2.4.6 1.2.4.7 1.2.4.8 1.2.4.9
+1.2.5.0 1.2.5.1 1.2.5.2 1.2.5.3 1.2.5.4 1.2.5.5 1.2.5.6 1.2.5.7 1.2.5.8 1.2.5.9
+1.2.6.0 1.2.6.1 1.2.6.2 1.2.6.3 1.2.6.4 1.2.6.5 1.2.6.6 1.2.6.7 1.2.6.8 1.2.6.9
+1.2.7.0 1.2.7.1 1.2.7.2 1.2.7.3 1.2.7.4 1.2.7.5 1.2.7.6 1.2.7.7 1.2.7.8 1.2.7.9
+1.2.8.0 1.2.8.1 1.2.8.2 1.2.8.3 1.2.8.4 1.2.8.5 1.2.8.6 1.2.8.7 1.2.8.8 1.2.8.9
+1.2.9.0 1.2.9.1 1.2.9.2 1.2.9.3 1.2.9.4 1.2.9.5 1.2.9.6 1.2.9.7 1.2.9.8 1.2.9.9
+1.3.0.0 1.3.0.1 1.3.0.2 1.3.0.3 1.3.0.4 1.3.0.5 1.3.0.6 1.3.0.7 1.3.0.8 1.3.0.9
+1.3.1.0 1.3.1.1 1.3.1.2 1.3.1.3 1.3.1.4 1.3.1.5 1.3.1.6 1.3.1.7 1.3.1.8 1.3.1.9
+1.3.2.0 1.3.2.1 1.3.2.2 1.3.2.3 1.3.2.4 1.3.2.5 1.3.2.6 1.3.2.7 1.3.2.8 1.3.2.9
+1.3.3.0 1.3.3.1 1.3.3.2 1.3.3.3 1.3.3.4 1.3.3.5 1.3.3.6 1.3.3.7 1.3.3.8 1.3.3.9
+1.3.4.0 1.3.4.1 1.3.4.2 1.3.4.3 1.3.4.4 1.3.4.5 1.3.4.6 1.3.4.7 1.3.4.8 1.3.4.9
+1.3.5.0 1.3.5.1 1.3.5.2 1.3.5.3 1.3.5.4 1.3.5.5 1.3.5.6 1.3.5.7 1.3.5.8 1.3.5.9
+1.3.6.0 1.3.6.1 1.3.6.2 1.3.6.3 1.3.6.4 1.3.6.5 1.3.6.6 1.3.6.7 1.3.6.8 1.3.6.9
+1.3.7.0 1.3.7.1 1.3.7.2 1.3.7.3 1.3.7.4 1.3.7.5 1.3.7.6 1.3.7.7 1.3.7.8 1.3.7.9
+1.3.8.0 1.3.8.1 1.3.8.2 1.3.8.3 1.3.8.4 1.3.8.5 1.3.8.6 1.3.8.7 1.3.8.8 1.3.8.9
+1.3.9.0 1.3.9.1 1.3.9.2 1.3.9.3 1.3.9.4 1.3.9.5 1.3.9.6 1.3.9.7 1.3.9.8 1.3.9.9
diff --git a/regress/sbin/pfctl/pfr.exec b/regress/sbin/pfctl/pfr.exec
index 43e7b448c54..a506cf5aa33 100644
--- a/regress/sbin/pfctl/pfr.exec
+++ b/regress/sbin/pfctl/pfr.exec
@@ -1,4 +1,5 @@
#!/bin/ksh
+D=`dirname $1`
for TABLE in `pfctl -sT | grep regress`; do
pfctl -t $TABLE -qTk 2>&1 || exit 1
done
@@ -48,7 +49,7 @@ for LINE in `sed -e "s/ /_/g" $1`; do
(pfctl -vsT | grep regress) 2>&1
;;
load)
- echo $ARGS | pfctl -Tl -f- || exit 1
+ echo $ARGS | sed "s,DIR,$D,g" | pfctl -Tl -f- || exit 1
;;
rule)
echo $ARGS | pfctl -a regress:regress -f- 2>&1 || exit 1
@@ -60,7 +61,7 @@ for LINE in `sed -e "s/ /_/g" $1`; do
else
case $CMD in
load)
- echo $ARGS | pfctl -Tl -f- && exit 1
+ echo ARGS | sed "s,DIR,$D,g" | pfctl -Tl -f- && exit 1
;;
rule)
echo $ARGS | pfctl -a regress:regress -f- 2>&1 && exit 1 ;;
diff --git a/regress/sbin/pfctl/pfr13.in b/regress/sbin/pfctl/pfr13.in
new file mode 100644
index 00000000000..71093cf8a30
--- /dev/null
+++ b/regress/sbin/pfctl/pfr13.in
@@ -0,0 +1,11 @@
+# load tables from file
+pass load table <regress> persist file "DIR/pfr.addrs1"
+pass show
+pass load table <regress> persist file "DIR/pfr.addrs1" file "DIR/pfr.addrs2"
+pass show
+pass load table <regress> persist { !127.0.0.1 } file "DIR/pfr.addrs1"
+pass show
+pass load table <regress> persist file "DIR/pfr.addrs1" { 3.3.3.3 }
+pass show
+pass load table <regress> persist { 11 } file "DIR/pfr.addrs1" { !12 }
+pass show
diff --git a/regress/sbin/pfctl/pfr13.ok b/regress/sbin/pfctl/pfr13.ok
new file mode 100644
index 00000000000..1b815d6c7ae
--- /dev/null
+++ b/regress/sbin/pfctl/pfr13.ok
@@ -0,0 +1,392 @@
+# create
+# pass load table <regress> persist file "DIR/pfr.addrs1"
+# pass show
+ 1.1.1.1
+ 10.0.0.0/8
+ 127.0.0.0/24
+ 127.0.0.0/8
+ 127.0.0.1
+ 172.16.0.0/12
+ 192.168.0.0/16
+ 2.2.2.2
+ 2000::1
+ ::/24
+ ::1
+ ::5
+ fe80::/16
+ fe80::/24
+ fe80::1
+# pass load table <regress> persist file "DIR/pfr.addrs1" file "DIR/pfr.addrs2"
+# pass show
+ 1.1.0.0
+ 1.1.0.1
+ 1.1.0.2
+ 1.1.0.3
+ 1.1.0.4
+ 1.1.0.5
+ 1.1.0.6
+ 1.1.0.7
+ 1.1.0.8
+ 1.1.0.9
+ 1.1.1.0
+ 1.1.1.1
+ 1.1.1.2
+ 1.1.1.3
+ 1.1.1.4
+ 1.1.1.5
+ 1.1.1.6
+ 1.1.1.7
+ 1.1.1.8
+ 1.1.1.9
+ 1.1.2.0
+ 1.1.2.1
+ 1.1.2.2
+ 1.1.2.3
+ 1.1.2.4
+ 1.1.2.5
+ 1.1.2.6
+ 1.1.2.7
+ 1.1.2.8
+ 1.1.2.9
+ 1.1.3.0
+ 1.1.3.1
+ 1.1.3.2
+ 1.1.3.3
+ 1.1.3.4
+ 1.1.3.5
+ 1.1.3.6
+ 1.1.3.7
+ 1.1.3.8
+ 1.1.3.9
+ 1.1.4.0
+ 1.1.4.1
+ 1.1.4.2
+ 1.1.4.3
+ 1.1.4.4
+ 1.1.4.5
+ 1.1.4.6
+ 1.1.4.7
+ 1.1.4.8
+ 1.1.4.9
+ 1.1.5.0
+ 1.1.5.1
+ 1.1.5.2
+ 1.1.5.3
+ 1.1.5.4
+ 1.1.5.5
+ 1.1.5.6
+ 1.1.5.7
+ 1.1.5.8
+ 1.1.5.9
+ 1.1.6.0
+ 1.1.6.1
+ 1.1.6.2
+ 1.1.6.3
+ 1.1.6.4
+ 1.1.6.5
+ 1.1.6.6
+ 1.1.6.7
+ 1.1.6.8
+ 1.1.6.9
+ 1.1.7.0
+ 1.1.7.1
+ 1.1.7.2
+ 1.1.7.3
+ 1.1.7.4
+ 1.1.7.5
+ 1.1.7.6
+ 1.1.7.7
+ 1.1.7.8
+ 1.1.7.9
+ 1.1.8.0
+ 1.1.8.1
+ 1.1.8.2
+ 1.1.8.3
+ 1.1.8.4
+ 1.1.8.5
+ 1.1.8.6
+ 1.1.8.7
+ 1.1.8.8
+ 1.1.8.9
+ 1.1.9.0
+ 1.1.9.1
+ 1.1.9.2
+ 1.1.9.3
+ 1.1.9.4
+ 1.1.9.5
+ 1.1.9.6
+ 1.1.9.7
+ 1.1.9.8
+ 1.1.9.9
+ 1.2.0.0
+ 1.2.0.1
+ 1.2.0.2
+ 1.2.0.3
+ 1.2.0.4
+ 1.2.0.5
+ 1.2.0.6
+ 1.2.0.7
+ 1.2.0.8
+ 1.2.0.9
+ 1.2.1.0
+ 1.2.1.1
+ 1.2.1.2
+ 1.2.1.3
+ 1.2.1.4
+ 1.2.1.5
+ 1.2.1.6
+ 1.2.1.7
+ 1.2.1.8
+ 1.2.1.9
+ 1.2.2.0
+ 1.2.2.1
+ 1.2.2.2
+ 1.2.2.3
+ 1.2.2.4
+ 1.2.2.5
+ 1.2.2.6
+ 1.2.2.7
+ 1.2.2.8
+ 1.2.2.9
+ 1.2.3.0
+ 1.2.3.1
+ 1.2.3.2
+ 1.2.3.3
+ 1.2.3.4
+ 1.2.3.5
+ 1.2.3.6
+ 1.2.3.7
+ 1.2.3.8
+ 1.2.3.9
+ 1.2.4.0
+ 1.2.4.1
+ 1.2.4.2
+ 1.2.4.3
+ 1.2.4.4
+ 1.2.4.5
+ 1.2.4.6
+ 1.2.4.7
+ 1.2.4.8
+ 1.2.4.9
+ 1.2.5.0
+ 1.2.5.1
+ 1.2.5.2
+ 1.2.5.3
+ 1.2.5.4
+ 1.2.5.5
+ 1.2.5.6
+ 1.2.5.7
+ 1.2.5.8
+ 1.2.5.9
+ 1.2.6.0
+ 1.2.6.1
+ 1.2.6.2
+ 1.2.6.3
+ 1.2.6.4
+ 1.2.6.5
+ 1.2.6.6
+ 1.2.6.7
+ 1.2.6.8
+ 1.2.6.9
+ 1.2.7.0
+ 1.2.7.1
+ 1.2.7.2
+ 1.2.7.3
+ 1.2.7.4
+ 1.2.7.5
+ 1.2.7.6
+ 1.2.7.7
+ 1.2.7.8
+ 1.2.7.9
+ 1.2.8.0
+ 1.2.8.1
+ 1.2.8.2
+ 1.2.8.3
+ 1.2.8.4
+ 1.2.8.5
+ 1.2.8.6
+ 1.2.8.7
+ 1.2.8.8
+ 1.2.8.9
+ 1.2.9.0
+ 1.2.9.1
+ 1.2.9.2
+ 1.2.9.3
+ 1.2.9.4
+ 1.2.9.5
+ 1.2.9.6
+ 1.2.9.7
+ 1.2.9.8
+ 1.2.9.9
+ 1.3.0.0
+ 1.3.0.1
+ 1.3.0.2
+ 1.3.0.3
+ 1.3.0.4
+ 1.3.0.5
+ 1.3.0.6
+ 1.3.0.7
+ 1.3.0.8
+ 1.3.0.9
+ 1.3.1.0
+ 1.3.1.1
+ 1.3.1.2
+ 1.3.1.3
+ 1.3.1.4
+ 1.3.1.5
+ 1.3.1.6
+ 1.3.1.7
+ 1.3.1.8
+ 1.3.1.9
+ 1.3.2.0
+ 1.3.2.1
+ 1.3.2.2
+ 1.3.2.3
+ 1.3.2.4
+ 1.3.2.5
+ 1.3.2.6
+ 1.3.2.7
+ 1.3.2.8
+ 1.3.2.9
+ 1.3.3.0
+ 1.3.3.1
+ 1.3.3.2
+ 1.3.3.3
+ 1.3.3.4
+ 1.3.3.5
+ 1.3.3.6
+ 1.3.3.7
+ 1.3.3.8
+ 1.3.3.9
+ 1.3.4.0
+ 1.3.4.1
+ 1.3.4.2
+ 1.3.4.3
+ 1.3.4.4
+ 1.3.4.5
+ 1.3.4.6
+ 1.3.4.7
+ 1.3.4.8
+ 1.3.4.9
+ 1.3.5.0
+ 1.3.5.1
+ 1.3.5.2
+ 1.3.5.3
+ 1.3.5.4
+ 1.3.5.5
+ 1.3.5.6
+ 1.3.5.7
+ 1.3.5.8
+ 1.3.5.9
+ 1.3.6.0
+ 1.3.6.1
+ 1.3.6.2
+ 1.3.6.3
+ 1.3.6.4
+ 1.3.6.5
+ 1.3.6.6
+ 1.3.6.7
+ 1.3.6.8
+ 1.3.6.9
+ 1.3.7.0
+ 1.3.7.1
+ 1.3.7.2
+ 1.3.7.3
+ 1.3.7.4
+ 1.3.7.5
+ 1.3.7.6
+ 1.3.7.7
+ 1.3.7.8
+ 1.3.7.9
+ 1.3.8.0
+ 1.3.8.1
+ 1.3.8.2
+ 1.3.8.3
+ 1.3.8.4
+ 1.3.8.5
+ 1.3.8.6
+ 1.3.8.7
+ 1.3.8.8
+ 1.3.8.9
+ 1.3.9.0
+ 1.3.9.1
+ 1.3.9.2
+ 1.3.9.3
+ 1.3.9.4
+ 1.3.9.5
+ 1.3.9.6
+ 1.3.9.7
+ 1.3.9.8
+ 1.3.9.9
+ 10.0.0.0/8
+ 127.0.0.0/24
+ 127.0.0.0/8
+ 127.0.0.1
+ 172.16.0.0/12
+ 192.168.0.0/16
+ 2.2.2.2
+ 2000::1
+ ::/24
+ ::1
+ ::5
+ fe80::/16
+ fe80::/24
+ fe80::1
+# pass load table <regress> persist { !127.0.0.1 } file "DIR/pfr.addrs1"
+# pass show
+ 1.1.1.1
+ 10.0.0.0/8
+ 127.0.0.0/24
+ 127.0.0.0/8
+ 172.16.0.0/12
+ 192.168.0.0/16
+ 2.2.2.2
+ 2000::1
+ ::/24
+ ::1
+ ::5
+ fe80::/16
+ fe80::/24
+ fe80::1
+ !127.0.0.1
+# pass load table <regress> persist file "DIR/pfr.addrs1" { 3.3.3.3 }
+# pass show
+ 1.1.1.1
+ 10.0.0.0/8
+ 127.0.0.0/24
+ 127.0.0.0/8
+ 127.0.0.1
+ 172.16.0.0/12
+ 192.168.0.0/16
+ 2.2.2.2
+ 2000::1
+ 3.3.3.3
+ ::/24
+ ::1
+ ::5
+ fe80::/16
+ fe80::/24
+ fe80::1
+# pass load table <regress> persist { 11 } file "DIR/pfr.addrs1" { !12 }
+# pass show
+ 1.1.1.1
+ 10.0.0.0/8
+ 11.0.0.0/8
+ 127.0.0.0/24
+ 127.0.0.0/8
+ 127.0.0.1
+ 172.16.0.0/12
+ 192.168.0.0/16
+ 2.2.2.2
+ 2000::1
+ ::/24
+ ::1
+ ::5
+ fe80::/16
+ fe80::/24
+ fe80::1
+ !12.0.0.0/8
+# kill
+1 table deleted.
+ktable: 7 allocated, 7 released, 0 leaked.
+kentry: 377 allocated, 377 released, 0 leaked.
diff --git a/regress/sbin/pfctl/pfsimple2.in b/regress/sbin/pfctl/pfsimple2.in
new file mode 100644
index 00000000000..73e9e8b8135
--- /dev/null
+++ b/regress/sbin/pfctl/pfsimple2.in
@@ -0,0 +1,7 @@
+# load tables from file
+table <regress> persist file "/dev/null"
+table <regress> persist file "/dev/null" file "/dev/null"
+table <regress> persist { !127.0.0.1 } file "/dev/null"
+table <regress> persist file "/dev/null" { 3.3.3.3 }
+table <regress> persist { 11 } file "/dev/null" { !12 }
+table <regress> { 10 } const file "/dev/null" persist