Commit 73962470 authored by JINMEI Tatuya's avatar JINMEI Tatuya

[trac606] ported BIND 9's 'glue' system test

parent 9c3f2713
; <<>> DiG 9.0 <<>> +norec @10.53.0.1 -p 5300 foo.bar.example.org. a
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41239
;; flags: qr ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;foo.bar.example.org. IN A
;; AUTHORITY SECTION:
example.org. 172800 IN NS b.root-servers.nil.
;; ADDITIONAL SECTION:
b.root-servers.nil. 300 IN A 10.53.0.2
#!/bin/sh
#
# 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.
#
# Clean up after glue tests.
#
rm -f dig.out.*
rm -f */msgq_socket */zone.sqlite3
; <<>> DiG 9.0 <<>> +norec @10.53.0.1 -p 5300 foo.bar.example. A
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58772
;; flags: qr ad; QUERY: 1, ANSWER: 0, AUTHORITY: 6, ADDITIONAL: 7
;; QUESTION SECTION:
;foo.bar.example. IN A
;; AUTHORITY SECTION:
example. 172800 IN NS NS1.example.COM.
example. 172800 IN NS NS.example.
;; ADDITIONAL SECTION:
NS.example. 172800 IN A 192.0.2.1
NS.example. 172800 IN A 192.0.2.2
NS1.example.COM. 172800 IN A 192.0.2.101
NS1.example.COM. 172800 IN AAAA 2001:db8::1
; <<>> DiG 9.0 <<>> @10.53.0.1 -p 5300 example.net a
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29409
;; flags: qr rd ad; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 0
;; QUESTION SECTION:
;example.net. IN A
;; AUTHORITY SECTION:
example.net. 300 IN NS ns2.example.info.
example.net. 300 IN NS ns1.example.info.
{"version": 2,
"Auth": {
"listen_on": [{"address": "10.53.0.1", "port": 5300}],
"database_file": "@abs_builddir@/zone.sqlite3"
}
}
; 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.
$ORIGIN com.
$TTL 300
@ IN SOA root.example.com. a.root.servers.nil. (
2000042100 ; serial
600 ; refresh
600 ; retry
1200 ; expire
600 ; minimum
)
@ NS a.root-servers.nil.
example.com. NS ns1.example.com.
example.com. NS ns2.example.com.
ns1.example.com. 172800 IN A 192.0.2.101
ns1.example.com. 172800 IN AAAA 2001:db8::1
ns2.example.com. 172800 IN A 192.0.2.102
; 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.
$ORIGIN net.
$TTL 300
@ IN SOA root.example.net. a.root.servers.nil. (
2000042100 ; serial
600 ; refresh
600 ; retry
1200 ; expire
600 ; minimum
)
@ NS a.root-servers.nil.
; Referral outside of server authority, but with glue records present.
; Don't hand out the glue.
example.net. NS ns1.example.info.
example.net. NS ns2.example.info.
ns1.example.info. 172800 IN A 192.0.2.101
ns2.example.info. 172800 IN A 192.0.2.102
; 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.
$TTL 300
@ IN SOA ns hostmaster (
1
3600
1800
1814400
3600
)
NS a
a A 10.53.0.1
b A 10.53.0.2
; 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.
$TTL 300
. IN SOA postmaster.example. a.root.servers.nil. (
2000042100 ; serial
600 ; refresh
600 ; retry
1200 ; expire
600 ; minimum
)
. NS a.root-servers.nil.
root-servers.nil. NS a.root-servers.nil.
a.root-servers.nil. A 10.53.0.1
; Delegate some domains that contain name servers for the sample
; ccTLDs below.
com. 172800 IN NS a.root-servers.nil.
;
; A sample TLD
;
example. 172800 IN NS NS.example.
example. 172800 IN NS NS1.example.COM.
NS.example. 172800 IN A 192.0.2.1
NS.example. 172800 IN A 192.0.2.2
; this "glue" is below a zone cut for com. BIND 9 still uses it for
; the delegation to example. BIND 10 (with sqlite3 data source) doesn't.
NS1.example.COM. 172800 IN A 192.0.2.3
;
;
;
test. 172800 IN NS ns.test.
test. 172800 IN NS ns1.example.net.
ns.test. 172800 IN A 192.0.2.200
ns1.example.net. 172800 IN A 192.0.2.201
;
; A hypothetical ccTLD where we are authoritative for the NS glue.
;
example.org 172800 IN NS b.root-servers.nil.
#!/bin/sh
#
# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
#
# 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.
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
#
# Clean up after glue tests.
#
rm -f */zone.sqlite3
${B10_LOADZONE} -o . -d @builddir@/nsx1/zone.sqlite3 @builddir@/nsx1/root.db
${B10_LOADZONE} -o root-servers.nil -d @builddir@/nsx1/zone.sqlite3 \
@builddir@/nsx1/root-servers.nil.db
${B10_LOADZONE} -o com -d @builddir@/nsx1/zone.sqlite3 @builddir@/nsx1/com.db
${B10_LOADZONE} -o net -d @builddir@/nsx1/zone.sqlite3 @builddir@/nsx1/net.db
; <<>> DiG 9.8.0 <<>> @127.0.0.1 -p 5300 foo.bar.test
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55069
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 2
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;foo.bar.test. IN A
;; AUTHORITY SECTION:
test. 172800 IN NS ns.test.
test. 172800 IN NS ns1.example.net.
;; ADDITIONAL SECTION:
ns.test. 172800 IN A 192.0.2.200
ns1.example.net. 172800 IN A 192.0.2.201
#!/bin/sh
#
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001, 2003 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.
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
#
# Do glue tests.
#
status=0
n=0
# This query should result in a delegation with two NS; one in the delegated
# zone and one in a so called out-of-bailiwick zone for which the auth server
# has authority, too. For the former, the server should return glue in the
# parent zone. For the latter, BIND 9 and BIND 10 behave differently; BIND 9
# uses "glue" in the parent zone (since this is the root zone everything can
# be considered a valid glue). BIND 10 (using sqlite3 data source) searches
# the other zone and uses the authoritative data in that zone (which is
# intentionally different from the glue in the root zone).
echo "I:testing that a TLD referral gets a full glue set from the root zone ($n)"
$DIG +norec @10.53.0.1 -p 5300 foo.bar.example. A >dig.out.$n || status=1
$PERL ../digcomp.pl example.good dig.out.$n || status=1
n=`expr $n + 1`
echo "I:testing that we find glue A RRs we are authoritative for ($n)"
$DIG +norec @10.53.0.1 -p 5300 foo.bar.example.org. a >dig.out.$n || status=1
$PERL ../digcomp.pl auth.good dig.out.$n || status=1
n=`expr $n + 1`
# We cannot do this test for BIND 10 because b10-auth doesn't act as a
# recursive (caching) server (by design)
# echo "I:testing that we find glue A/AAAA RRs in the cache ($n)"
# $DIG +norec @10.53.0.1 -p 5300 foo.bar.yy. a >dig.out.$n || status=1
# $PERL ../digcomp.pl yy.good dig.out.$n || status=1
# n=`expr $n + 1`
echo "I:testing that we don't find out-of-zone glue ($n)"
$DIG +norec @10.53.0.1 -p 5300 example.net. a > dig.out.$n || status=1
$PERL ../digcomp.pl noglue.good dig.out.$n || status=1
n=`expr $n + 1`
# This test currently fails (additional section will be empty, which is
# incorrect). See Trac ticket #646.
#echo "I:testing that we are finding partial out-of-zone glue ($n)"
#$DIG +norec @10.53.0.1 -p 5300 foo.bar.test. a >dig.out.$n || status=1
#$PERL ../digcomp.pl test.good dig.out.$n || status=1
#n=`expr $n + 1`
echo "I:exit status: $status"
exit $status
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment