summaryrefslogtreecommitdiffstats
path: root/bin/tests/system/forward/tests.sh
diff options
context:
space:
mode:
authorMartin Nagy <mnagy@redhat.com>2009-02-11 20:37:59 +0100
committerMartin Nagy <mnagy@redhat.com>2009-02-11 20:37:59 +0100
commitf50ae72ec3417cae55dd4e085991c01af9fdc5f1 (patch)
tree0e36c9a3320f6d068df93d3ff6d84b821d23db40 /bin/tests/system/forward/tests.sh
downloadbind_dynamic-f50ae72ec3417cae55dd4e085991c01af9fdc5f1.tar.gz
bind_dynamic-f50ae72ec3417cae55dd4e085991c01af9fdc5f1.tar.xz
bind_dynamic-f50ae72ec3417cae55dd4e085991c01af9fdc5f1.zip
Initial commitstart
Diffstat (limited to 'bin/tests/system/forward/tests.sh')
-rw-r--r--bin/tests/system/forward/tests.sh92
1 files changed, 92 insertions, 0 deletions
diff --git a/bin/tests/system/forward/tests.sh b/bin/tests/system/forward/tests.sh
new file mode 100644
index 0000000..c3c0bf3
--- /dev/null
+++ b/bin/tests/system/forward/tests.sh
@@ -0,0 +1,92 @@
+# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2000, 2001 Internet Software Consortium.
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id: tests.sh,v 1.7 2007/06/19 23:47:03 tbox Exp $
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+root=10.53.0.1
+hidden=10.53.0.2
+f1=10.53.0.3
+f2=10.53.0.4
+
+status=0
+
+echo "I:checking that a forward zone overrides global forwarders"
+ret=0
+$DIG txt.example1. txt @$hidden -p 5300 > dig.out.hidden || ret=1
+$DIG txt.example1. txt @$f1 -p 5300 > dig.out.f1 || ret=1
+$PERL ../digcomp.pl dig.out.hidden dig.out.f1 || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking that a forward first zone no forwarders recurses"
+ret=0
+$DIG txt.example2. txt @$root -p 5300 > dig.out.root || ret=1
+$DIG txt.example2. txt @$f1 -p 5300 > dig.out.f1 || ret=1
+$PERL ../digcomp.pl dig.out.root dig.out.f1 || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking that a forward only zone no forwarders fails"
+ret=0
+$DIG txt.example2. txt @$root -p 5300 > dig.out.root || ret=1
+$DIG txt.example2. txt @$f1 -p 5300 > dig.out.f1 || ret=1
+$PERL ../digcomp.pl dig.out.root dig.out.f1 || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking that global forwarders work"
+ret=0
+$DIG txt.example4. txt @$hidden -p 5300 > dig.out.hidden || ret=1
+$DIG txt.example4. txt @$f1 -p 5300 > dig.out.f1 || ret=1
+$PERL ../digcomp.pl dig.out.hidden dig.out.f1 || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking that a forward zone works"
+ret=0
+$DIG txt.example1. txt @$hidden -p 5300 > dig.out.hidden || ret=1
+$DIG txt.example1. txt @$f2 -p 5300 > dig.out.f2 || ret=1
+$PERL ../digcomp.pl dig.out.hidden dig.out.f2 || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking that forwarding doesn't spontaneously happen"
+ret=0
+$DIG txt.example2. txt @$root -p 5300 > dig.out.root || ret=1
+$DIG txt.example2. txt @$f2 -p 5300 > dig.out.f2 || ret=1
+$PERL ../digcomp.pl dig.out.root dig.out.f2 || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking that a forward zone with no specified policy works"
+ret=0
+$DIG txt.example3. txt @$hidden -p 5300 > dig.out.hidden || ret=1
+$DIG txt.example3. txt @$f2 -p 5300 > dig.out.f2 || ret=1
+$PERL ../digcomp.pl dig.out.hidden dig.out.f2 || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking that a forward only doesn't recurse"
+ret=0
+$DIG txt.example5. txt @$f2 -p 5300 > dig.out.f2 || ret=1
+grep "SERVFAIL" dig.out.f2 > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:exit status: $status"
+exit $status