BIND 10 master, updated. 1817f1e8fd4a3635b8b5e0d581f6a2aa61b5e955 [1213] ChangeLog entry for #1213
BIND 10 source code commits
bind10-changes at lists.isc.org
Tue Oct 18 10:05:01 UTC 2011
The branch, master has been updated
via 1817f1e8fd4a3635b8b5e0d581f6a2aa61b5e955 (commit)
via 68ee3818bcbecebf3e6789e81ea79d551a4ff3e8 (commit)
via ad26a33ce7624ea2a9b8685f1255db0c1f80bfa8 (commit)
via 044381e03b7f178c7c322861960b79c8a27bb4b1 (commit)
via f2b5473fc2f2dfa13485fe9822e84fadd69ac950 (commit)
via 0cfe2c51b17627d777cec9c33f9652b61f14427c (commit)
via c12ca1170ad094e0450efeb462328ec6b6ec7e1f (commit)
via 4cfd27849ef6f2e99ee346763695fbc64742d783 (commit)
via 03753df452d1871af6f82824286cc07ab40493f9 (commit)
via 6c2de9d212bbb3193304a1ae4fd54ca9137262ff (commit)
via a95e95882763d10fac105a93826d79d5ebe4a449 (commit)
via 19722a540a20a2dc5370df4d8f1f0bb326175001 (commit)
via 8724a537b4f7d9d93bf06c2df860ea83f247461b (commit)
via f5b0e46b8cc66dc5aeef4df4d4e938ab0f4cd3da (commit)
via 5f5d0ee169a33ed2edf6d80ed1c7f557b993eaf5 (commit)
via a1363e4b0e747cf0814e6f6575311aba9aac1ef2 (commit)
via 8028d7abe44464aacaf7e8cb82a5a23d39fb4489 (commit)
via 0fc138613824f16378ba2b5462886cb2d97a318a (commit)
via 4a843f9058e625685cf2338fe89c9a89af3c1777 (commit)
via 5275b7b65e2ce2acf92528868c9859dd4407c4c1 (commit)
via 44f582bd7d16b11259cda469de5f56bad9768059 (commit)
via 48b88725698f7e4979f577c0e86689160aa758c5 (commit)
via a46eed49d48d22fcf83eeed363b559e4b60bd840 (commit)
via 1afd287718c25b673beb31903eb80bfc9f268d87 (commit)
via a4766a155b7821c9b7eb5e126988007a95118dc9 (commit)
via f1a85d0c97636ce15d830ef56c3440298f3773a7 (commit)
from 5bb1a0ebbed603d81656d5e87196191f1b00aad5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 1817f1e8fd4a3635b8b5e0d581f6a2aa61b5e955
Author: Stephen Morris <stephen at isc.org>
Date: Tue Oct 18 11:04:02 2011 +0100
[1213] ChangeLog entry for #1213
commit 68ee3818bcbecebf3e6789e81ea79d551a4ff3e8
Merge: ad26a33ce7624ea2a9b8685f1255db0c1f80bfa8 5bb1a0ebbed603d81656d5e87196191f1b00aad5
Author: Stephen Morris <stephen at isc.org>
Date: Tue Oct 18 10:41:45 2011 +0100
Merge branch 'master' into trac1213
commit ad26a33ce7624ea2a9b8685f1255db0c1f80bfa8
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date: Fri Oct 14 15:36:02 2011 +0200
[1213] Use exit, not return
As shell can't return from script, it can only exit.
commit 044381e03b7f178c7c322861960b79c8a27bb4b1
Merge: f2b5473fc2f2dfa13485fe9822e84fadd69ac950 625e9b719947e894ad7369d8ca61df23ea31b243
Author: Stephen Morris <stephen at isc.org>
Date: Wed Oct 12 14:23:57 2011 +0100
[1213] Merge branch 'master' into trac1213
Conflicts:
tests/system/cleanall.sh
commit f2b5473fc2f2dfa13485fe9822e84fadd69ac950
Author: Stephen Morris <stephen at isc.org>
Date: Wed Oct 12 14:15:22 2011 +0100
[1213] Correct status return codes in case of error
commit 0cfe2c51b17627d777cec9c33f9652b61f14427c
Author: Stephen Morris <stephen at isc.org>
Date: Wed Oct 12 14:00:33 2011 +0100
[1213] Correct grep command line
commit c12ca1170ad094e0450efeb462328ec6b6ec7e1f
Author: Stephen Morris <stephen at isc.org>
Date: Tue Oct 11 15:26:07 2011 +0100
[1213] Preparation for merge with master
Rename ixfr/clean.sh so it doesn't get executed in that directory.
Remove a few more blank lines at the start of shell scripts.
commit 4cfd27849ef6f2e99ee346763695fbc64742d783
Author: Stephen Morris <stephen at isc.org>
Date: Tue Oct 11 14:27:53 2011 +0100
[1213] Changes as a result of review
commit 03753df452d1871af6f82824286cc07ab40493f9
Author: Stephen Morris <stephen at isc.org>
Date: Mon Oct 10 19:36:01 2011 +0100
[1213] Fix typo in progress nessage
commit 6c2de9d212bbb3193304a1ae4fd54ca9137262ff
Author: Stephen Morris <stephen at isc.org>
Date: Mon Oct 10 18:57:58 2011 +0100
[1213] Force git to keep nsx2 directories in the build tree
commit a95e95882763d10fac105a93826d79d5ebe4a449
Author: Stephen Morris <stephen at isc.org>
Date: Mon Oct 10 18:44:13 2011 +0100
[1213] Changes to get BIND 10 to perform IXFR
At the time of commit, BIND 10 can only do IXFR if requested through
the "Xfrin retransfer" command. Also, it only does IXFRs over TCP.
It does not do IXFRs over UDP, not can it respond to NOTIFYs or send
an IXFR request when the refresh timer expires.
In these changes:
1) Only test in-2 is finished. (Even then, not fully: BIND 10 does
not attempt a UDP IXFR before reverting to TCP, it initiates a TCP
session immediately.) The remaining tests test features that have not
been implemented yet.
2) The BIND 10 configuration database is now copied to the nsx2
directories before each test (so there is now only one copy of it).
The zone.sqlite3 database now resides in the "ixfr" test directory.
commit 19722a540a20a2dc5370df4d8f1f0bb326175001
Author: Stephen Morris <stephen at isc.org>
Date: Mon Oct 10 11:33:21 2011 +0100
[1213] Update comments in shell files
commit 8724a537b4f7d9d93bf06c2df860ea83f247461b
Author: Stephen Morris <stephen at isc.org>
Date: Mon Oct 10 11:15:53 2011 +0100
[1213] Compare zones after update instead of just the SOA serial
commit f5b0e46b8cc66dc5aeef4df4d4e938ab0f4cd3da
Author: Stephen Morris <stephen at isc.org>
Date: Mon Oct 10 09:35:45 2011 +0100
[1213] Corrected documentation of fourth IXFR-in test
commit 5f5d0ee169a33ed2edf6d80ed1c7f557b993eaf5
Author: Stephen Morris <stephen at isc.org>
Date: Fri Oct 7 20:15:30 2011 +0100
[1213] Fix missed rename of zone file
commit a1363e4b0e747cf0814e6f6575311aba9aac1ef2
Author: Stephen Morris <stephen at isc.org>
Date: Fri Oct 7 20:01:23 2011 +0100
[1213] Add README files into empty directories
The ns1 directories are required for the test. They could be created
during the test, but as the nsx2 directories are permanent features,
it is consistent to have the ns1 directories permanent as well. git is
currently unable to hold empty directories in its repository, so the
README files have been added to anchor the directories in place.
commit 8028d7abe44464aacaf7e8cb82a5a23d39fb4489
Author: Stephen Morris <stephen at isc.org>
Date: Fri Oct 7 19:51:03 2011 +0100
[1213] Rename zone files and update shell file headers
Zone files also reorganised to use $INCLUDE to include a common
file containing the bulk of the "large" zone.
commit 0fc138613824f16378ba2b5462886cb2d97a318a
Author: Stephen Morris <stephen at isc.org>
Date: Fri Oct 7 18:11:05 2011 +0100
[1213] Address comments on scripts and configuration files.
commit 4a843f9058e625685cf2338fe89c9a89af3c1777
Author: Stephen Morris <stephen at isc.org>
Date: Fri Oct 7 12:16:39 2011 +0100
[1213] Final tidy-up pending initial review.
commit 5275b7b65e2ce2acf92528868c9859dd4407c4c1
Author: Stephen Morris <stephen at isc.org>
Date: Thu Oct 6 19:20:50 2011 +0100
[1213] Miscellaneous corrections to names and content
commit 44f582bd7d16b11259cda469de5f56bad9768059
Author: Stephen Morris <stephen at isc.org>
Date: Thu Oct 6 18:26:09 2011 +0100
[1213] Added fourth test, check that IXFR request is sent after refresh time
commit 48b88725698f7e4979f577c0e86689160aa758c5
Author: Stephen Morris <stephen at isc.org>
Date: Thu Oct 6 17:39:23 2011 +0100
[1213] Add third test - IXFR disabled on server, so try AXFR
commit a46eed49d48d22fcf83eeed363b559e4b60bd840
Author: Stephen Morris <stephen at isc.org>
Date: Thu Oct 6 16:03:36 2011 +0100
[1213] Add skeleton for second test
commit 1afd287718c25b673beb31903eb80bfc9f268d87
Author: Stephen Morris <stephen at isc.org>
Date: Thu Oct 6 14:35:48 2011 +0100
[1213] Moved some common tests into a separate file
commit a4766a155b7821c9b7eb5e126988007a95118dc9
Author: Stephen Morris <stephen at isc.org>
Date: Thu Oct 6 13:38:03 2011 +0100
[1213] Common IXFR test functions now in separate file
commit f1a85d0c97636ce15d830ef56c3440298f3773a7
Author: Stephen Morris <stephen at isc.org>
Date: Wed Oct 5 16:56:56 2011 +0100
[1213] Initial commit of changes
The ixfr tests are in the tools/system/ixfr directory. To simplify
things, each test is in a subdirectory of that, with the common
data files in ixfr itself.
This commit got the starting and stopping of the nameservers for the
first test running, and created some basic data files.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 4 +
configure.ac | 22 +
tests/system/README | 53 +-
tests/system/cleanall.sh | 2 +-
tests/system/common/rndc.conf | 25 +
tests/system/common/rndc.key | 22 +
tests/system/conf.sh.in | 45 +-
tests/system/ixfr/README | 86 ++
tests/system/ixfr/b10-config.db.in | 22 +
tests/system/ixfr/clean_ns.sh | 28 +
tests/system/ixfr/common_tests.sh.in | 78 ++
tests/system/ixfr/db.example.common | 1556 ++++++++++++++++++++++++++++
tests/system/ixfr/db.example.n0.in | 29 +
tests/system/ixfr/db.example.n2.in | 28 +
tests/system/ixfr/db.example.n2.refresh.in | 28 +
tests/system/ixfr/db.example.n4.in | 31 +
tests/system/ixfr/db.example.n6.in | 29 +
tests/system/ixfr/in-1/clean.sh | 1 +
tests/system/ixfr/in-1/ns1/README | 3 +
tests/system/ixfr/in-1/nsx2/README | 3 +
tests/system/ixfr/in-1/setup.sh.in | 30 +
tests/system/ixfr/in-1/tests.sh | 37 +
tests/system/ixfr/in-2/clean.sh | 1 +
tests/system/ixfr/in-2/ns1/README | 3 +
tests/system/ixfr/in-2/nsx2/README | 3 +
tests/system/ixfr/in-2/setup.sh.in | 29 +
tests/system/ixfr/in-2/tests.sh | 81 ++
tests/system/ixfr/in-3/clean.sh | 1 +
tests/system/ixfr/in-3/ns1/README | 3 +
tests/system/ixfr/in-3/nsx2/README | 3 +
tests/system/ixfr/in-3/setup.sh.in | 29 +
tests/system/ixfr/in-3/tests.sh | 55 +
tests/system/ixfr/in-4/clean.sh | 1 +
tests/system/ixfr/in-4/ns1/README | 3 +
tests/system/ixfr/in-4/nsx2/README | 3 +
tests/system/ixfr/in-4/setup.sh.in | 30 +
tests/system/ixfr/in-4/tests.sh | 53 +
tests/system/ixfr/ixfr_init.sh.in | 330 ++++++
tests/system/ixfr/named_noixfr.conf | 41 +
tests/system/ixfr/named_nonotify.conf | 40 +
tests/system/ixfr/named_notify.conf | 41 +
tests/system/run.sh | 125 ---
tests/system/run.sh.in | 125 +++
tests/system/start.pl | 4 +-
44 files changed, 2996 insertions(+), 170 deletions(-)
create mode 100644 tests/system/common/rndc.conf
create mode 100644 tests/system/common/rndc.key
create mode 100644 tests/system/ixfr/README
create mode 100644 tests/system/ixfr/b10-config.db.in
create mode 100644 tests/system/ixfr/clean_ns.sh
create mode 100644 tests/system/ixfr/common_tests.sh.in
create mode 100644 tests/system/ixfr/db.example.common
create mode 100644 tests/system/ixfr/db.example.n0.in
create mode 100644 tests/system/ixfr/db.example.n2.in
create mode 100644 tests/system/ixfr/db.example.n2.refresh.in
create mode 100644 tests/system/ixfr/db.example.n4.in
create mode 100644 tests/system/ixfr/db.example.n6.in
create mode 120000 tests/system/ixfr/in-1/clean.sh
create mode 100644 tests/system/ixfr/in-1/ns1/README
create mode 100644 tests/system/ixfr/in-1/nsx2/README
create mode 100644 tests/system/ixfr/in-1/setup.sh.in
create mode 100644 tests/system/ixfr/in-1/tests.sh
create mode 120000 tests/system/ixfr/in-2/clean.sh
create mode 100644 tests/system/ixfr/in-2/ns1/README
create mode 100644 tests/system/ixfr/in-2/nsx2/README
create mode 100644 tests/system/ixfr/in-2/setup.sh.in
create mode 100644 tests/system/ixfr/in-2/tests.sh
create mode 120000 tests/system/ixfr/in-3/clean.sh
create mode 100644 tests/system/ixfr/in-3/ns1/README
create mode 100644 tests/system/ixfr/in-3/nsx2/README
create mode 100644 tests/system/ixfr/in-3/setup.sh.in
create mode 100644 tests/system/ixfr/in-3/tests.sh
create mode 120000 tests/system/ixfr/in-4/clean.sh
create mode 100644 tests/system/ixfr/in-4/ns1/README
create mode 100644 tests/system/ixfr/in-4/nsx2/README
create mode 100644 tests/system/ixfr/in-4/setup.sh.in
create mode 100644 tests/system/ixfr/in-4/tests.sh
create mode 100644 tests/system/ixfr/ixfr_init.sh.in
create mode 100644 tests/system/ixfr/named_noixfr.conf
create mode 100644 tests/system/ixfr/named_nonotify.conf
create mode 100644 tests/system/ixfr/named_notify.conf
delete mode 100755 tests/system/run.sh
create mode 100755 tests/system/run.sh.in
-----------------------------------------------------------------------
diff --git a/ChangeLog b/ChangeLog
index a179232..76e29bf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+301 [func] stephen
+ Add system test for IXFR over TCP.
+ (Trac #1213, git 68ee3818bcbecebf3e6789e81ea79d551a4ff3e8)
+
300. [func]* tomek
libdhcp: DHCP packet library was implemented. Currently it handles
packet reception, option parsing, option generation and output
diff --git a/configure.ac b/configure.ac
index 438883d..d14395c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -770,6 +770,8 @@ fi
#
AC_PATH_PROGS(PERL, perl5 perl)
AC_SUBST(PERL)
+AC_PATH_PROGS(AWK, gawk awk)
+AC_SUBST(AWK)
AC_ARG_ENABLE(man, [AC_HELP_STRING([--enable-man],
[regenerate man pages [default=no]])], enable_man=yes, enable_man=no)
@@ -967,9 +969,22 @@ AC_OUTPUT([doc/version.ent
src/lib/util/python/gen_wiredata.py
src/lib/server_common/tests/data_path.h
tests/system/conf.sh
+ tests/system/run.sh
tests/system/glue/setup.sh
tests/system/glue/nsx1/b10-config.db
tests/system/bindctl/nsx1/b10-config.db.template
+ tests/system/ixfr/db.example.n0
+ tests/system/ixfr/db.example.n2
+ tests/system/ixfr/db.example.n2.refresh
+ tests/system/ixfr/db.example.n4
+ tests/system/ixfr/db.example.n6
+ tests/system/ixfr/ixfr_init.sh
+ tests/system/ixfr/b10-config.db
+ tests/system/ixfr/common_tests.sh
+ tests/system/ixfr/in-1/setup.sh
+ tests/system/ixfr/in-2/setup.sh
+ tests/system/ixfr/in-3/setup.sh
+ tests/system/ixfr/in-4/setup.sh
], [
chmod +x src/bin/cmdctl/run_b10-cmdctl.sh
chmod +x src/bin/xfrin/run_b10-xfrin.sh
@@ -998,6 +1013,13 @@ AC_OUTPUT([doc/version.ent
chmod +x src/lib/util/python/gen_wiredata.py
chmod +x src/lib/python/isc/log/tests/log_console.py
chmod +x tests/system/conf.sh
+ chmod +x tests/system/run.sh
+ chmod +x tests/system/ixfr/ixfr_init.sh
+ chmod +x tests/system/ixfr/common_tests.sh
+ chmod +x tests/system/ixfr/in-1/setup.sh
+ chmod +x tests/system/ixfr/in-2/setup.sh
+ chmod +x tests/system/ixfr/in-3/setup.sh
+ chmod +x tests/system/ixfr/in-4/setup.sh
])
AC_OUTPUT
diff --git a/tests/system/README b/tests/system/README
index a43d49e..a1c0a97 100644
--- a/tests/system/README
+++ b/tests/system/README
@@ -5,48 +5,49 @@ See COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
This is a simple test environment for running BIND 10 system tests
involving multiple name servers. It was originally developed for BIND
9, and has been ported to test BIND 10 implementations. Ideally we
-should share the same framework for both versions, so some part of
-the original setup are kept, even though they are BIND 9 specific and
-not currently used.
+should share the same framework for both versions, so some part of the
+original setup are kept, even though they are BIND 9 specific and not
+currently used.
-Also, these tests generally rely on BIND 9 programs, most commonly its
-dig, and will sometimes be its name server (named). So, the test
+Also, these tests generally rely on BIND 9 programs, most commonly
+its dig, and will sometimes be its name server (named). So, the test
environment assumes that there's a source tree of BIND 9 where its
-programs are built, and that an environment variable "BIND9_TOP" is
-set to point to the top directory of the source tree.
+programs are built, and that an environment variable "BIND9_TOP" is set
+to point to the top directory of the source tree.
There are multiple test suites, each in a separate subdirectory and
involving a different DNS setup. They are:
bindctl/ Some basic management operations using the bindctl tool
- glue/ Glue handling tests
+ glue/ Glue handling tests
+ ixfr/ Incremental transfer tests
+
(the following tests are planned to be added soon)
- dnssec/ DNSSEC tests
+ dnssec/ DNSSEC tests
masterfile/ Master file parser
- xfer/ Zone transfer tests
+ axfr/ Full-transfer tests
Typically each test suite sets up 2-5 instances of BIND 10 (or BIND 9
-named) and then performs one or more tests against them. Within the
-test suite subdirectory, each instance has a separate subdirectory
-containing its configuration data. By convention, these
-subdirectories are named "nsx1", "nsx2", etc for BIND 10 ("x" means
-BIND 10), and "ns1", "ns2", etc. for BIND 9.
+named) and then performs one or more tests against them. Within the test
+suite subdirectory, each instance has a separate subdirectory containing
+its configuration data. By convention, these subdirectories are named
+"nsx1", "nsx2", etc for BIND 10 ("x" means BIND 10), and "ns1", "ns2",
+etc. for BIND 9.
The tests are completely self-contained and do not require access to
-the real DNS. Generally, one of the test servers (ns[x]1) is set up
-as a root name server and is listed in the hints file of the others.
+the real DNS. Generally, one of the test servers (ns[x]1) is set up as
+a root name server and is listed in the hints file of the others.
-To enable all servers to run on the same machine, they bind to
-separate virtual IP address on the loopback interface. ns[x]1 runs on
-10.53.0.1, ns[x]2 on 10.53.0.2, etc. Before running any tests, you
-must set up these addresses by running "ifconfig.sh up" as root.
+To enable all servers to run on the same machine, they bind to separate
+virtual IP address on the loopback interface. ns[x]1 runs on 10.53.0.1,
+ns[x]2 on 10.53.0.2, etc. Before running any tests, you must set up
+these addresses by running "ifconfig.sh up" as root.
Mac OS X:
-If you wish to make the interfaces survive across reboots
-copy org.isc.bind.system and org.isc.bind.system to
-/Library/LaunchDaemons then run
-"launchctl load /Library/LaunchDaemons/org.isc.bind.system.plist" as
-root.
+If you wish to make the interfaces survive across reboots copy
+org.isc.bind.system and org.isc.bind.system to /Library/LaunchDaemons
+then run "launchctl load /Library/LaunchDaemons/org.isc.bind.system.plist"
+as root.
The servers use port 53210 instead of the usual port 53, so they can be
run without root privileges once the interfaces have been set up.
diff --git a/tests/system/cleanall.sh b/tests/system/cleanall.sh
index d23d103..434c6b1 100755
--- a/tests/system/cleanall.sh
+++ b/tests/system/cleanall.sh
@@ -27,7 +27,7 @@ find . -type f \( \
status=0
-for d in ./.* ./*
+for d in ./.* ./* ./*/*
do
case $d in ./.|./..) continue ;; esac
test -d $d || continue
diff --git a/tests/system/common/rndc.conf b/tests/system/common/rndc.conf
new file mode 100644
index 0000000..a897548
--- /dev/null
+++ b/tests/system/common/rndc.conf
@@ -0,0 +1,25 @@
+/*
+ * 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.
+ */
+
+options {
+ default-key "rndc_key";
+};
+
+key rndc_key {
+ algorithm hmac-md5;
+ secret "1234abcd8765";
+};
diff --git a/tests/system/common/rndc.key b/tests/system/common/rndc.key
new file mode 100644
index 0000000..c2c3457
--- /dev/null
+++ b/tests/system/common/rndc.key
@@ -0,0 +1,22 @@
+/*
+ * 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.
+ */
+
+/* $Id: rndc.key,v 1.3 2011-03-12 04:59:47 tbox Exp $ */
+
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-md5;
+};
diff --git a/tests/system/conf.sh.in b/tests/system/conf.sh.in
index 66aa3f5..92f72fa 100755
--- a/tests/system/conf.sh.in
+++ b/tests/system/conf.sh.in
@@ -35,23 +35,36 @@ if [ -z $BIND9_TOP ]; then
fi
# Find the top of the source and test trees.
-TOP=@abs_top_srcdir@
-TEST_TOP=@abs_builddir@
-
-RUN_BIND10=$TOP/src/bin/bind10/run_bind10.sh
-RUN_BINDCTL=$TOP/src/bin/bindctl/run_bindctl.sh
-BINDCTL_CSV_DIR=@abs_srcdir@/common/
-B10_LOADZONE=$TOP/src/bin/loadzone/run_loadzone.sh
-BIND9_NAMED=$BIND9_TOP/bin/named/named
-DIG=$BIND9_TOP/bin/dig/dig
+export TOP=@abs_top_srcdir@
+export TEST_TOP=@abs_builddir@
+
+# Programs
+export RUN_BIND10=$TOP/src/bin/bind10/run_bind10.sh
+export RUN_BINDCTL=$TOP/src/bin/bindctl/run_bindctl.sh
+export BINDCTL_CSV_DIR=@abs_srcdir@/common/
+export B10_LOADZONE=$TOP/src/bin/loadzone/run_loadzone.sh
+export BIND9_NAMED=$BIND9_TOP/bin/named/named
+export DIG=$BIND9_TOP/bin/dig/dig
+export RNDC=$BIND9_TOP/bin/rndc/rndc
+
# Test tools borrowed from BIND 9's system test (without change).
-TESTSOCK=$BIND9_TOP/bin/tests/system/testsock.pl
-DIGCOMP=$BIND9_TOP/bin/tests/system/digcomp.pl
+export TESTSOCK=$BIND9_TOP/bin/tests/system/testsock.pl
+export DIGCOMP=$BIND9_TOP/bin/tests/system/digcomp.pl
+
+export SUBDIRS="bindctl glue ixfr/in-2"
+# Add appropriate subdirectories to the above statement as the tests become
+# available.
+#SUBDIRS="dnssec masterfile ixfr/in-1 ixfr/in-2 ixfr/in-4"
-SUBDIRS="bindctl glue"
-#SUBDIRS="dnssec masterfile xfer"
+# PERL will be an empty string if no perl interpreter was found. A similar
+# comment applies to AWK.
+export PERL=@PERL@
+export AWK=@AWK@
-# PERL will be an empty string if no perl interpreter was found.
-PERL=@PERL@
+# Other constants
+export RNDC_PORT=9953
+export DNS_PORT=53210
-export RUN_BIND10 BIND9_NAMED DIG SUBDIRS PERL TESTSOCK
+export TESTS_TOP=$TOP/tests
+export SYSTEM_TOP=$TESTS_TOP/system
+export IXFR_TOP=$SYSTEM_TOP/ixfr
diff --git a/tests/system/ixfr/README b/tests/system/ixfr/README
new file mode 100644
index 0000000..51cba8a
--- /dev/null
+++ b/tests/system/ixfr/README
@@ -0,0 +1,86 @@
+Introduction
+============
+The directories in-1 to in-4 implement the following tests of the IXFR-in
+capability of BIND 10.
+
+in-1: Check that BIND 10 can receive IXFR in a single UDP packet.
+in-2: Check that BIND 10 can receive IXFR via TCP.
+in-3: Check that BIND 10 will request AXFR if the server does not support IXFR.
+in-4: Check that BIND 10 will request IXFR when its SOA refresh times out
+
+The tests are described more fully in the document:
+
+http://bind10.isc.org/wiki/IxfrSystemTests
+
+Overview
+========
+All the tests use two nameservers:
+
+* A BIND 9 nameserver acting as the IXFR server (using the nomenclature
+of RFC 1995).
+* A BIND 10 nameserver acting at the IXFR client.
+
+In general, the tests attempt to set up the server and client independently.
+Communication is established between the systems by updating their
+configurations and a notification sent to the client. This should cause the
+client to request an IXFR from the server. (The exception is test 4, where the
+request is a result of the expiration of the SOA refresh time.)
+
+A check of zone files - or in these tests, of SOA serial number - can only
+reveal that a transfer has taken place. To check what has happened,
+e.g. whether the transfer was via UDP or whether a TCP request took place,
+the BIND 10 log file is searched for known message IDs.
+
+The searching of the log files for message IDs is one of the reasons that,
+unlike other system tests, the IXFR set of tests is broken up into separate
+tests that require the stopping and starting of nameservers (and tidying up of
+log files) between each test. Doing this means that only the existence of a
+particular message ID needs to be checked - there is no risk that another test
+produced it. The other reason is that the each IXFR test requires the
+nameservers to be in a specific state at the start of the test; this is easier
+to assure if they are not updating one another as the result of configuration
+settings established in the previous test.
+
+Test Files
+==========
+
+Data Files
+----------
+(All within tests/system/ixfr. Some .in files are processed to substitute
+for build variables in the build process to give the files listed here.)
+
+db.example.nX. These files hold the RRs for a zone for which should not
+fit within a single UDP packet. The files are different versions of the zone
+- the N-0 version (i.e. the latest version - "N" - the "-0" is present so
+that the files have a consistent name), N-2 etc. (See the full description
+of the tests for the meaning of N-2 etc.)
+
+db.example.common: A set of RRs to bulk out the zone to be larger than can
+be contained in a single UDP packet.
+
+db.example.n2.refresh: The N-2 version of the zone, but with a small SOA
+refresh time (for test 4).
+
+named_xxxx.conf: Various BIND 9 configuration files with NOTIFYs and/or
+IXFR enabled or disabled.
+
+Directories
+-----------
+The tests/system/ixfr directory holds the IXFR tests. Within that
+directory are subdirectories in-1 through in-4 for each test. And within
+each test directory are the directories ns1 (for the BIND 9 nameserver)
+and nsx2 (for the BIND 10 nameserver).
+
+Shell Scripts
+-------------
+The IXFR tests use the same framework as the rest of the system tests,
+being based around shell scripts. Many have a ".in" form as they require
+substitution of build variables before they can be used, and so are
+listed in configure.ac. The files specific to the IXFR tests are:
+
+tests/system/ixfr/ixfr_init.sh.in: defines environment variables and shell
+subroutines used in the tests. (This references system/conf.sh.in which
+defines most of them.)
+
+tests/system/ixfr/common_tests.sh.in: tests in-1 and in-2 are virtually
+identical - this holds the common code.
diff --git a/tests/system/ixfr/b10-config.db.in b/tests/system/ixfr/b10-config.db.in
new file mode 100644
index 0000000..f83a672
--- /dev/null
+++ b/tests/system/ixfr/b10-config.db.in
@@ -0,0 +1,22 @@
+{"version": 2,
+ "Xfrin": {
+ "zones": [{
+ "master_addr": "10.53.0.1",
+ "master_port": 53210,
+ "name": "example."
+ }]
+ },
+ "Auth": {
+ "listen_on": [{
+ "address": "10.53.0.2",
+ "port": 53210
+ }],
+ "database_file": "@abs_builddir@/zone.sqlite3"
+ },
+ "Zonemgr": {
+ "secondary_zones": [{
+ "name": "example.",
+ "class": "IN"
+ }]
+ }
+}
diff --git a/tests/system/ixfr/clean_ns.sh b/tests/system/ixfr/clean_ns.sh
new file mode 100644
index 0000000..88f4ff1
--- /dev/null
+++ b/tests/system/ixfr/clean_ns.sh
@@ -0,0 +1,28 @@
+#!/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.
+
+# Clean up nameserver directories after zone transfer tests.
+
+rm -f ns1/named.conf
+rm -f ns1/db.example*
+rm -f ns1/named.memstats
+
+rm -f nsx2/bind10.run
+rm -f nsx2/b10-config.db
+rm -f ../zone.sqlite3
+
+rm -f client.dig
+rm -f server.dig
diff --git a/tests/system/ixfr/common_tests.sh.in b/tests/system/ixfr/common_tests.sh.in
new file mode 100644
index 0000000..90d0284
--- /dev/null
+++ b/tests/system/ixfr/common_tests.sh.in
@@ -0,0 +1,78 @@
+#!/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.
+
+# \file
+# This script is used in a couple of IXFR tests.
+#
+# Preconditions:\n
+# The BIND 9 nameserver (ns1, 10.53.0.1, acting as the IXFR server) is loaded
+# with the N-4 version of the zone. (It may hold prior versions as well.)
+# Notifications are disabled.
+#
+# The BIND 10 nameserver (nsx2, 10.53.0.2, acting as the IXFR client) is loaded
+# with an earlier (unspecified) version of the zone.
+#
+# Actions:\n
+# This script updates the IXFR server with the N-2 and N-0 versions of the zone.
+# It then updates the BIND 10 configuration so that it looks for IXFRs from
+# the IXFR server and causes the server to send the client a NOTIFY. After
+# waiting for the client to update from the server, it compares ther zones of
+# the two system, reporting an error if they are different.
+#
+# Caller Actions:\n
+# The caller can pre-load the BIND 10 IXFR client with whatever version of the
+# zone it requires. It can also load the BIND 9 IXFR server with zones earlier
+# than N-4.
+#
+# After this test has finished, it is up to the caller to check the logs
+# to see if they report the expected behavior.
+#
+# \return 0 if the script executed successfully, non-zero otherwise
+
+# Set up variables etc.
+. @abs_top_builddir@/tests/system/conf.sh
+. $IXFR_TOP/ixfr_init.sh
+
+set -e
+
+# Store the SOA serial number of the BIND 10 client for later use.
+old_client_serial=`$DIG_SOA @$CLIENT_IP | $AWK '{print $3}'`
+echo "I:$CLIENT_NAME SOA serial of IXFR client is $old_client_serial"
+
+# Load the BIND 9 system (the IXFR server) with the "n - 2" and "n" version of
+# the zones. With ixfr-from-differences set to "yes", the nameserver should
+# generate the differences between them.
+echo "I:$SERVER_NAME updating IXFR-server for ixfr-in tests"
+update_server_zone $SERVER_NAME $SERVER_IP $IXFR_TOP/db.example.n2
+
+# Wait a bit - it seems that if two updates are loaded in quick succession,
+# the second sometimes gets lost.
+sleep 5
+update_server_zone $SERVER_NAME $SERVER_IP $IXFR_TOP/db.example.n0
+
+echo "I:$CLIENT_NAME forcing IXFR client to retrieve new version of the zone"
+$RUN_BINDCTL << .
+Xfrin retransfer zone_name="example"
+.
+
+# Wait for the client to update itself.
+wait_for_update $CLIENT_NAME $CLIENT_IP $old_client_serial
+
+# Has updated, compare the client and server's versions of the zone s- they
+# should be the same.
+compare_zones $SERVER_NAME $SERVER_IP $CLIENT_NAME $CLIENT_IP
+
+set +e
diff --git a/tests/system/ixfr/db.example.common b/tests/system/ixfr/db.example.common
new file mode 100644
index 0000000..90435ce
--- /dev/null
+++ b/tests/system/ixfr/db.example.common
@@ -0,0 +1,1556 @@
+; 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.
+
+; This files holds a number of AAAA records to bulk out a zone file beyond
+; 16kB. It is used in tests where it is required that the contents of a zone
+; do not fit into a single UDP packet.
+
+aaaa-000 IN AAAA 2001:db8::0000
+aaaa-001 IN AAAA 2001:db8::0001
+aaaa-002 IN AAAA 2001:db8::0002
+aaaa-003 IN AAAA 2001:db8::0003
+aaaa-004 IN AAAA 2001:db8::0004
+aaaa-005 IN AAAA 2001:db8::0005
+aaaa-006 IN AAAA 2001:db8::0006
+aaaa-007 IN AAAA 2001:db8::0007
+aaaa-008 IN AAAA 2001:db8::0008
+aaaa-009 IN AAAA 2001:db8::0009
+aaaa-010 IN AAAA 2001:db8::000a
+aaaa-011 IN AAAA 2001:db8::000b
+aaaa-012 IN AAAA 2001:db8::000c
+aaaa-013 IN AAAA 2001:db8::000d
+aaaa-014 IN AAAA 2001:db8::000e
+aaaa-015 IN AAAA 2001:db8::000f
+aaaa-016 IN AAAA 2001:db8::0010
+aaaa-017 IN AAAA 2001:db8::0011
+aaaa-018 IN AAAA 2001:db8::0012
+aaaa-019 IN AAAA 2001:db8::0013
+aaaa-020 IN AAAA 2001:db8::0014
+aaaa-021 IN AAAA 2001:db8::0015
+aaaa-022 IN AAAA 2001:db8::0016
+aaaa-023 IN AAAA 2001:db8::0017
+aaaa-024 IN AAAA 2001:db8::0018
+aaaa-025 IN AAAA 2001:db8::0019
+aaaa-026 IN AAAA 2001:db8::001a
+aaaa-027 IN AAAA 2001:db8::001b
+aaaa-028 IN AAAA 2001:db8::001c
+aaaa-029 IN AAAA 2001:db8::001d
+aaaa-030 IN AAAA 2001:db8::001e
+aaaa-031 IN AAAA 2001:db8::001f
+aaaa-032 IN AAAA 2001:db8::0020
+aaaa-033 IN AAAA 2001:db8::0021
+aaaa-034 IN AAAA 2001:db8::0022
+aaaa-035 IN AAAA 2001:db8::0023
+aaaa-036 IN AAAA 2001:db8::0024
+aaaa-037 IN AAAA 2001:db8::0025
+aaaa-038 IN AAAA 2001:db8::0026
+aaaa-039 IN AAAA 2001:db8::0027
+aaaa-040 IN AAAA 2001:db8::0028
+aaaa-041 IN AAAA 2001:db8::0029
+aaaa-042 IN AAAA 2001:db8::002a
+aaaa-043 IN AAAA 2001:db8::002b
+aaaa-044 IN AAAA 2001:db8::002c
+aaaa-045 IN AAAA 2001:db8::002d
+aaaa-046 IN AAAA 2001:db8::002e
+aaaa-047 IN AAAA 2001:db8::002f
+aaaa-048 IN AAAA 2001:db8::0030
+aaaa-049 IN AAAA 2001:db8::0031
+aaaa-050 IN AAAA 2001:db8::0032
+aaaa-051 IN AAAA 2001:db8::0033
+aaaa-052 IN AAAA 2001:db8::0034
+aaaa-053 IN AAAA 2001:db8::0035
+aaaa-054 IN AAAA 2001:db8::0036
+aaaa-055 IN AAAA 2001:db8::0037
+aaaa-056 IN AAAA 2001:db8::0038
+aaaa-057 IN AAAA 2001:db8::0039
+aaaa-058 IN AAAA 2001:db8::003a
+aaaa-059 IN AAAA 2001:db8::003b
+aaaa-060 IN AAAA 2001:db8::003c
+aaaa-061 IN AAAA 2001:db8::003d
+aaaa-062 IN AAAA 2001:db8::003e
+aaaa-063 IN AAAA 2001:db8::003f
+aaaa-064 IN AAAA 2001:db8::0040
+aaaa-065 IN AAAA 2001:db8::0041
+aaaa-066 IN AAAA 2001:db8::0042
+aaaa-067 IN AAAA 2001:db8::0043
+aaaa-068 IN AAAA 2001:db8::0044
+aaaa-069 IN AAAA 2001:db8::0045
+aaaa-070 IN AAAA 2001:db8::0046
+aaaa-071 IN AAAA 2001:db8::0047
+aaaa-072 IN AAAA 2001:db8::0048
+aaaa-073 IN AAAA 2001:db8::0049
+aaaa-074 IN AAAA 2001:db8::004a
+aaaa-075 IN AAAA 2001:db8::004b
+aaaa-076 IN AAAA 2001:db8::004c
+aaaa-077 IN AAAA 2001:db8::004d
+aaaa-078 IN AAAA 2001:db8::004e
+aaaa-079 IN AAAA 2001:db8::004f
+aaaa-080 IN AAAA 2001:db8::0050
+aaaa-081 IN AAAA 2001:db8::0051
+aaaa-082 IN AAAA 2001:db8::0052
+aaaa-083 IN AAAA 2001:db8::0053
+aaaa-084 IN AAAA 2001:db8::0054
+aaaa-085 IN AAAA 2001:db8::0055
+aaaa-086 IN AAAA 2001:db8::0056
+aaaa-087 IN AAAA 2001:db8::0057
+aaaa-088 IN AAAA 2001:db8::0058
+aaaa-089 IN AAAA 2001:db8::0059
+aaaa-090 IN AAAA 2001:db8::005a
+aaaa-091 IN AAAA 2001:db8::005b
+aaaa-092 IN AAAA 2001:db8::005c
+aaaa-093 IN AAAA 2001:db8::005d
+aaaa-094 IN AAAA 2001:db8::005e
+aaaa-095 IN AAAA 2001:db8::005f
+aaaa-096 IN AAAA 2001:db8::0060
+aaaa-097 IN AAAA 2001:db8::0061
+aaaa-098 IN AAAA 2001:db8::0062
+aaaa-099 IN AAAA 2001:db8::0063
+aaaa-100 IN AAAA 2001:db8::0064
+aaaa-101 IN AAAA 2001:db8::0065
+aaaa-102 IN AAAA 2001:db8::0066
+aaaa-103 IN AAAA 2001:db8::0067
+aaaa-104 IN AAAA 2001:db8::0068
+aaaa-105 IN AAAA 2001:db8::0069
+aaaa-106 IN AAAA 2001:db8::006a
+aaaa-107 IN AAAA 2001:db8::006b
+aaaa-108 IN AAAA 2001:db8::006c
+aaaa-109 IN AAAA 2001:db8::006d
+aaaa-110 IN AAAA 2001:db8::006e
+aaaa-111 IN AAAA 2001:db8::006f
+aaaa-112 IN AAAA 2001:db8::0070
+aaaa-113 IN AAAA 2001:db8::0071
+aaaa-114 IN AAAA 2001:db8::0072
+aaaa-115 IN AAAA 2001:db8::0073
+aaaa-116 IN AAAA 2001:db8::0074
+aaaa-117 IN AAAA 2001:db8::0075
+aaaa-118 IN AAAA 2001:db8::0076
+aaaa-119 IN AAAA 2001:db8::0077
+aaaa-120 IN AAAA 2001:db8::0078
+aaaa-121 IN AAAA 2001:db8::0079
+aaaa-122 IN AAAA 2001:db8::007a
+aaaa-123 IN AAAA 2001:db8::007b
+aaaa-124 IN AAAA 2001:db8::007c
+aaaa-125 IN AAAA 2001:db8::007d
+aaaa-126 IN AAAA 2001:db8::007e
+aaaa-127 IN AAAA 2001:db8::007f
+aaaa-128 IN AAAA 2001:db8::0080
+aaaa-129 IN AAAA 2001:db8::0081
+aaaa-130 IN AAAA 2001:db8::0082
+aaaa-131 IN AAAA 2001:db8::0083
+aaaa-132 IN AAAA 2001:db8::0084
+aaaa-133 IN AAAA 2001:db8::0085
+aaaa-134 IN AAAA 2001:db8::0086
+aaaa-135 IN AAAA 2001:db8::0087
+aaaa-136 IN AAAA 2001:db8::0088
+aaaa-137 IN AAAA 2001:db8::0089
+aaaa-138 IN AAAA 2001:db8::008a
+aaaa-139 IN AAAA 2001:db8::008b
+aaaa-140 IN AAAA 2001:db8::008c
+aaaa-141 IN AAAA 2001:db8::008d
+aaaa-142 IN AAAA 2001:db8::008e
+aaaa-143 IN AAAA 2001:db8::008f
+aaaa-144 IN AAAA 2001:db8::0090
+aaaa-145 IN AAAA 2001:db8::0091
+aaaa-146 IN AAAA 2001:db8::0092
+aaaa-147 IN AAAA 2001:db8::0093
+aaaa-148 IN AAAA 2001:db8::0094
+aaaa-149 IN AAAA 2001:db8::0095
+aaaa-150 IN AAAA 2001:db8::0096
+aaaa-151 IN AAAA 2001:db8::0097
+aaaa-152 IN AAAA 2001:db8::0098
+aaaa-153 IN AAAA 2001:db8::0099
+aaaa-154 IN AAAA 2001:db8::009a
+aaaa-155 IN AAAA 2001:db8::009b
+aaaa-156 IN AAAA 2001:db8::009c
+aaaa-157 IN AAAA 2001:db8::009d
+aaaa-158 IN AAAA 2001:db8::009e
+aaaa-159 IN AAAA 2001:db8::009f
+aaaa-160 IN AAAA 2001:db8::00a0
+aaaa-161 IN AAAA 2001:db8::00a1
+aaaa-162 IN AAAA 2001:db8::00a2
+aaaa-163 IN AAAA 2001:db8::00a3
+aaaa-164 IN AAAA 2001:db8::00a4
+aaaa-165 IN AAAA 2001:db8::00a5
+aaaa-166 IN AAAA 2001:db8::00a6
+aaaa-167 IN AAAA 2001:db8::00a7
+aaaa-168 IN AAAA 2001:db8::00a8
+aaaa-169 IN AAAA 2001:db8::00a9
+aaaa-170 IN AAAA 2001:db8::00aa
+aaaa-171 IN AAAA 2001:db8::00ab
+aaaa-172 IN AAAA 2001:db8::00ac
+aaaa-173 IN AAAA 2001:db8::00ad
+aaaa-174 IN AAAA 2001:db8::00ae
+aaaa-175 IN AAAA 2001:db8::00af
+aaaa-176 IN AAAA 2001:db8::00b0
+aaaa-177 IN AAAA 2001:db8::00b1
+aaaa-178 IN AAAA 2001:db8::00b2
+aaaa-179 IN AAAA 2001:db8::00b3
+aaaa-180 IN AAAA 2001:db8::00b4
+aaaa-181 IN AAAA 2001:db8::00b5
+aaaa-182 IN AAAA 2001:db8::00b6
+aaaa-183 IN AAAA 2001:db8::00b7
+aaaa-184 IN AAAA 2001:db8::00b8
+aaaa-185 IN AAAA 2001:db8::00b9
+aaaa-186 IN AAAA 2001:db8::00ba
+aaaa-187 IN AAAA 2001:db8::00bb
+aaaa-188 IN AAAA 2001:db8::00bc
+aaaa-189 IN AAAA 2001:db8::00bd
+aaaa-190 IN AAAA 2001:db8::00be
+aaaa-191 IN AAAA 2001:db8::00bf
+aaaa-192 IN AAAA 2001:db8::00c0
+aaaa-193 IN AAAA 2001:db8::00c1
+aaaa-194 IN AAAA 2001:db8::00c2
+aaaa-195 IN AAAA 2001:db8::00c3
+aaaa-196 IN AAAA 2001:db8::00c4
+aaaa-197 IN AAAA 2001:db8::00c5
+aaaa-198 IN AAAA 2001:db8::00c6
+aaaa-199 IN AAAA 2001:db8::00c7
+aaaa-200 IN AAAA 2001:db8::00c8
+aaaa-201 IN AAAA 2001:db8::00c9
+aaaa-202 IN AAAA 2001:db8::00ca
+aaaa-203 IN AAAA 2001:db8::00cb
+aaaa-204 IN AAAA 2001:db8::00cc
+aaaa-205 IN AAAA 2001:db8::00cd
+aaaa-206 IN AAAA 2001:db8::00ce
+aaaa-207 IN AAAA 2001:db8::00cf
+aaaa-208 IN AAAA 2001:db8::00d0
+aaaa-209 IN AAAA 2001:db8::00d1
+aaaa-210 IN AAAA 2001:db8::00d2
+aaaa-211 IN AAAA 2001:db8::00d3
+aaaa-212 IN AAAA 2001:db8::00d4
+aaaa-213 IN AAAA 2001:db8::00d5
+aaaa-214 IN AAAA 2001:db8::00d6
+aaaa-215 IN AAAA 2001:db8::00d7
+aaaa-216 IN AAAA 2001:db8::00d8
+aaaa-217 IN AAAA 2001:db8::00d9
+aaaa-218 IN AAAA 2001:db8::00da
+aaaa-219 IN AAAA 2001:db8::00db
+aaaa-220 IN AAAA 2001:db8::00dc
+aaaa-221 IN AAAA 2001:db8::00dd
+aaaa-222 IN AAAA 2001:db8::00de
+aaaa-223 IN AAAA 2001:db8::00df
+aaaa-224 IN AAAA 2001:db8::00e0
+aaaa-225 IN AAAA 2001:db8::00e1
+aaaa-226 IN AAAA 2001:db8::00e2
+aaaa-227 IN AAAA 2001:db8::00e3
+aaaa-228 IN AAAA 2001:db8::00e4
+aaaa-229 IN AAAA 2001:db8::00e5
+aaaa-230 IN AAAA 2001:db8::00e6
+aaaa-231 IN AAAA 2001:db8::00e7
+aaaa-232 IN AAAA 2001:db8::00e8
+aaaa-233 IN AAAA 2001:db8::00e9
+aaaa-234 IN AAAA 2001:db8::00ea
+aaaa-235 IN AAAA 2001:db8::00eb
+aaaa-236 IN AAAA 2001:db8::00ec
+aaaa-237 IN AAAA 2001:db8::00ed
+aaaa-238 IN AAAA 2001:db8::00ee
+aaaa-239 IN AAAA 2001:db8::00ef
+aaaa-240 IN AAAA 2001:db8::00f0
+aaaa-241 IN AAAA 2001:db8::00f1
+aaaa-242 IN AAAA 2001:db8::00f2
+aaaa-243 IN AAAA 2001:db8::00f3
+aaaa-244 IN AAAA 2001:db8::00f4
+aaaa-245 IN AAAA 2001:db8::00f5
+aaaa-246 IN AAAA 2001:db8::00f6
+aaaa-247 IN AAAA 2001:db8::00f7
+aaaa-248 IN AAAA 2001:db8::00f8
+aaaa-249 IN AAAA 2001:db8::00f9
+aaaa-250 IN AAAA 2001:db8::00fa
+aaaa-251 IN AAAA 2001:db8::00fb
+aaaa-252 IN AAAA 2001:db8::00fc
+aaaa-253 IN AAAA 2001:db8::00fd
+aaaa-254 IN AAAA 2001:db8::00fe
+aaaa-255 IN AAAA 2001:db8::00ff
+aaaa-256 IN AAAA 2001:db8::0100
+aaaa-257 IN AAAA 2001:db8::0101
+aaaa-258 IN AAAA 2001:db8::0102
+aaaa-259 IN AAAA 2001:db8::0103
+aaaa-260 IN AAAA 2001:db8::0104
+aaaa-261 IN AAAA 2001:db8::0105
+aaaa-262 IN AAAA 2001:db8::0106
+aaaa-263 IN AAAA 2001:db8::0107
+aaaa-264 IN AAAA 2001:db8::0108
+aaaa-265 IN AAAA 2001:db8::0109
+aaaa-266 IN AAAA 2001:db8::010a
+aaaa-267 IN AAAA 2001:db8::010b
+aaaa-268 IN AAAA 2001:db8::010c
+aaaa-269 IN AAAA 2001:db8::010d
+aaaa-270 IN AAAA 2001:db8::010e
+aaaa-271 IN AAAA 2001:db8::010f
+aaaa-272 IN AAAA 2001:db8::0110
+aaaa-273 IN AAAA 2001:db8::0111
+aaaa-274 IN AAAA 2001:db8::0112
+aaaa-275 IN AAAA 2001:db8::0113
+aaaa-276 IN AAAA 2001:db8::0114
+aaaa-277 IN AAAA 2001:db8::0115
+aaaa-278 IN AAAA 2001:db8::0116
+aaaa-279 IN AAAA 2001:db8::0117
+aaaa-280 IN AAAA 2001:db8::0118
+aaaa-281 IN AAAA 2001:db8::0119
+aaaa-282 IN AAAA 2001:db8::011a
+aaaa-283 IN AAAA 2001:db8::011b
+aaaa-284 IN AAAA 2001:db8::011c
+aaaa-285 IN AAAA 2001:db8::011d
+aaaa-286 IN AAAA 2001:db8::011e
+aaaa-287 IN AAAA 2001:db8::011f
+aaaa-288 IN AAAA 2001:db8::0120
+aaaa-289 IN AAAA 2001:db8::0121
+aaaa-290 IN AAAA 2001:db8::0122
+aaaa-291 IN AAAA 2001:db8::0123
+aaaa-292 IN AAAA 2001:db8::0124
+aaaa-293 IN AAAA 2001:db8::0125
+aaaa-294 IN AAAA 2001:db8::0126
+aaaa-295 IN AAAA 2001:db8::0127
+aaaa-296 IN AAAA 2001:db8::0128
+aaaa-297 IN AAAA 2001:db8::0129
+aaaa-298 IN AAAA 2001:db8::012a
+aaaa-299 IN AAAA 2001:db8::012b
+aaaa-300 IN AAAA 2001:db8::012c
+aaaa-301 IN AAAA 2001:db8::012d
+aaaa-302 IN AAAA 2001:db8::012e
+aaaa-303 IN AAAA 2001:db8::012f
+aaaa-304 IN AAAA 2001:db8::0130
+aaaa-305 IN AAAA 2001:db8::0131
+aaaa-306 IN AAAA 2001:db8::0132
+aaaa-307 IN AAAA 2001:db8::0133
+aaaa-308 IN AAAA 2001:db8::0134
+aaaa-309 IN AAAA 2001:db8::0135
+aaaa-310 IN AAAA 2001:db8::0136
+aaaa-311 IN AAAA 2001:db8::0137
+aaaa-312 IN AAAA 2001:db8::0138
+aaaa-313 IN AAAA 2001:db8::0139
+aaaa-314 IN AAAA 2001:db8::013a
+aaaa-315 IN AAAA 2001:db8::013b
+aaaa-316 IN AAAA 2001:db8::013c
+aaaa-317 IN AAAA 2001:db8::013d
+aaaa-318 IN AAAA 2001:db8::013e
+aaaa-319 IN AAAA 2001:db8::013f
+aaaa-320 IN AAAA 2001:db8::0140
+aaaa-321 IN AAAA 2001:db8::0141
+aaaa-322 IN AAAA 2001:db8::0142
+aaaa-323 IN AAAA 2001:db8::0143
+aaaa-324 IN AAAA 2001:db8::0144
+aaaa-325 IN AAAA 2001:db8::0145
+aaaa-326 IN AAAA 2001:db8::0146
+aaaa-327 IN AAAA 2001:db8::0147
+aaaa-328 IN AAAA 2001:db8::0148
+aaaa-329 IN AAAA 2001:db8::0149
+aaaa-330 IN AAAA 2001:db8::014a
+aaaa-331 IN AAAA 2001:db8::014b
+aaaa-332 IN AAAA 2001:db8::014c
+aaaa-333 IN AAAA 2001:db8::014d
+aaaa-334 IN AAAA 2001:db8::014e
+aaaa-335 IN AAAA 2001:db8::014f
+aaaa-336 IN AAAA 2001:db8::0150
+aaaa-337 IN AAAA 2001:db8::0151
+aaaa-338 IN AAAA 2001:db8::0152
+aaaa-339 IN AAAA 2001:db8::0153
+aaaa-340 IN AAAA 2001:db8::0154
+aaaa-341 IN AAAA 2001:db8::0155
+aaaa-342 IN AAAA 2001:db8::0156
+aaaa-343 IN AAAA 2001:db8::0157
+aaaa-344 IN AAAA 2001:db8::0158
+aaaa-345 IN AAAA 2001:db8::0159
+aaaa-346 IN AAAA 2001:db8::015a
+aaaa-347 IN AAAA 2001:db8::015b
+aaaa-348 IN AAAA 2001:db8::015c
+aaaa-349 IN AAAA 2001:db8::015d
+aaaa-350 IN AAAA 2001:db8::015e
+aaaa-351 IN AAAA 2001:db8::015f
+aaaa-352 IN AAAA 2001:db8::0160
+aaaa-353 IN AAAA 2001:db8::0161
+aaaa-354 IN AAAA 2001:db8::0162
+aaaa-355 IN AAAA 2001:db8::0163
+aaaa-356 IN AAAA 2001:db8::0164
+aaaa-357 IN AAAA 2001:db8::0165
+aaaa-358 IN AAAA 2001:db8::0166
+aaaa-359 IN AAAA 2001:db8::0167
+aaaa-360 IN AAAA 2001:db8::0168
+aaaa-361 IN AAAA 2001:db8::0169
+aaaa-362 IN AAAA 2001:db8::016a
+aaaa-363 IN AAAA 2001:db8::016b
+aaaa-364 IN AAAA 2001:db8::016c
+aaaa-365 IN AAAA 2001:db8::016d
+aaaa-366 IN AAAA 2001:db8::016e
+aaaa-367 IN AAAA 2001:db8::016f
+aaaa-368 IN AAAA 2001:db8::0170
+aaaa-369 IN AAAA 2001:db8::0171
+aaaa-370 IN AAAA 2001:db8::0172
+aaaa-371 IN AAAA 2001:db8::0173
+aaaa-372 IN AAAA 2001:db8::0174
+aaaa-373 IN AAAA 2001:db8::0175
+aaaa-374 IN AAAA 2001:db8::0176
+aaaa-375 IN AAAA 2001:db8::0177
+aaaa-376 IN AAAA 2001:db8::0178
+aaaa-377 IN AAAA 2001:db8::0179
+aaaa-378 IN AAAA 2001:db8::017a
+aaaa-379 IN AAAA 2001:db8::017b
+aaaa-380 IN AAAA 2001:db8::017c
+aaaa-381 IN AAAA 2001:db8::017d
+aaaa-382 IN AAAA 2001:db8::017e
+aaaa-383 IN AAAA 2001:db8::017f
+aaaa-384 IN AAAA 2001:db8::0180
+aaaa-385 IN AAAA 2001:db8::0181
+aaaa-386 IN AAAA 2001:db8::0182
+aaaa-387 IN AAAA 2001:db8::0183
+aaaa-388 IN AAAA 2001:db8::0184
+aaaa-389 IN AAAA 2001:db8::0185
+aaaa-390 IN AAAA 2001:db8::0186
+aaaa-391 IN AAAA 2001:db8::0187
+aaaa-392 IN AAAA 2001:db8::0188
+aaaa-393 IN AAAA 2001:db8::0189
+aaaa-394 IN AAAA 2001:db8::018a
+aaaa-395 IN AAAA 2001:db8::018b
+aaaa-396 IN AAAA 2001:db8::018c
+aaaa-397 IN AAAA 2001:db8::018d
+aaaa-398 IN AAAA 2001:db8::018e
+aaaa-399 IN AAAA 2001:db8::018f
+aaaa-400 IN AAAA 2001:db8::0190
+aaaa-401 IN AAAA 2001:db8::0191
+aaaa-402 IN AAAA 2001:db8::0192
+aaaa-403 IN AAAA 2001:db8::0193
+aaaa-404 IN AAAA 2001:db8::0194
+aaaa-405 IN AAAA 2001:db8::0195
+aaaa-406 IN AAAA 2001:db8::0196
+aaaa-407 IN AAAA 2001:db8::0197
+aaaa-408 IN AAAA 2001:db8::0198
+aaaa-409 IN AAAA 2001:db8::0199
+aaaa-410 IN AAAA 2001:db8::019a
+aaaa-411 IN AAAA 2001:db8::019b
+aaaa-412 IN AAAA 2001:db8::019c
+aaaa-413 IN AAAA 2001:db8::019d
+aaaa-414 IN AAAA 2001:db8::019e
+aaaa-415 IN AAAA 2001:db8::019f
+aaaa-416 IN AAAA 2001:db8::01a0
+aaaa-417 IN AAAA 2001:db8::01a1
+aaaa-418 IN AAAA 2001:db8::01a2
+aaaa-419 IN AAAA 2001:db8::01a3
+aaaa-420 IN AAAA 2001:db8::01a4
+aaaa-421 IN AAAA 2001:db8::01a5
+aaaa-422 IN AAAA 2001:db8::01a6
+aaaa-423 IN AAAA 2001:db8::01a7
+aaaa-424 IN AAAA 2001:db8::01a8
+aaaa-425 IN AAAA 2001:db8::01a9
+aaaa-426 IN AAAA 2001:db8::01aa
+aaaa-427 IN AAAA 2001:db8::01ab
+aaaa-428 IN AAAA 2001:db8::01ac
+aaaa-429 IN AAAA 2001:db8::01ad
+aaaa-430 IN AAAA 2001:db8::01ae
+aaaa-431 IN AAAA 2001:db8::01af
+aaaa-432 IN AAAA 2001:db8::01b0
+aaaa-433 IN AAAA 2001:db8::01b1
+aaaa-434 IN AAAA 2001:db8::01b2
+aaaa-435 IN AAAA 2001:db8::01b3
+aaaa-436 IN AAAA 2001:db8::01b4
+aaaa-437 IN AAAA 2001:db8::01b5
+aaaa-438 IN AAAA 2001:db8::01b6
+aaaa-439 IN AAAA 2001:db8::01b7
+aaaa-440 IN AAAA 2001:db8::01b8
+aaaa-441 IN AAAA 2001:db8::01b9
+aaaa-442 IN AAAA 2001:db8::01ba
+aaaa-443 IN AAAA 2001:db8::01bb
+aaaa-444 IN AAAA 2001:db8::01bc
+aaaa-445 IN AAAA 2001:db8::01bd
+aaaa-446 IN AAAA 2001:db8::01be
+aaaa-447 IN AAAA 2001:db8::01bf
+aaaa-448 IN AAAA 2001:db8::01c0
+aaaa-449 IN AAAA 2001:db8::01c1
+aaaa-450 IN AAAA 2001:db8::01c2
+aaaa-451 IN AAAA 2001:db8::01c3
+aaaa-452 IN AAAA 2001:db8::01c4
+aaaa-453 IN AAAA 2001:db8::01c5
+aaaa-454 IN AAAA 2001:db8::01c6
+aaaa-455 IN AAAA 2001:db8::01c7
+aaaa-456 IN AAAA 2001:db8::01c8
+aaaa-457 IN AAAA 2001:db8::01c9
+aaaa-458 IN AAAA 2001:db8::01ca
+aaaa-459 IN AAAA 2001:db8::01cb
+aaaa-460 IN AAAA 2001:db8::01cc
+aaaa-461 IN AAAA 2001:db8::01cd
+aaaa-462 IN AAAA 2001:db8::01ce
+aaaa-463 IN AAAA 2001:db8::01cf
+aaaa-464 IN AAAA 2001:db8::01d0
+aaaa-465 IN AAAA 2001:db8::01d1
+aaaa-466 IN AAAA 2001:db8::01d2
+aaaa-467 IN AAAA 2001:db8::01d3
+aaaa-468 IN AAAA 2001:db8::01d4
+aaaa-469 IN AAAA 2001:db8::01d5
+aaaa-470 IN AAAA 2001:db8::01d6
+aaaa-471 IN AAAA 2001:db8::01d7
+aaaa-472 IN AAAA 2001:db8::01d8
+aaaa-473 IN AAAA 2001:db8::01d9
+aaaa-474 IN AAAA 2001:db8::01da
+aaaa-475 IN AAAA 2001:db8::01db
+aaaa-476 IN AAAA 2001:db8::01dc
+aaaa-477 IN AAAA 2001:db8::01dd
+aaaa-478 IN AAAA 2001:db8::01de
+aaaa-479 IN AAAA 2001:db8::01df
+aaaa-480 IN AAAA 2001:db8::01e0
+aaaa-481 IN AAAA 2001:db8::01e1
+aaaa-482 IN AAAA 2001:db8::01e2
+aaaa-483 IN AAAA 2001:db8::01e3
+aaaa-484 IN AAAA 2001:db8::01e4
+aaaa-485 IN AAAA 2001:db8::01e5
+aaaa-486 IN AAAA 2001:db8::01e6
+aaaa-487 IN AAAA 2001:db8::01e7
+aaaa-488 IN AAAA 2001:db8::01e8
+aaaa-489 IN AAAA 2001:db8::01e9
+aaaa-490 IN AAAA 2001:db8::01ea
+aaaa-491 IN AAAA 2001:db8::01eb
+aaaa-492 IN AAAA 2001:db8::01ec
+aaaa-493 IN AAAA 2001:db8::01ed
+aaaa-494 IN AAAA 2001:db8::01ee
+aaaa-495 IN AAAA 2001:db8::01ef
+aaaa-496 IN AAAA 2001:db8::01f0
+aaaa-497 IN AAAA 2001:db8::01f1
+aaaa-498 IN AAAA 2001:db8::01f2
+aaaa-499 IN AAAA 2001:db8::01f3
+aaaa-500 IN AAAA 2001:db8::01f4
+aaaa-501 IN AAAA 2001:db8::01f5
+aaaa-502 IN AAAA 2001:db8::01f6
+aaaa-503 IN AAAA 2001:db8::01f7
+aaaa-504 IN AAAA 2001:db8::01f8
+aaaa-505 IN AAAA 2001:db8::01f9
+aaaa-506 IN AAAA 2001:db8::01fa
+aaaa-507 IN AAAA 2001:db8::01fb
+aaaa-508 IN AAAA 2001:db8::01fc
+aaaa-509 IN AAAA 2001:db8::01fd
+aaaa-510 IN AAAA 2001:db8::01fe
+aaaa-511 IN AAAA 2001:db8::01ff
+
+bbbb-000 IN AAAA 2001:db8::1:0000
+bbbb-001 IN AAAA 2001:db8::1:0001
+bbbb-002 IN AAAA 2001:db8::1:0002
+bbbb-003 IN AAAA 2001:db8::1:0003
+bbbb-004 IN AAAA 2001:db8::1:0004
+bbbb-005 IN AAAA 2001:db8::1:0005
+bbbb-006 IN AAAA 2001:db8::1:0006
+bbbb-007 IN AAAA 2001:db8::1:0007
+bbbb-008 IN AAAA 2001:db8::1:0008
+bbbb-009 IN AAAA 2001:db8::1:0009
+bbbb-010 IN AAAA 2001:db8::1:000a
+bbbb-011 IN AAAA 2001:db8::1:000b
+bbbb-012 IN AAAA 2001:db8::1:000c
+bbbb-013 IN AAAA 2001:db8::1:000d
+bbbb-014 IN AAAA 2001:db8::1:000e
+bbbb-015 IN AAAA 2001:db8::1:000f
+bbbb-016 IN AAAA 2001:db8::1:0010
+bbbb-017 IN AAAA 2001:db8::1:0011
+bbbb-018 IN AAAA 2001:db8::1:0012
+bbbb-019 IN AAAA 2001:db8::1:0013
+bbbb-020 IN AAAA 2001:db8::1:0014
+bbbb-021 IN AAAA 2001:db8::1:0015
+bbbb-022 IN AAAA 2001:db8::1:0016
+bbbb-023 IN AAAA 2001:db8::1:0017
+bbbb-024 IN AAAA 2001:db8::1:0018
+bbbb-025 IN AAAA 2001:db8::1:0019
+bbbb-026 IN AAAA 2001:db8::1:001a
+bbbb-027 IN AAAA 2001:db8::1:001b
+bbbb-028 IN AAAA 2001:db8::1:001c
+bbbb-029 IN AAAA 2001:db8::1:001d
+bbbb-030 IN AAAA 2001:db8::1:001e
+bbbb-031 IN AAAA 2001:db8::1:001f
+bbbb-032 IN AAAA 2001:db8::1:0020
+bbbb-033 IN AAAA 2001:db8::1:0021
+bbbb-034 IN AAAA 2001:db8::1:0022
+bbbb-035 IN AAAA 2001:db8::1:0023
+bbbb-036 IN AAAA 2001:db8::1:0024
+bbbb-037 IN AAAA 2001:db8::1:0025
+bbbb-038 IN AAAA 2001:db8::1:0026
+bbbb-039 IN AAAA 2001:db8::1:0027
+bbbb-040 IN AAAA 2001:db8::1:0028
+bbbb-041 IN AAAA 2001:db8::1:0029
+bbbb-042 IN AAAA 2001:db8::1:002a
+bbbb-043 IN AAAA 2001:db8::1:002b
+bbbb-044 IN AAAA 2001:db8::1:002c
+bbbb-045 IN AAAA 2001:db8::1:002d
+bbbb-046 IN AAAA 2001:db8::1:002e
+bbbb-047 IN AAAA 2001:db8::1:002f
+bbbb-048 IN AAAA 2001:db8::1:0030
+bbbb-049 IN AAAA 2001:db8::1:0031
+bbbb-050 IN AAAA 2001:db8::1:0032
+bbbb-051 IN AAAA 2001:db8::1:0033
+bbbb-052 IN AAAA 2001:db8::1:0034
+bbbb-053 IN AAAA 2001:db8::1:0035
+bbbb-054 IN AAAA 2001:db8::1:0036
+bbbb-055 IN AAAA 2001:db8::1:0037
+bbbb-056 IN AAAA 2001:db8::1:0038
+bbbb-057 IN AAAA 2001:db8::1:0039
+bbbb-058 IN AAAA 2001:db8::1:003a
+bbbb-059 IN AAAA 2001:db8::1:003b
+bbbb-060 IN AAAA 2001:db8::1:003c
+bbbb-061 IN AAAA 2001:db8::1:003d
+bbbb-062 IN AAAA 2001:db8::1:003e
+bbbb-063 IN AAAA 2001:db8::1:003f
+bbbb-064 IN AAAA 2001:db8::1:0040
+bbbb-065 IN AAAA 2001:db8::1:0041
+bbbb-066 IN AAAA 2001:db8::1:0042
+bbbb-067 IN AAAA 2001:db8::1:0043
+bbbb-068 IN AAAA 2001:db8::1:0044
+bbbb-069 IN AAAA 2001:db8::1:0045
+bbbb-070 IN AAAA 2001:db8::1:0046
+bbbb-071 IN AAAA 2001:db8::1:0047
+bbbb-072 IN AAAA 2001:db8::1:0048
+bbbb-073 IN AAAA 2001:db8::1:0049
+bbbb-074 IN AAAA 2001:db8::1:004a
+bbbb-075 IN AAAA 2001:db8::1:004b
+bbbb-076 IN AAAA 2001:db8::1:004c
+bbbb-077 IN AAAA 2001:db8::1:004d
+bbbb-078 IN AAAA 2001:db8::1:004e
+bbbb-079 IN AAAA 2001:db8::1:004f
+bbbb-080 IN AAAA 2001:db8::1:0050
+bbbb-081 IN AAAA 2001:db8::1:0051
+bbbb-082 IN AAAA 2001:db8::1:0052
+bbbb-083 IN AAAA 2001:db8::1:0053
+bbbb-084 IN AAAA 2001:db8::1:0054
+bbbb-085 IN AAAA 2001:db8::1:0055
+bbbb-086 IN AAAA 2001:db8::1:0056
+bbbb-087 IN AAAA 2001:db8::1:0057
+bbbb-088 IN AAAA 2001:db8::1:0058
+bbbb-089 IN AAAA 2001:db8::1:0059
+bbbb-090 IN AAAA 2001:db8::1:005a
+bbbb-091 IN AAAA 2001:db8::1:005b
+bbbb-092 IN AAAA 2001:db8::1:005c
+bbbb-093 IN AAAA 2001:db8::1:005d
+bbbb-094 IN AAAA 2001:db8::1:005e
+bbbb-095 IN AAAA 2001:db8::1:005f
+bbbb-096 IN AAAA 2001:db8::1:0060
+bbbb-097 IN AAAA 2001:db8::1:0061
+bbbb-098 IN AAAA 2001:db8::1:0062
+bbbb-099 IN AAAA 2001:db8::1:0063
+bbbb-100 IN AAAA 2001:db8::1:0064
+bbbb-101 IN AAAA 2001:db8::1:0065
+bbbb-102 IN AAAA 2001:db8::1:0066
+bbbb-103 IN AAAA 2001:db8::1:0067
+bbbb-104 IN AAAA 2001:db8::1:0068
+bbbb-105 IN AAAA 2001:db8::1:0069
+bbbb-106 IN AAAA 2001:db8::1:006a
+bbbb-107 IN AAAA 2001:db8::1:006b
+bbbb-108 IN AAAA 2001:db8::1:006c
+bbbb-109 IN AAAA 2001:db8::1:006d
+bbbb-110 IN AAAA 2001:db8::1:006e
+bbbb-111 IN AAAA 2001:db8::1:006f
+bbbb-112 IN AAAA 2001:db8::1:0070
+bbbb-113 IN AAAA 2001:db8::1:0071
+bbbb-114 IN AAAA 2001:db8::1:0072
+bbbb-115 IN AAAA 2001:db8::1:0073
+bbbb-116 IN AAAA 2001:db8::1:0074
+bbbb-117 IN AAAA 2001:db8::1:0075
+bbbb-118 IN AAAA 2001:db8::1:0076
+bbbb-119 IN AAAA 2001:db8::1:0077
+bbbb-120 IN AAAA 2001:db8::1:0078
+bbbb-121 IN AAAA 2001:db8::1:0079
+bbbb-122 IN AAAA 2001:db8::1:007a
+bbbb-123 IN AAAA 2001:db8::1:007b
+bbbb-124 IN AAAA 2001:db8::1:007c
+bbbb-125 IN AAAA 2001:db8::1:007d
+bbbb-126 IN AAAA 2001:db8::1:007e
+bbbb-127 IN AAAA 2001:db8::1:007f
+bbbb-128 IN AAAA 2001:db8::1:0080
+bbbb-129 IN AAAA 2001:db8::1:0081
+bbbb-130 IN AAAA 2001:db8::1:0082
+bbbb-131 IN AAAA 2001:db8::1:0083
+bbbb-132 IN AAAA 2001:db8::1:0084
+bbbb-133 IN AAAA 2001:db8::1:0085
+bbbb-134 IN AAAA 2001:db8::1:0086
+bbbb-135 IN AAAA 2001:db8::1:0087
+bbbb-136 IN AAAA 2001:db8::1:0088
+bbbb-137 IN AAAA 2001:db8::1:0089
+bbbb-138 IN AAAA 2001:db8::1:008a
+bbbb-139 IN AAAA 2001:db8::1:008b
+bbbb-140 IN AAAA 2001:db8::1:008c
+bbbb-141 IN AAAA 2001:db8::1:008d
+bbbb-142 IN AAAA 2001:db8::1:008e
+bbbb-143 IN AAAA 2001:db8::1:008f
+bbbb-144 IN AAAA 2001:db8::1:0090
+bbbb-145 IN AAAA 2001:db8::1:0091
+bbbb-146 IN AAAA 2001:db8::1:0092
+bbbb-147 IN AAAA 2001:db8::1:0093
+bbbb-148 IN AAAA 2001:db8::1:0094
+bbbb-149 IN AAAA 2001:db8::1:0095
+bbbb-150 IN AAAA 2001:db8::1:0096
+bbbb-151 IN AAAA 2001:db8::1:0097
+bbbb-152 IN AAAA 2001:db8::1:0098
+bbbb-153 IN AAAA 2001:db8::1:0099
+bbbb-154 IN AAAA 2001:db8::1:009a
+bbbb-155 IN AAAA 2001:db8::1:009b
+bbbb-156 IN AAAA 2001:db8::1:009c
+bbbb-157 IN AAAA 2001:db8::1:009d
+bbbb-158 IN AAAA 2001:db8::1:009e
+bbbb-159 IN AAAA 2001:db8::1:009f
+bbbb-160 IN AAAA 2001:db8::1:00a0
+bbbb-161 IN AAAA 2001:db8::1:00a1
+bbbb-162 IN AAAA 2001:db8::1:00a2
+bbbb-163 IN AAAA 2001:db8::1:00a3
+bbbb-164 IN AAAA 2001:db8::1:00a4
+bbbb-165 IN AAAA 2001:db8::1:00a5
+bbbb-166 IN AAAA 2001:db8::1:00a6
+bbbb-167 IN AAAA 2001:db8::1:00a7
+bbbb-168 IN AAAA 2001:db8::1:00a8
+bbbb-169 IN AAAA 2001:db8::1:00a9
+bbbb-170 IN AAAA 2001:db8::1:00aa
+bbbb-171 IN AAAA 2001:db8::1:00ab
+bbbb-172 IN AAAA 2001:db8::1:00ac
+bbbb-173 IN AAAA 2001:db8::1:00ad
+bbbb-174 IN AAAA 2001:db8::1:00ae
+bbbb-175 IN AAAA 2001:db8::1:00af
+bbbb-176 IN AAAA 2001:db8::1:00b0
+bbbb-177 IN AAAA 2001:db8::1:00b1
+bbbb-178 IN AAAA 2001:db8::1:00b2
+bbbb-179 IN AAAA 2001:db8::1:00b3
+bbbb-180 IN AAAA 2001:db8::1:00b4
+bbbb-181 IN AAAA 2001:db8::1:00b5
+bbbb-182 IN AAAA 2001:db8::1:00b6
+bbbb-183 IN AAAA 2001:db8::1:00b7
+bbbb-184 IN AAAA 2001:db8::1:00b8
+bbbb-185 IN AAAA 2001:db8::1:00b9
+bbbb-186 IN AAAA 2001:db8::1:00ba
+bbbb-187 IN AAAA 2001:db8::1:00bb
+bbbb-188 IN AAAA 2001:db8::1:00bc
+bbbb-189 IN AAAA 2001:db8::1:00bd
+bbbb-190 IN AAAA 2001:db8::1:00be
+bbbb-191 IN AAAA 2001:db8::1:00bf
+bbbb-192 IN AAAA 2001:db8::1:00c0
+bbbb-193 IN AAAA 2001:db8::1:00c1
+bbbb-194 IN AAAA 2001:db8::1:00c2
+bbbb-195 IN AAAA 2001:db8::1:00c3
+bbbb-196 IN AAAA 2001:db8::1:00c4
+bbbb-197 IN AAAA 2001:db8::1:00c5
+bbbb-198 IN AAAA 2001:db8::1:00c6
+bbbb-199 IN AAAA 2001:db8::1:00c7
+bbbb-200 IN AAAA 2001:db8::1:00c8
+bbbb-201 IN AAAA 2001:db8::1:00c9
+bbbb-202 IN AAAA 2001:db8::1:00ca
+bbbb-203 IN AAAA 2001:db8::1:00cb
+bbbb-204 IN AAAA 2001:db8::1:00cc
+bbbb-205 IN AAAA 2001:db8::1:00cd
+bbbb-206 IN AAAA 2001:db8::1:00ce
+bbbb-207 IN AAAA 2001:db8::1:00cf
+bbbb-208 IN AAAA 2001:db8::1:00d0
+bbbb-209 IN AAAA 2001:db8::1:00d1
+bbbb-210 IN AAAA 2001:db8::1:00d2
+bbbb-211 IN AAAA 2001:db8::1:00d3
+bbbb-212 IN AAAA 2001:db8::1:00d4
+bbbb-213 IN AAAA 2001:db8::1:00d5
+bbbb-214 IN AAAA 2001:db8::1:00d6
+bbbb-215 IN AAAA 2001:db8::1:00d7
+bbbb-216 IN AAAA 2001:db8::1:00d8
+bbbb-217 IN AAAA 2001:db8::1:00d9
+bbbb-218 IN AAAA 2001:db8::1:00da
+bbbb-219 IN AAAA 2001:db8::1:00db
+bbbb-220 IN AAAA 2001:db8::1:00dc
+bbbb-221 IN AAAA 2001:db8::1:00dd
+bbbb-222 IN AAAA 2001:db8::1:00de
+bbbb-223 IN AAAA 2001:db8::1:00df
+bbbb-224 IN AAAA 2001:db8::1:00e0
+bbbb-225 IN AAAA 2001:db8::1:00e1
+bbbb-226 IN AAAA 2001:db8::1:00e2
+bbbb-227 IN AAAA 2001:db8::1:00e3
+bbbb-228 IN AAAA 2001:db8::1:00e4
+bbbb-229 IN AAAA 2001:db8::1:00e5
+bbbb-230 IN AAAA 2001:db8::1:00e6
+bbbb-231 IN AAAA 2001:db8::1:00e7
+bbbb-232 IN AAAA 2001:db8::1:00e8
+bbbb-233 IN AAAA 2001:db8::1:00e9
+bbbb-234 IN AAAA 2001:db8::1:00ea
+bbbb-235 IN AAAA 2001:db8::1:00eb
+bbbb-236 IN AAAA 2001:db8::1:00ec
+bbbb-237 IN AAAA 2001:db8::1:00ed
+bbbb-238 IN AAAA 2001:db8::1:00ee
+bbbb-239 IN AAAA 2001:db8::1:00ef
+bbbb-240 IN AAAA 2001:db8::1:00f0
+bbbb-241 IN AAAA 2001:db8::1:00f1
+bbbb-242 IN AAAA 2001:db8::1:00f2
+bbbb-243 IN AAAA 2001:db8::1:00f3
+bbbb-244 IN AAAA 2001:db8::1:00f4
+bbbb-245 IN AAAA 2001:db8::1:00f5
+bbbb-246 IN AAAA 2001:db8::1:00f6
+bbbb-247 IN AAAA 2001:db8::1:00f7
+bbbb-248 IN AAAA 2001:db8::1:00f8
+bbbb-249 IN AAAA 2001:db8::1:00f9
+bbbb-250 IN AAAA 2001:db8::1:00fa
+bbbb-251 IN AAAA 2001:db8::1:00fb
+bbbb-252 IN AAAA 2001:db8::1:00fc
+bbbb-253 IN AAAA 2001:db8::1:00fd
+bbbb-254 IN AAAA 2001:db8::1:00fe
+bbbb-255 IN AAAA 2001:db8::1:00ff
+bbbb-256 IN AAAA 2001:db8::1:0100
+bbbb-257 IN AAAA 2001:db8::1:0101
+bbbb-258 IN AAAA 2001:db8::1:0102
+bbbb-259 IN AAAA 2001:db8::1:0103
+bbbb-260 IN AAAA 2001:db8::1:0104
+bbbb-261 IN AAAA 2001:db8::1:0105
+bbbb-262 IN AAAA 2001:db8::1:0106
+bbbb-263 IN AAAA 2001:db8::1:0107
+bbbb-264 IN AAAA 2001:db8::1:0108
+bbbb-265 IN AAAA 2001:db8::1:0109
+bbbb-266 IN AAAA 2001:db8::1:010a
+bbbb-267 IN AAAA 2001:db8::1:010b
+bbbb-268 IN AAAA 2001:db8::1:010c
+bbbb-269 IN AAAA 2001:db8::1:010d
+bbbb-270 IN AAAA 2001:db8::1:010e
+bbbb-271 IN AAAA 2001:db8::1:010f
+bbbb-272 IN AAAA 2001:db8::1:0110
+bbbb-273 IN AAAA 2001:db8::1:0111
+bbbb-274 IN AAAA 2001:db8::1:0112
+bbbb-275 IN AAAA 2001:db8::1:0113
+bbbb-276 IN AAAA 2001:db8::1:0114
+bbbb-277 IN AAAA 2001:db8::1:0115
+bbbb-278 IN AAAA 2001:db8::1:0116
+bbbb-279 IN AAAA 2001:db8::1:0117
+bbbb-280 IN AAAA 2001:db8::1:0118
+bbbb-281 IN AAAA 2001:db8::1:0119
+bbbb-282 IN AAAA 2001:db8::1:011a
+bbbb-283 IN AAAA 2001:db8::1:011b
+bbbb-284 IN AAAA 2001:db8::1:011c
+bbbb-285 IN AAAA 2001:db8::1:011d
+bbbb-286 IN AAAA 2001:db8::1:011e
+bbbb-287 IN AAAA 2001:db8::1:011f
+bbbb-288 IN AAAA 2001:db8::1:0120
+bbbb-289 IN AAAA 2001:db8::1:0121
+bbbb-290 IN AAAA 2001:db8::1:0122
+bbbb-291 IN AAAA 2001:db8::1:0123
+bbbb-292 IN AAAA 2001:db8::1:0124
+bbbb-293 IN AAAA 2001:db8::1:0125
+bbbb-294 IN AAAA 2001:db8::1:0126
+bbbb-295 IN AAAA 2001:db8::1:0127
+bbbb-296 IN AAAA 2001:db8::1:0128
+bbbb-297 IN AAAA 2001:db8::1:0129
+bbbb-298 IN AAAA 2001:db8::1:012a
+bbbb-299 IN AAAA 2001:db8::1:012b
+bbbb-300 IN AAAA 2001:db8::1:012c
+bbbb-301 IN AAAA 2001:db8::1:012d
+bbbb-302 IN AAAA 2001:db8::1:012e
+bbbb-303 IN AAAA 2001:db8::1:012f
+bbbb-304 IN AAAA 2001:db8::1:0130
+bbbb-305 IN AAAA 2001:db8::1:0131
+bbbb-306 IN AAAA 2001:db8::1:0132
+bbbb-307 IN AAAA 2001:db8::1:0133
+bbbb-308 IN AAAA 2001:db8::1:0134
+bbbb-309 IN AAAA 2001:db8::1:0135
+bbbb-310 IN AAAA 2001:db8::1:0136
+bbbb-311 IN AAAA 2001:db8::1:0137
+bbbb-312 IN AAAA 2001:db8::1:0138
+bbbb-313 IN AAAA 2001:db8::1:0139
+bbbb-314 IN AAAA 2001:db8::1:013a
+bbbb-315 IN AAAA 2001:db8::1:013b
+bbbb-316 IN AAAA 2001:db8::1:013c
+bbbb-317 IN AAAA 2001:db8::1:013d
+bbbb-318 IN AAAA 2001:db8::1:013e
+bbbb-319 IN AAAA 2001:db8::1:013f
+bbbb-320 IN AAAA 2001:db8::1:0140
+bbbb-321 IN AAAA 2001:db8::1:0141
+bbbb-322 IN AAAA 2001:db8::1:0142
+bbbb-323 IN AAAA 2001:db8::1:0143
+bbbb-324 IN AAAA 2001:db8::1:0144
+bbbb-325 IN AAAA 2001:db8::1:0145
+bbbb-326 IN AAAA 2001:db8::1:0146
+bbbb-327 IN AAAA 2001:db8::1:0147
+bbbb-328 IN AAAA 2001:db8::1:0148
+bbbb-329 IN AAAA 2001:db8::1:0149
+bbbb-330 IN AAAA 2001:db8::1:014a
+bbbb-331 IN AAAA 2001:db8::1:014b
+bbbb-332 IN AAAA 2001:db8::1:014c
+bbbb-333 IN AAAA 2001:db8::1:014d
+bbbb-334 IN AAAA 2001:db8::1:014e
+bbbb-335 IN AAAA 2001:db8::1:014f
+bbbb-336 IN AAAA 2001:db8::1:0150
+bbbb-337 IN AAAA 2001:db8::1:0151
+bbbb-338 IN AAAA 2001:db8::1:0152
+bbbb-339 IN AAAA 2001:db8::1:0153
+bbbb-340 IN AAAA 2001:db8::1:0154
+bbbb-341 IN AAAA 2001:db8::1:0155
+bbbb-342 IN AAAA 2001:db8::1:0156
+bbbb-343 IN AAAA 2001:db8::1:0157
+bbbb-344 IN AAAA 2001:db8::1:0158
+bbbb-345 IN AAAA 2001:db8::1:0159
+bbbb-346 IN AAAA 2001:db8::1:015a
+bbbb-347 IN AAAA 2001:db8::1:015b
+bbbb-348 IN AAAA 2001:db8::1:015c
+bbbb-349 IN AAAA 2001:db8::1:015d
+bbbb-350 IN AAAA 2001:db8::1:015e
+bbbb-351 IN AAAA 2001:db8::1:015f
+bbbb-352 IN AAAA 2001:db8::1:0160
+bbbb-353 IN AAAA 2001:db8::1:0161
+bbbb-354 IN AAAA 2001:db8::1:0162
+bbbb-355 IN AAAA 2001:db8::1:0163
+bbbb-356 IN AAAA 2001:db8::1:0164
+bbbb-357 IN AAAA 2001:db8::1:0165
+bbbb-358 IN AAAA 2001:db8::1:0166
+bbbb-359 IN AAAA 2001:db8::1:0167
+bbbb-360 IN AAAA 2001:db8::1:0168
+bbbb-361 IN AAAA 2001:db8::1:0169
+bbbb-362 IN AAAA 2001:db8::1:016a
+bbbb-363 IN AAAA 2001:db8::1:016b
+bbbb-364 IN AAAA 2001:db8::1:016c
+bbbb-365 IN AAAA 2001:db8::1:016d
+bbbb-366 IN AAAA 2001:db8::1:016e
+bbbb-367 IN AAAA 2001:db8::1:016f
+bbbb-368 IN AAAA 2001:db8::1:0170
+bbbb-369 IN AAAA 2001:db8::1:0171
+bbbb-370 IN AAAA 2001:db8::1:0172
+bbbb-371 IN AAAA 2001:db8::1:0173
+bbbb-372 IN AAAA 2001:db8::1:0174
+bbbb-373 IN AAAA 2001:db8::1:0175
+bbbb-374 IN AAAA 2001:db8::1:0176
+bbbb-375 IN AAAA 2001:db8::1:0177
+bbbb-376 IN AAAA 2001:db8::1:0178
+bbbb-377 IN AAAA 2001:db8::1:0179
+bbbb-378 IN AAAA 2001:db8::1:017a
+bbbb-379 IN AAAA 2001:db8::1:017b
+bbbb-380 IN AAAA 2001:db8::1:017c
+bbbb-381 IN AAAA 2001:db8::1:017d
+bbbb-382 IN AAAA 2001:db8::1:017e
+bbbb-383 IN AAAA 2001:db8::1:017f
+bbbb-384 IN AAAA 2001:db8::1:0180
+bbbb-385 IN AAAA 2001:db8::1:0181
+bbbb-386 IN AAAA 2001:db8::1:0182
+bbbb-387 IN AAAA 2001:db8::1:0183
+bbbb-388 IN AAAA 2001:db8::1:0184
+bbbb-389 IN AAAA 2001:db8::1:0185
+bbbb-390 IN AAAA 2001:db8::1:0186
+bbbb-391 IN AAAA 2001:db8::1:0187
+bbbb-392 IN AAAA 2001:db8::1:0188
+bbbb-393 IN AAAA 2001:db8::1:0189
+bbbb-394 IN AAAA 2001:db8::1:018a
+bbbb-395 IN AAAA 2001:db8::1:018b
+bbbb-396 IN AAAA 2001:db8::1:018c
+bbbb-397 IN AAAA 2001:db8::1:018d
+bbbb-398 IN AAAA 2001:db8::1:018e
+bbbb-399 IN AAAA 2001:db8::1:018f
+bbbb-400 IN AAAA 2001:db8::1:0190
+bbbb-401 IN AAAA 2001:db8::1:0191
+bbbb-402 IN AAAA 2001:db8::1:0192
+bbbb-403 IN AAAA 2001:db8::1:0193
+bbbb-404 IN AAAA 2001:db8::1:0194
+bbbb-405 IN AAAA 2001:db8::1:0195
+bbbb-406 IN AAAA 2001:db8::1:0196
+bbbb-407 IN AAAA 2001:db8::1:0197
+bbbb-408 IN AAAA 2001:db8::1:0198
+bbbb-409 IN AAAA 2001:db8::1:0199
+bbbb-410 IN AAAA 2001:db8::1:019a
+bbbb-411 IN AAAA 2001:db8::1:019b
+bbbb-412 IN AAAA 2001:db8::1:019c
+bbbb-413 IN AAAA 2001:db8::1:019d
+bbbb-414 IN AAAA 2001:db8::1:019e
+bbbb-415 IN AAAA 2001:db8::1:019f
+bbbb-416 IN AAAA 2001:db8::1:01a0
+bbbb-417 IN AAAA 2001:db8::1:01a1
+bbbb-418 IN AAAA 2001:db8::1:01a2
+bbbb-419 IN AAAA 2001:db8::1:01a3
+bbbb-420 IN AAAA 2001:db8::1:01a4
+bbbb-421 IN AAAA 2001:db8::1:01a5
+bbbb-422 IN AAAA 2001:db8::1:01a6
+bbbb-423 IN AAAA 2001:db8::1:01a7
+bbbb-424 IN AAAA 2001:db8::1:01a8
+bbbb-425 IN AAAA 2001:db8::1:01a9
+bbbb-426 IN AAAA 2001:db8::1:01aa
+bbbb-427 IN AAAA 2001:db8::1:01ab
+bbbb-428 IN AAAA 2001:db8::1:01ac
+bbbb-429 IN AAAA 2001:db8::1:01ad
+bbbb-430 IN AAAA 2001:db8::1:01ae
+bbbb-431 IN AAAA 2001:db8::1:01af
+bbbb-432 IN AAAA 2001:db8::1:01b0
+bbbb-433 IN AAAA 2001:db8::1:01b1
+bbbb-434 IN AAAA 2001:db8::1:01b2
+bbbb-435 IN AAAA 2001:db8::1:01b3
+bbbb-436 IN AAAA 2001:db8::1:01b4
+bbbb-437 IN AAAA 2001:db8::1:01b5
+bbbb-438 IN AAAA 2001:db8::1:01b6
+bbbb-439 IN AAAA 2001:db8::1:01b7
+bbbb-440 IN AAAA 2001:db8::1:01b8
+bbbb-441 IN AAAA 2001:db8::1:01b9
+bbbb-442 IN AAAA 2001:db8::1:01ba
+bbbb-443 IN AAAA 2001:db8::1:01bb
+bbbb-444 IN AAAA 2001:db8::1:01bc
+bbbb-445 IN AAAA 2001:db8::1:01bd
+bbbb-446 IN AAAA 2001:db8::1:01be
+bbbb-447 IN AAAA 2001:db8::1:01bf
+bbbb-448 IN AAAA 2001:db8::1:01c0
+bbbb-449 IN AAAA 2001:db8::1:01c1
+bbbb-450 IN AAAA 2001:db8::1:01c2
+bbbb-451 IN AAAA 2001:db8::1:01c3
+bbbb-452 IN AAAA 2001:db8::1:01c4
+bbbb-453 IN AAAA 2001:db8::1:01c5
+bbbb-454 IN AAAA 2001:db8::1:01c6
+bbbb-455 IN AAAA 2001:db8::1:01c7
+bbbb-456 IN AAAA 2001:db8::1:01c8
+bbbb-457 IN AAAA 2001:db8::1:01c9
+bbbb-458 IN AAAA 2001:db8::1:01ca
+bbbb-459 IN AAAA 2001:db8::1:01cb
+bbbb-460 IN AAAA 2001:db8::1:01cc
+bbbb-461 IN AAAA 2001:db8::1:01cd
+bbbb-462 IN AAAA 2001:db8::1:01ce
+bbbb-463 IN AAAA 2001:db8::1:01cf
+bbbb-464 IN AAAA 2001:db8::1:01d0
+bbbb-465 IN AAAA 2001:db8::1:01d1
+bbbb-466 IN AAAA 2001:db8::1:01d2
+bbbb-467 IN AAAA 2001:db8::1:01d3
+bbbb-468 IN AAAA 2001:db8::1:01d4
+bbbb-469 IN AAAA 2001:db8::1:01d5
+bbbb-470 IN AAAA 2001:db8::1:01d6
+bbbb-471 IN AAAA 2001:db8::1:01d7
+bbbb-472 IN AAAA 2001:db8::1:01d8
+bbbb-473 IN AAAA 2001:db8::1:01d9
+bbbb-474 IN AAAA 2001:db8::1:01da
+bbbb-475 IN AAAA 2001:db8::1:01db
+bbbb-476 IN AAAA 2001:db8::1:01dc
+bbbb-477 IN AAAA 2001:db8::1:01dd
+bbbb-478 IN AAAA 2001:db8::1:01de
+bbbb-479 IN AAAA 2001:db8::1:01df
+bbbb-480 IN AAAA 2001:db8::1:01e0
+bbbb-481 IN AAAA 2001:db8::1:01e1
+bbbb-482 IN AAAA 2001:db8::1:01e2
+bbbb-483 IN AAAA 2001:db8::1:01e3
+bbbb-484 IN AAAA 2001:db8::1:01e4
+bbbb-485 IN AAAA 2001:db8::1:01e5
+bbbb-486 IN AAAA 2001:db8::1:01e6
+bbbb-487 IN AAAA 2001:db8::1:01e7
+bbbb-488 IN AAAA 2001:db8::1:01e8
+bbbb-489 IN AAAA 2001:db8::1:01e9
+bbbb-490 IN AAAA 2001:db8::1:01ea
+bbbb-491 IN AAAA 2001:db8::1:01eb
+bbbb-492 IN AAAA 2001:db8::1:01ec
+bbbb-493 IN AAAA 2001:db8::1:01ed
+bbbb-494 IN AAAA 2001:db8::1:01ee
+bbbb-495 IN AAAA 2001:db8::1:01ef
+bbbb-496 IN AAAA 2001:db8::1:01f0
+bbbb-497 IN AAAA 2001:db8::1:01f1
+bbbb-498 IN AAAA 2001:db8::1:01f2
+bbbb-499 IN AAAA 2001:db8::1:01f3
+bbbb-500 IN AAAA 2001:db8::1:01f4
+bbbb-501 IN AAAA 2001:db8::1:01f5
+bbbb-502 IN AAAA 2001:db8::1:01f6
+bbbb-503 IN AAAA 2001:db8::1:01f7
+bbbb-504 IN AAAA 2001:db8::1:01f8
+bbbb-505 IN AAAA 2001:db8::1:01f9
+bbbb-506 IN AAAA 2001:db8::1:01fa
+bbbb-507 IN AAAA 2001:db8::1:01fb
+bbbb-508 IN AAAA 2001:db8::1:01fc
+bbbb-509 IN AAAA 2001:db8::1:01fd
+bbbb-510 IN AAAA 2001:db8::1:01fe
+bbbb-511 IN AAAA 2001:db8::1:01ff
+
+cccc-000 IN AAAA 2001:db8::2:0000
+cccc-001 IN AAAA 2001:db8::2:0001
+cccc-002 IN AAAA 2001:db8::2:0002
+cccc-003 IN AAAA 2001:db8::2:0003
+cccc-004 IN AAAA 2001:db8::2:0004
+cccc-005 IN AAAA 2001:db8::2:0005
+cccc-006 IN AAAA 2001:db8::2:0006
+cccc-007 IN AAAA 2001:db8::2:0007
+cccc-008 IN AAAA 2001:db8::2:0008
+cccc-009 IN AAAA 2001:db8::2:0009
+cccc-010 IN AAAA 2001:db8::2:000a
+cccc-011 IN AAAA 2001:db8::2:000b
+cccc-012 IN AAAA 2001:db8::2:000c
+cccc-013 IN AAAA 2001:db8::2:000d
+cccc-014 IN AAAA 2001:db8::2:000e
+cccc-015 IN AAAA 2001:db8::2:000f
+cccc-016 IN AAAA 2001:db8::2:0010
+cccc-017 IN AAAA 2001:db8::2:0011
+cccc-018 IN AAAA 2001:db8::2:0012
+cccc-019 IN AAAA 2001:db8::2:0013
+cccc-020 IN AAAA 2001:db8::2:0014
+cccc-021 IN AAAA 2001:db8::2:0015
+cccc-022 IN AAAA 2001:db8::2:0016
+cccc-023 IN AAAA 2001:db8::2:0017
+cccc-024 IN AAAA 2001:db8::2:0018
+cccc-025 IN AAAA 2001:db8::2:0019
+cccc-026 IN AAAA 2001:db8::2:001a
+cccc-027 IN AAAA 2001:db8::2:001b
+cccc-028 IN AAAA 2001:db8::2:001c
+cccc-029 IN AAAA 2001:db8::2:001d
+cccc-030 IN AAAA 2001:db8::2:001e
+cccc-031 IN AAAA 2001:db8::2:001f
+cccc-032 IN AAAA 2001:db8::2:0020
+cccc-033 IN AAAA 2001:db8::2:0021
+cccc-034 IN AAAA 2001:db8::2:0022
+cccc-035 IN AAAA 2001:db8::2:0023
+cccc-036 IN AAAA 2001:db8::2:0024
+cccc-037 IN AAAA 2001:db8::2:0025
+cccc-038 IN AAAA 2001:db8::2:0026
+cccc-039 IN AAAA 2001:db8::2:0027
+cccc-040 IN AAAA 2001:db8::2:0028
+cccc-041 IN AAAA 2001:db8::2:0029
+cccc-042 IN AAAA 2001:db8::2:002a
+cccc-043 IN AAAA 2001:db8::2:002b
+cccc-044 IN AAAA 2001:db8::2:002c
+cccc-045 IN AAAA 2001:db8::2:002d
+cccc-046 IN AAAA 2001:db8::2:002e
+cccc-047 IN AAAA 2001:db8::2:002f
+cccc-048 IN AAAA 2001:db8::2:0030
+cccc-049 IN AAAA 2001:db8::2:0031
+cccc-050 IN AAAA 2001:db8::2:0032
+cccc-051 IN AAAA 2001:db8::2:0033
+cccc-052 IN AAAA 2001:db8::2:0034
+cccc-053 IN AAAA 2001:db8::2:0035
+cccc-054 IN AAAA 2001:db8::2:0036
+cccc-055 IN AAAA 2001:db8::2:0037
+cccc-056 IN AAAA 2001:db8::2:0038
+cccc-057 IN AAAA 2001:db8::2:0039
+cccc-058 IN AAAA 2001:db8::2:003a
+cccc-059 IN AAAA 2001:db8::2:003b
+cccc-060 IN AAAA 2001:db8::2:003c
+cccc-061 IN AAAA 2001:db8::2:003d
+cccc-062 IN AAAA 2001:db8::2:003e
+cccc-063 IN AAAA 2001:db8::2:003f
+cccc-064 IN AAAA 2001:db8::2:0040
+cccc-065 IN AAAA 2001:db8::2:0041
+cccc-066 IN AAAA 2001:db8::2:0042
+cccc-067 IN AAAA 2001:db8::2:0043
+cccc-068 IN AAAA 2001:db8::2:0044
+cccc-069 IN AAAA 2001:db8::2:0045
+cccc-070 IN AAAA 2001:db8::2:0046
+cccc-071 IN AAAA 2001:db8::2:0047
+cccc-072 IN AAAA 2001:db8::2:0048
+cccc-073 IN AAAA 2001:db8::2:0049
+cccc-074 IN AAAA 2001:db8::2:004a
+cccc-075 IN AAAA 2001:db8::2:004b
+cccc-076 IN AAAA 2001:db8::2:004c
+cccc-077 IN AAAA 2001:db8::2:004d
+cccc-078 IN AAAA 2001:db8::2:004e
+cccc-079 IN AAAA 2001:db8::2:004f
+cccc-080 IN AAAA 2001:db8::2:0050
+cccc-081 IN AAAA 2001:db8::2:0051
+cccc-082 IN AAAA 2001:db8::2:0052
+cccc-083 IN AAAA 2001:db8::2:0053
+cccc-084 IN AAAA 2001:db8::2:0054
+cccc-085 IN AAAA 2001:db8::2:0055
+cccc-086 IN AAAA 2001:db8::2:0056
+cccc-087 IN AAAA 2001:db8::2:0057
+cccc-088 IN AAAA 2001:db8::2:0058
+cccc-089 IN AAAA 2001:db8::2:0059
+cccc-090 IN AAAA 2001:db8::2:005a
+cccc-091 IN AAAA 2001:db8::2:005b
+cccc-092 IN AAAA 2001:db8::2:005c
+cccc-093 IN AAAA 2001:db8::2:005d
+cccc-094 IN AAAA 2001:db8::2:005e
+cccc-095 IN AAAA 2001:db8::2:005f
+cccc-096 IN AAAA 2001:db8::2:0060
+cccc-097 IN AAAA 2001:db8::2:0061
+cccc-098 IN AAAA 2001:db8::2:0062
+cccc-099 IN AAAA 2001:db8::2:0063
+cccc-100 IN AAAA 2001:db8::2:0064
+cccc-101 IN AAAA 2001:db8::2:0065
+cccc-102 IN AAAA 2001:db8::2:0066
+cccc-103 IN AAAA 2001:db8::2:0067
+cccc-104 IN AAAA 2001:db8::2:0068
+cccc-105 IN AAAA 2001:db8::2:0069
+cccc-106 IN AAAA 2001:db8::2:006a
+cccc-107 IN AAAA 2001:db8::2:006b
+cccc-108 IN AAAA 2001:db8::2:006c
+cccc-109 IN AAAA 2001:db8::2:006d
+cccc-110 IN AAAA 2001:db8::2:006e
+cccc-111 IN AAAA 2001:db8::2:006f
+cccc-112 IN AAAA 2001:db8::2:0070
+cccc-113 IN AAAA 2001:db8::2:0071
+cccc-114 IN AAAA 2001:db8::2:0072
+cccc-115 IN AAAA 2001:db8::2:0073
+cccc-116 IN AAAA 2001:db8::2:0074
+cccc-117 IN AAAA 2001:db8::2:0075
+cccc-118 IN AAAA 2001:db8::2:0076
+cccc-119 IN AAAA 2001:db8::2:0077
+cccc-120 IN AAAA 2001:db8::2:0078
+cccc-121 IN AAAA 2001:db8::2:0079
+cccc-122 IN AAAA 2001:db8::2:007a
+cccc-123 IN AAAA 2001:db8::2:007b
+cccc-124 IN AAAA 2001:db8::2:007c
+cccc-125 IN AAAA 2001:db8::2:007d
+cccc-126 IN AAAA 2001:db8::2:007e
+cccc-127 IN AAAA 2001:db8::2:007f
+cccc-128 IN AAAA 2001:db8::2:0080
+cccc-129 IN AAAA 2001:db8::2:0081
+cccc-130 IN AAAA 2001:db8::2:0082
+cccc-131 IN AAAA 2001:db8::2:0083
+cccc-132 IN AAAA 2001:db8::2:0084
+cccc-133 IN AAAA 2001:db8::2:0085
+cccc-134 IN AAAA 2001:db8::2:0086
+cccc-135 IN AAAA 2001:db8::2:0087
+cccc-136 IN AAAA 2001:db8::2:0088
+cccc-137 IN AAAA 2001:db8::2:0089
+cccc-138 IN AAAA 2001:db8::2:008a
+cccc-139 IN AAAA 2001:db8::2:008b
+cccc-140 IN AAAA 2001:db8::2:008c
+cccc-141 IN AAAA 2001:db8::2:008d
+cccc-142 IN AAAA 2001:db8::2:008e
+cccc-143 IN AAAA 2001:db8::2:008f
+cccc-144 IN AAAA 2001:db8::2:0090
+cccc-145 IN AAAA 2001:db8::2:0091
+cccc-146 IN AAAA 2001:db8::2:0092
+cccc-147 IN AAAA 2001:db8::2:0093
+cccc-148 IN AAAA 2001:db8::2:0094
+cccc-149 IN AAAA 2001:db8::2:0095
+cccc-150 IN AAAA 2001:db8::2:0096
+cccc-151 IN AAAA 2001:db8::2:0097
+cccc-152 IN AAAA 2001:db8::2:0098
+cccc-153 IN AAAA 2001:db8::2:0099
+cccc-154 IN AAAA 2001:db8::2:009a
+cccc-155 IN AAAA 2001:db8::2:009b
+cccc-156 IN AAAA 2001:db8::2:009c
+cccc-157 IN AAAA 2001:db8::2:009d
+cccc-158 IN AAAA 2001:db8::2:009e
+cccc-159 IN AAAA 2001:db8::2:009f
+cccc-160 IN AAAA 2001:db8::2:00a0
+cccc-161 IN AAAA 2001:db8::2:00a1
+cccc-162 IN AAAA 2001:db8::2:00a2
+cccc-163 IN AAAA 2001:db8::2:00a3
+cccc-164 IN AAAA 2001:db8::2:00a4
+cccc-165 IN AAAA 2001:db8::2:00a5
+cccc-166 IN AAAA 2001:db8::2:00a6
+cccc-167 IN AAAA 2001:db8::2:00a7
+cccc-168 IN AAAA 2001:db8::2:00a8
+cccc-169 IN AAAA 2001:db8::2:00a9
+cccc-170 IN AAAA 2001:db8::2:00aa
+cccc-171 IN AAAA 2001:db8::2:00ab
+cccc-172 IN AAAA 2001:db8::2:00ac
+cccc-173 IN AAAA 2001:db8::2:00ad
+cccc-174 IN AAAA 2001:db8::2:00ae
+cccc-175 IN AAAA 2001:db8::2:00af
+cccc-176 IN AAAA 2001:db8::2:00b0
+cccc-177 IN AAAA 2001:db8::2:00b1
+cccc-178 IN AAAA 2001:db8::2:00b2
+cccc-179 IN AAAA 2001:db8::2:00b3
+cccc-180 IN AAAA 2001:db8::2:00b4
+cccc-181 IN AAAA 2001:db8::2:00b5
+cccc-182 IN AAAA 2001:db8::2:00b6
+cccc-183 IN AAAA 2001:db8::2:00b7
+cccc-184 IN AAAA 2001:db8::2:00b8
+cccc-185 IN AAAA 2001:db8::2:00b9
+cccc-186 IN AAAA 2001:db8::2:00ba
+cccc-187 IN AAAA 2001:db8::2:00bb
+cccc-188 IN AAAA 2001:db8::2:00bc
+cccc-189 IN AAAA 2001:db8::2:00bd
+cccc-190 IN AAAA 2001:db8::2:00be
+cccc-191 IN AAAA 2001:db8::2:00bf
+cccc-192 IN AAAA 2001:db8::2:00c0
+cccc-193 IN AAAA 2001:db8::2:00c1
+cccc-194 IN AAAA 2001:db8::2:00c2
+cccc-195 IN AAAA 2001:db8::2:00c3
+cccc-196 IN AAAA 2001:db8::2:00c4
+cccc-197 IN AAAA 2001:db8::2:00c5
+cccc-198 IN AAAA 2001:db8::2:00c6
+cccc-199 IN AAAA 2001:db8::2:00c7
+cccc-200 IN AAAA 2001:db8::2:00c8
+cccc-201 IN AAAA 2001:db8::2:00c9
+cccc-202 IN AAAA 2001:db8::2:00ca
+cccc-203 IN AAAA 2001:db8::2:00cb
+cccc-204 IN AAAA 2001:db8::2:00cc
+cccc-205 IN AAAA 2001:db8::2:00cd
+cccc-206 IN AAAA 2001:db8::2:00ce
+cccc-207 IN AAAA 2001:db8::2:00cf
+cccc-208 IN AAAA 2001:db8::2:00d0
+cccc-209 IN AAAA 2001:db8::2:00d1
+cccc-210 IN AAAA 2001:db8::2:00d2
+cccc-211 IN AAAA 2001:db8::2:00d3
+cccc-212 IN AAAA 2001:db8::2:00d4
+cccc-213 IN AAAA 2001:db8::2:00d5
+cccc-214 IN AAAA 2001:db8::2:00d6
+cccc-215 IN AAAA 2001:db8::2:00d7
+cccc-216 IN AAAA 2001:db8::2:00d8
+cccc-217 IN AAAA 2001:db8::2:00d9
+cccc-218 IN AAAA 2001:db8::2:00da
+cccc-219 IN AAAA 2001:db8::2:00db
+cccc-220 IN AAAA 2001:db8::2:00dc
+cccc-221 IN AAAA 2001:db8::2:00dd
+cccc-222 IN AAAA 2001:db8::2:00de
+cccc-223 IN AAAA 2001:db8::2:00df
+cccc-224 IN AAAA 2001:db8::2:00e0
+cccc-225 IN AAAA 2001:db8::2:00e1
+cccc-226 IN AAAA 2001:db8::2:00e2
+cccc-227 IN AAAA 2001:db8::2:00e3
+cccc-228 IN AAAA 2001:db8::2:00e4
+cccc-229 IN AAAA 2001:db8::2:00e5
+cccc-230 IN AAAA 2001:db8::2:00e6
+cccc-231 IN AAAA 2001:db8::2:00e7
+cccc-232 IN AAAA 2001:db8::2:00e8
+cccc-233 IN AAAA 2001:db8::2:00e9
+cccc-234 IN AAAA 2001:db8::2:00ea
+cccc-235 IN AAAA 2001:db8::2:00eb
+cccc-236 IN AAAA 2001:db8::2:00ec
+cccc-237 IN AAAA 2001:db8::2:00ed
+cccc-238 IN AAAA 2001:db8::2:00ee
+cccc-239 IN AAAA 2001:db8::2:00ef
+cccc-240 IN AAAA 2001:db8::2:00f0
+cccc-241 IN AAAA 2001:db8::2:00f1
+cccc-242 IN AAAA 2001:db8::2:00f2
+cccc-243 IN AAAA 2001:db8::2:00f3
+cccc-244 IN AAAA 2001:db8::2:00f4
+cccc-245 IN AAAA 2001:db8::2:00f5
+cccc-246 IN AAAA 2001:db8::2:00f6
+cccc-247 IN AAAA 2001:db8::2:00f7
+cccc-248 IN AAAA 2001:db8::2:00f8
+cccc-249 IN AAAA 2001:db8::2:00f9
+cccc-250 IN AAAA 2001:db8::2:00fa
+cccc-251 IN AAAA 2001:db8::2:00fb
+cccc-252 IN AAAA 2001:db8::2:00fc
+cccc-253 IN AAAA 2001:db8::2:00fd
+cccc-254 IN AAAA 2001:db8::2:00fe
+cccc-255 IN AAAA 2001:db8::2:00ff
+cccc-256 IN AAAA 2001:db8::2:0100
+cccc-257 IN AAAA 2001:db8::2:0101
+cccc-258 IN AAAA 2001:db8::2:0102
+cccc-259 IN AAAA 2001:db8::2:0103
+cccc-260 IN AAAA 2001:db8::2:0104
+cccc-261 IN AAAA 2001:db8::2:0105
+cccc-262 IN AAAA 2001:db8::2:0106
+cccc-263 IN AAAA 2001:db8::2:0107
+cccc-264 IN AAAA 2001:db8::2:0108
+cccc-265 IN AAAA 2001:db8::2:0109
+cccc-266 IN AAAA 2001:db8::2:010a
+cccc-267 IN AAAA 2001:db8::2:010b
+cccc-268 IN AAAA 2001:db8::2:010c
+cccc-269 IN AAAA 2001:db8::2:010d
+cccc-270 IN AAAA 2001:db8::2:010e
+cccc-271 IN AAAA 2001:db8::2:010f
+cccc-272 IN AAAA 2001:db8::2:0110
+cccc-273 IN AAAA 2001:db8::2:0111
+cccc-274 IN AAAA 2001:db8::2:0112
+cccc-275 IN AAAA 2001:db8::2:0113
+cccc-276 IN AAAA 2001:db8::2:0114
+cccc-277 IN AAAA 2001:db8::2:0115
+cccc-278 IN AAAA 2001:db8::2:0116
+cccc-279 IN AAAA 2001:db8::2:0117
+cccc-280 IN AAAA 2001:db8::2:0118
+cccc-281 IN AAAA 2001:db8::2:0119
+cccc-282 IN AAAA 2001:db8::2:011a
+cccc-283 IN AAAA 2001:db8::2:011b
+cccc-284 IN AAAA 2001:db8::2:011c
+cccc-285 IN AAAA 2001:db8::2:011d
+cccc-286 IN AAAA 2001:db8::2:011e
+cccc-287 IN AAAA 2001:db8::2:011f
+cccc-288 IN AAAA 2001:db8::2:0120
+cccc-289 IN AAAA 2001:db8::2:0121
+cccc-290 IN AAAA 2001:db8::2:0122
+cccc-291 IN AAAA 2001:db8::2:0123
+cccc-292 IN AAAA 2001:db8::2:0124
+cccc-293 IN AAAA 2001:db8::2:0125
+cccc-294 IN AAAA 2001:db8::2:0126
+cccc-295 IN AAAA 2001:db8::2:0127
+cccc-296 IN AAAA 2001:db8::2:0128
+cccc-297 IN AAAA 2001:db8::2:0129
+cccc-298 IN AAAA 2001:db8::2:012a
+cccc-299 IN AAAA 2001:db8::2:012b
+cccc-300 IN AAAA 2001:db8::2:012c
+cccc-301 IN AAAA 2001:db8::2:012d
+cccc-302 IN AAAA 2001:db8::2:012e
+cccc-303 IN AAAA 2001:db8::2:012f
+cccc-304 IN AAAA 2001:db8::2:0130
+cccc-305 IN AAAA 2001:db8::2:0131
+cccc-306 IN AAAA 2001:db8::2:0132
+cccc-307 IN AAAA 2001:db8::2:0133
+cccc-308 IN AAAA 2001:db8::2:0134
+cccc-309 IN AAAA 2001:db8::2:0135
+cccc-310 IN AAAA 2001:db8::2:0136
+cccc-311 IN AAAA 2001:db8::2:0137
+cccc-312 IN AAAA 2001:db8::2:0138
+cccc-313 IN AAAA 2001:db8::2:0139
+cccc-314 IN AAAA 2001:db8::2:013a
+cccc-315 IN AAAA 2001:db8::2:013b
+cccc-316 IN AAAA 2001:db8::2:013c
+cccc-317 IN AAAA 2001:db8::2:013d
+cccc-318 IN AAAA 2001:db8::2:013e
+cccc-319 IN AAAA 2001:db8::2:013f
+cccc-320 IN AAAA 2001:db8::2:0140
+cccc-321 IN AAAA 2001:db8::2:0141
+cccc-322 IN AAAA 2001:db8::2:0142
+cccc-323 IN AAAA 2001:db8::2:0143
+cccc-324 IN AAAA 2001:db8::2:0144
+cccc-325 IN AAAA 2001:db8::2:0145
+cccc-326 IN AAAA 2001:db8::2:0146
+cccc-327 IN AAAA 2001:db8::2:0147
+cccc-328 IN AAAA 2001:db8::2:0148
+cccc-329 IN AAAA 2001:db8::2:0149
+cccc-330 IN AAAA 2001:db8::2:014a
+cccc-331 IN AAAA 2001:db8::2:014b
+cccc-332 IN AAAA 2001:db8::2:014c
+cccc-333 IN AAAA 2001:db8::2:014d
+cccc-334 IN AAAA 2001:db8::2:014e
+cccc-335 IN AAAA 2001:db8::2:014f
+cccc-336 IN AAAA 2001:db8::2:0150
+cccc-337 IN AAAA 2001:db8::2:0151
+cccc-338 IN AAAA 2001:db8::2:0152
+cccc-339 IN AAAA 2001:db8::2:0153
+cccc-340 IN AAAA 2001:db8::2:0154
+cccc-341 IN AAAA 2001:db8::2:0155
+cccc-342 IN AAAA 2001:db8::2:0156
+cccc-343 IN AAAA 2001:db8::2:0157
+cccc-344 IN AAAA 2001:db8::2:0158
+cccc-345 IN AAAA 2001:db8::2:0159
+cccc-346 IN AAAA 2001:db8::2:015a
+cccc-347 IN AAAA 2001:db8::2:015b
+cccc-348 IN AAAA 2001:db8::2:015c
+cccc-349 IN AAAA 2001:db8::2:015d
+cccc-350 IN AAAA 2001:db8::2:015e
+cccc-351 IN AAAA 2001:db8::2:015f
+cccc-352 IN AAAA 2001:db8::2:0160
+cccc-353 IN AAAA 2001:db8::2:0161
+cccc-354 IN AAAA 2001:db8::2:0162
+cccc-355 IN AAAA 2001:db8::2:0163
+cccc-356 IN AAAA 2001:db8::2:0164
+cccc-357 IN AAAA 2001:db8::2:0165
+cccc-358 IN AAAA 2001:db8::2:0166
+cccc-359 IN AAAA 2001:db8::2:0167
+cccc-360 IN AAAA 2001:db8::2:0168
+cccc-361 IN AAAA 2001:db8::2:0169
+cccc-362 IN AAAA 2001:db8::2:016a
+cccc-363 IN AAAA 2001:db8::2:016b
+cccc-364 IN AAAA 2001:db8::2:016c
+cccc-365 IN AAAA 2001:db8::2:016d
+cccc-366 IN AAAA 2001:db8::2:016e
+cccc-367 IN AAAA 2001:db8::2:016f
+cccc-368 IN AAAA 2001:db8::2:0170
+cccc-369 IN AAAA 2001:db8::2:0171
+cccc-370 IN AAAA 2001:db8::2:0172
+cccc-371 IN AAAA 2001:db8::2:0173
+cccc-372 IN AAAA 2001:db8::2:0174
+cccc-373 IN AAAA 2001:db8::2:0175
+cccc-374 IN AAAA 2001:db8::2:0176
+cccc-375 IN AAAA 2001:db8::2:0177
+cccc-376 IN AAAA 2001:db8::2:0178
+cccc-377 IN AAAA 2001:db8::2:0179
+cccc-378 IN AAAA 2001:db8::2:017a
+cccc-379 IN AAAA 2001:db8::2:017b
+cccc-380 IN AAAA 2001:db8::2:017c
+cccc-381 IN AAAA 2001:db8::2:017d
+cccc-382 IN AAAA 2001:db8::2:017e
+cccc-383 IN AAAA 2001:db8::2:017f
+cccc-384 IN AAAA 2001:db8::2:0180
+cccc-385 IN AAAA 2001:db8::2:0181
+cccc-386 IN AAAA 2001:db8::2:0182
+cccc-387 IN AAAA 2001:db8::2:0183
+cccc-388 IN AAAA 2001:db8::2:0184
+cccc-389 IN AAAA 2001:db8::2:0185
+cccc-390 IN AAAA 2001:db8::2:0186
+cccc-391 IN AAAA 2001:db8::2:0187
+cccc-392 IN AAAA 2001:db8::2:0188
+cccc-393 IN AAAA 2001:db8::2:0189
+cccc-394 IN AAAA 2001:db8::2:018a
+cccc-395 IN AAAA 2001:db8::2:018b
+cccc-396 IN AAAA 2001:db8::2:018c
+cccc-397 IN AAAA 2001:db8::2:018d
+cccc-398 IN AAAA 2001:db8::2:018e
+cccc-399 IN AAAA 2001:db8::2:018f
+cccc-400 IN AAAA 2001:db8::2:0190
+cccc-401 IN AAAA 2001:db8::2:0191
+cccc-402 IN AAAA 2001:db8::2:0192
+cccc-403 IN AAAA 2001:db8::2:0193
+cccc-404 IN AAAA 2001:db8::2:0194
+cccc-405 IN AAAA 2001:db8::2:0195
+cccc-406 IN AAAA 2001:db8::2:0196
+cccc-407 IN AAAA 2001:db8::2:0197
+cccc-408 IN AAAA 2001:db8::2:0198
+cccc-409 IN AAAA 2001:db8::2:0199
+cccc-410 IN AAAA 2001:db8::2:019a
+cccc-411 IN AAAA 2001:db8::2:019b
+cccc-412 IN AAAA 2001:db8::2:019c
+cccc-413 IN AAAA 2001:db8::2:019d
+cccc-414 IN AAAA 2001:db8::2:019e
+cccc-415 IN AAAA 2001:db8::2:019f
+cccc-416 IN AAAA 2001:db8::2:01a0
+cccc-417 IN AAAA 2001:db8::2:01a1
+cccc-418 IN AAAA 2001:db8::2:01a2
+cccc-419 IN AAAA 2001:db8::2:01a3
+cccc-420 IN AAAA 2001:db8::2:01a4
+cccc-421 IN AAAA 2001:db8::2:01a5
+cccc-422 IN AAAA 2001:db8::2:01a6
+cccc-423 IN AAAA 2001:db8::2:01a7
+cccc-424 IN AAAA 2001:db8::2:01a8
+cccc-425 IN AAAA 2001:db8::2:01a9
+cccc-426 IN AAAA 2001:db8::2:01aa
+cccc-427 IN AAAA 2001:db8::2:01ab
+cccc-428 IN AAAA 2001:db8::2:01ac
+cccc-429 IN AAAA 2001:db8::2:01ad
+cccc-430 IN AAAA 2001:db8::2:01ae
+cccc-431 IN AAAA 2001:db8::2:01af
+cccc-432 IN AAAA 2001:db8::2:01b0
+cccc-433 IN AAAA 2001:db8::2:01b1
+cccc-434 IN AAAA 2001:db8::2:01b2
+cccc-435 IN AAAA 2001:db8::2:01b3
+cccc-436 IN AAAA 2001:db8::2:01b4
+cccc-437 IN AAAA 2001:db8::2:01b5
+cccc-438 IN AAAA 2001:db8::2:01b6
+cccc-439 IN AAAA 2001:db8::2:01b7
+cccc-440 IN AAAA 2001:db8::2:01b8
+cccc-441 IN AAAA 2001:db8::2:01b9
+cccc-442 IN AAAA 2001:db8::2:01ba
+cccc-443 IN AAAA 2001:db8::2:01bb
+cccc-444 IN AAAA 2001:db8::2:01bc
+cccc-445 IN AAAA 2001:db8::2:01bd
+cccc-446 IN AAAA 2001:db8::2:01be
+cccc-447 IN AAAA 2001:db8::2:01bf
+cccc-448 IN AAAA 2001:db8::2:01c0
+cccc-449 IN AAAA 2001:db8::2:01c1
+cccc-450 IN AAAA 2001:db8::2:01c2
+cccc-451 IN AAAA 2001:db8::2:01c3
+cccc-452 IN AAAA 2001:db8::2:01c4
+cccc-453 IN AAAA 2001:db8::2:01c5
+cccc-454 IN AAAA 2001:db8::2:01c6
+cccc-455 IN AAAA 2001:db8::2:01c7
+cccc-456 IN AAAA 2001:db8::2:01c8
+cccc-457 IN AAAA 2001:db8::2:01c9
+cccc-458 IN AAAA 2001:db8::2:01ca
+cccc-459 IN AAAA 2001:db8::2:01cb
+cccc-460 IN AAAA 2001:db8::2:01cc
+cccc-461 IN AAAA 2001:db8::2:01cd
+cccc-462 IN AAAA 2001:db8::2:01ce
+cccc-463 IN AAAA 2001:db8::2:01cf
+cccc-464 IN AAAA 2001:db8::2:01d0
+cccc-465 IN AAAA 2001:db8::2:01d1
+cccc-466 IN AAAA 2001:db8::2:01d2
+cccc-467 IN AAAA 2001:db8::2:01d3
+cccc-468 IN AAAA 2001:db8::2:01d4
+cccc-469 IN AAAA 2001:db8::2:01d5
+cccc-470 IN AAAA 2001:db8::2:01d6
+cccc-471 IN AAAA 2001:db8::2:01d7
+cccc-472 IN AAAA 2001:db8::2:01d8
+cccc-473 IN AAAA 2001:db8::2:01d9
+cccc-474 IN AAAA 2001:db8::2:01da
+cccc-475 IN AAAA 2001:db8::2:01db
+cccc-476 IN AAAA 2001:db8::2:01dc
+cccc-477 IN AAAA 2001:db8::2:01dd
+cccc-478 IN AAAA 2001:db8::2:01de
+cccc-479 IN AAAA 2001:db8::2:01df
+cccc-480 IN AAAA 2001:db8::2:01e0
+cccc-481 IN AAAA 2001:db8::2:01e1
+cccc-482 IN AAAA 2001:db8::2:01e2
+cccc-483 IN AAAA 2001:db8::2:01e3
+cccc-484 IN AAAA 2001:db8::2:01e4
+cccc-485 IN AAAA 2001:db8::2:01e5
+cccc-486 IN AAAA 2001:db8::2:01e6
+cccc-487 IN AAAA 2001:db8::2:01e7
+cccc-488 IN AAAA 2001:db8::2:01e8
+cccc-489 IN AAAA 2001:db8::2:01e9
+cccc-490 IN AAAA 2001:db8::2:01ea
+cccc-491 IN AAAA 2001:db8::2:01eb
+cccc-492 IN AAAA 2001:db8::2:01ec
+cccc-493 IN AAAA 2001:db8::2:01ed
+cccc-494 IN AAAA 2001:db8::2:01ee
+cccc-495 IN AAAA 2001:db8::2:01ef
+cccc-496 IN AAAA 2001:db8::2:01f0
+cccc-497 IN AAAA 2001:db8::2:01f1
+cccc-498 IN AAAA 2001:db8::2:01f2
+cccc-499 IN AAAA 2001:db8::2:01f3
+cccc-500 IN AAAA 2001:db8::2:01f4
+cccc-501 IN AAAA 2001:db8::2:01f5
+cccc-502 IN AAAA 2001:db8::2:01f6
+cccc-503 IN AAAA 2001:db8::2:01f7
+cccc-504 IN AAAA 2001:db8::2:01f8
+cccc-505 IN AAAA 2001:db8::2:01f9
+cccc-506 IN AAAA 2001:db8::2:01fa
+cccc-507 IN AAAA 2001:db8::2:01fb
+cccc-508 IN AAAA 2001:db8::2:01fc
+cccc-509 IN AAAA 2001:db8::2:01fd
+cccc-510 IN AAAA 2001:db8::2:01fe
+cccc-511 IN AAAA 2001:db8::2:01ff
diff --git a/tests/system/ixfr/db.example.n0.in b/tests/system/ixfr/db.example.n0.in
new file mode 100644
index 0000000..92fa0b0
--- /dev/null
+++ b/tests/system/ixfr/db.example.n0.in
@@ -0,0 +1,29 @@
+; 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.
+
+$ORIGIN example.
+$TTL 3600
+
+@ IN SOA ns1.example. hostmaster.example. 100 3600 900 7200 300
+
+ IN NS ns1.example.
+ IN NS ns2.example.
+
+ns1 IN A 192.0.2.1
+ns2 IN A 192.0.2.2
+
+a-1 IN A 192.0.2.101
+b-1 IN A 192.0.2.201
+
+$INCLUDE @abs_top_builddir@/tests/system/ixfr/db.example.common
diff --git a/tests/system/ixfr/db.example.n2.in b/tests/system/ixfr/db.example.n2.in
new file mode 100644
index 0000000..6a999af
--- /dev/null
+++ b/tests/system/ixfr/db.example.n2.in
@@ -0,0 +1,28 @@
+; 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.
+
+$ORIGIN example.
+$TTL 3600
+
+@ IN SOA ns1.example. hostmaster.example. 98 3600 900 7200 300
+
+ IN NS ns1.example.
+ IN NS ns2.example.
+
+ns1 IN A 192.0.2.1
+ns2 IN A 192.0.2.2
+
+a-1 IN A 192.0.2.101
+
+$INCLUDE @abs_top_builddir@/tests/system/ixfr/db.example.common
diff --git a/tests/system/ixfr/db.example.n2.refresh.in b/tests/system/ixfr/db.example.n2.refresh.in
new file mode 100644
index 0000000..2c59416
--- /dev/null
+++ b/tests/system/ixfr/db.example.n2.refresh.in
@@ -0,0 +1,28 @@
+; 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.
+
+$ORIGIN example.
+$TTL 3600
+
+@ IN SOA ns1.example. hostmaster.example. 98 30 2 7200 300
+
+ IN NS ns1.example.
+ IN NS ns2.example.
+
+ns1 IN A 192.0.2.1
+ns2 IN A 192.0.2.2
+
+a-1 IN A 192.0.2.101
+
+$INCLUDE @abs_top_builddir@/tests/system/ixfr/db.example.common
diff --git a/tests/system/ixfr/db.example.n4.in b/tests/system/ixfr/db.example.n4.in
new file mode 100644
index 0000000..ae15a54
--- /dev/null
+++ b/tests/system/ixfr/db.example.n4.in
@@ -0,0 +1,31 @@
+; 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.
+
+$ORIGIN example.
+$TTL 3600
+
+@ IN SOA ns1.example. hostmaster.example. 96 3600 900 7200 300
+
+ IN NS ns1.example.
+ IN NS ns2.example.
+
+ns1 IN A 192.0.2.1
+ns2 IN A 192.0.2.2
+
+a-1 IN A 192.0.2.101
+a-2 IN A 192.0.2.102
+b-1 IN A 192.0.2.201
+b-2 IN A 192.0.2.202
+
+$INCLUDE @abs_top_builddir@/tests/system/ixfr/db.example.common
diff --git a/tests/system/ixfr/db.example.n6.in b/tests/system/ixfr/db.example.n6.in
new file mode 100644
index 0000000..33a82a0
--- /dev/null
+++ b/tests/system/ixfr/db.example.n6.in
@@ -0,0 +1,29 @@
+; 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.
+
+$ORIGIN example.
+$TTL 3600
+
+@ IN SOA ns1.example. hostmaster.example. 94 3600 900 7200 300
+
+ IN NS ns1.example.
+ IN NS ns2.example.
+
+ns1 IN A 192.0.2.1
+ns2 IN A 192.0.2.2
+
+a-1 IN A 192.0.2.101
+a-2 IN A 192.0.2.102
+b-1 IN A 192.0.2.201
+b-2 IN A 192.0.2.202
diff --git a/tests/system/ixfr/in-1/clean.sh b/tests/system/ixfr/in-1/clean.sh
new file mode 120000
index 0000000..099bebd
--- /dev/null
+++ b/tests/system/ixfr/in-1/clean.sh
@@ -0,0 +1 @@
+../clean_ns.sh
\ No newline at end of file
diff --git a/tests/system/ixfr/in-1/ns1/README b/tests/system/ixfr/in-1/ns1/README
new file mode 100644
index 0000000..aaa8a31
--- /dev/null
+++ b/tests/system/ixfr/in-1/ns1/README
@@ -0,0 +1,3 @@
+This directory should be empty. A README file is placed here to ensure git
+notes the directory's presence. It can be removed if other files are placed
+here.
diff --git a/tests/system/ixfr/in-1/nsx2/README b/tests/system/ixfr/in-1/nsx2/README
new file mode 100644
index 0000000..aaa8a31
--- /dev/null
+++ b/tests/system/ixfr/in-1/nsx2/README
@@ -0,0 +1,3 @@
+This directory should be empty. A README file is placed here to ensure git
+notes the directory's presence. It can be removed if other files are placed
+here.
diff --git a/tests/system/ixfr/in-1/setup.sh.in b/tests/system/ixfr/in-1/setup.sh.in
new file mode 100644
index 0000000..d4c3978
--- /dev/null
+++ b/tests/system/ixfr/in-1/setup.sh.in
@@ -0,0 +1,30 @@
+#!/bin/sh
+#
+# Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2001, 2002 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.
+
+. @abs_top_builddir@/tests/system/conf.sh
+
+# Clean up from last time
+sh clean.sh
+
+# Set up the initial version of the IXFR server - load the n-4 version of the
+# zone. The configuration file enables IXFR and disabled notifies.
+cp -f $IXFR_TOP/named_nonotify.conf ns1/named.conf
+cp -f $IXFR_TOP/db.example.n4 ns1/db.example
+
+# Set up the IXFR client - load the same version of the zone.
+cp -f $IXFR_TOP/b10-config.db nsx2/b10-config.db
+${B10_LOADZONE} -o . -d $IXFR_TOP/zone.sqlite3 $IXFR_TOP/db.example.n4
diff --git a/tests/system/ixfr/in-1/tests.sh b/tests/system/ixfr/in-1/tests.sh
new file mode 100644
index 0000000..2f49ddf
--- /dev/null
+++ b/tests/system/ixfr/in-1/tests.sh
@@ -0,0 +1,37 @@
+#!/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.
+
+# \file
+# This script performs the first IXFR-IN test. A BIND 9 nameserver (the
+# "server") contains a version of the zone (version N) and two previous
+# versions, N-2 and N-4. A BIND 10 nameserver (the "client") is loaded with
+# version N-4 of the zone. A NOTIFY is sent to it, and it is expected that
+# it will send an IXFR to the server and update itself with the latest version
+# of the zone. (The changes are such that the update should be in the form of
+# a single UDP packet.)
+#
+# The pre-requisites for this test are the same as for the common tests, so
+# we can execute that directly.
+
+. ../common_tests.sh
+status=$?
+
+# TODO: Check the BIND 10 log, looking for the IXFR messages that indicate that
+# it has initiated an IXFR and that it received the update within a single
+# packet.
+
+echo "I:exit status: $status"
+exit $status
diff --git a/tests/system/ixfr/in-2/clean.sh b/tests/system/ixfr/in-2/clean.sh
new file mode 120000
index 0000000..099bebd
--- /dev/null
+++ b/tests/system/ixfr/in-2/clean.sh
@@ -0,0 +1 @@
+../clean_ns.sh
\ No newline at end of file
diff --git a/tests/system/ixfr/in-2/ns1/README b/tests/system/ixfr/in-2/ns1/README
new file mode 100644
index 0000000..aaa8a31
--- /dev/null
+++ b/tests/system/ixfr/in-2/ns1/README
@@ -0,0 +1,3 @@
+This directory should be empty. A README file is placed here to ensure git
+notes the directory's presence. It can be removed if other files are placed
+here.
diff --git a/tests/system/ixfr/in-2/nsx2/README b/tests/system/ixfr/in-2/nsx2/README
new file mode 100644
index 0000000..aaa8a31
--- /dev/null
+++ b/tests/system/ixfr/in-2/nsx2/README
@@ -0,0 +1,3 @@
+This directory should be empty. A README file is placed here to ensure git
+notes the directory's presence. It can be removed if other files are placed
+here.
diff --git a/tests/system/ixfr/in-2/setup.sh.in b/tests/system/ixfr/in-2/setup.sh.in
new file mode 100644
index 0000000..a5f64e5
--- /dev/null
+++ b/tests/system/ixfr/in-2/setup.sh.in
@@ -0,0 +1,29 @@
+#!/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.
+
+. @abs_top_builddir@/tests/system/conf.sh
+
+# Clean up from last time
+sh clean.sh
+
+# Set up the initial version of the IXFR server - load the n-6 version of the
+# zone. The configuration file enables IXFR and disables notifies.
+cp -f $IXFR_TOP/named_nonotify.conf ns1/named.conf
+cp -f $IXFR_TOP/db.example.n6 ns1/db.example
+
+# Set up the IXFR client - load an earlier version of the zone
+cp -f $IXFR_TOP/b10-config.db nsx2/b10-config.db
+${B10_LOADZONE} -o . -d $IXFR_TOP/zone.sqlite3 $IXFR_TOP/db.example.n6
diff --git a/tests/system/ixfr/in-2/tests.sh b/tests/system/ixfr/in-2/tests.sh
new file mode 100644
index 0000000..7b1e2a8
--- /dev/null
+++ b/tests/system/ixfr/in-2/tests.sh
@@ -0,0 +1,81 @@
+#!/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.
+
+# \file
+# This script performs the first IXFR-IN test. A BIND 9 nameserver (the
+# "server") contains a version of the zone (version N) and three previous
+# versions, N-2, N-4 and N-6. A BIND 10 nameserver (the "client") is loaded
+# with version N-6 of the zone. A NOTIFY is sent to it, and it is expected that
+# it will send an IXFR to the server and update itself with the latest version
+# of the zone. (The changes are such that the update will have to take place
+# over TCP.)
+
+. ../ixfr_init.sh
+
+# On entry, the IXFR server is at version N-6. The common tests assume that
+# it is an N-4, so update it.
+echo "I:$SERVER_NAME updating IXFR-server to suitable start version"
+update_server_zone $SERVER_NAME $SERVER_IP $IXFR_TOP/db.example.n4
+if [ $? -ne 0 ];
+then
+ exit 1
+fi
+
+# The pre-requisites for this test are the same as for the common tests, so
+# we can execute that directly.
+. ../common_tests.sh
+if [ $? -ne 0 ];
+then
+ exit 1
+fi
+
+# TEMPORARY: at the time of writing (October 2011) BIND 10 does not attempt
+# a UDP transfer first. Therefore just check for TCP transfer.
+
+# Check that the client initiated and completed an IXFR. Use a simple grep as
+# the syntax and capabilities of egrep may vary between systems.
+grep XFRIN_XFR_TRANSFER_STARTED nsx2/bind10.run | grep IXFR > /dev/null
+if [ $? -ne 0 ];
+then
+ echo "R:$CLIENT_NAME FAIL no 'IXFR started' message in the BIND 10 log"
+ exit 1
+fi
+
+grep XFRIN_XFR_TRANSFER_SUCCESS nsx2/bind10.run | grep IXFR > /dev/null
+if [ $? -ne 0 ];
+then
+ echo "R:$CLIENT_NAME FAIL no 'IXFR successful' message in the BIND 10 log"
+ exit 1
+fi
+
+# Look in the named log file to see if a TCP IXFR was requested. Again use a
+# simple grep.
+grep "transfer of" ns1/named.run | grep "sending TCP message" > /dev/null
+if [ $? -ne 0 ];
+then
+ echo "R:$SERVER_NAME FAIL no 'sending TCP' message in the BIND 9 log"
+ exit 1
+fi
+
+grep "IXFR ended" ns1/named.run > /dev/null
+if [ $? -ne 0 ];
+then
+ echo "R:$SERVER_NAME FAIL no 'IXFR ended' message in the BIND 9 log"
+ exit 1
+fi
+
+echo "I:exit status: 0"
+exit 0
diff --git a/tests/system/ixfr/in-3/clean.sh b/tests/system/ixfr/in-3/clean.sh
new file mode 120000
index 0000000..099bebd
--- /dev/null
+++ b/tests/system/ixfr/in-3/clean.sh
@@ -0,0 +1 @@
+../clean_ns.sh
\ No newline at end of file
diff --git a/tests/system/ixfr/in-3/ns1/README b/tests/system/ixfr/in-3/ns1/README
new file mode 100644
index 0000000..aaa8a31
--- /dev/null
+++ b/tests/system/ixfr/in-3/ns1/README
@@ -0,0 +1,3 @@
+This directory should be empty. A README file is placed here to ensure git
+notes the directory's presence. It can be removed if other files are placed
+here.
diff --git a/tests/system/ixfr/in-3/nsx2/README b/tests/system/ixfr/in-3/nsx2/README
new file mode 100644
index 0000000..aaa8a31
--- /dev/null
+++ b/tests/system/ixfr/in-3/nsx2/README
@@ -0,0 +1,3 @@
+This directory should be empty. A README file is placed here to ensure git
+notes the directory's presence. It can be removed if other files are placed
+here.
diff --git a/tests/system/ixfr/in-3/setup.sh.in b/tests/system/ixfr/in-3/setup.sh.in
new file mode 100644
index 0000000..867e06e
--- /dev/null
+++ b/tests/system/ixfr/in-3/setup.sh.in
@@ -0,0 +1,29 @@
+#!/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.
+
+. @abs_top_builddir@/tests/system/conf.sh
+# Clean up from last time
+
+sh clean.sh
+
+# Set up the initial version of the IXFR server - load the latest version of
+# the zone.
+cp -f $IXFR_TOP/named_noixfr.conf ns1/named.conf
+cp -f $IXFR_TOP/db.example.n0 ns1/db.example
+
+# Set up the IXFR client - load a previous version of the zone.
+cp -f $IXFR_TOP/b10-config.db nsx2/b10-config.db
+${B10_LOADZONE} -o . -d $IXFR_TOP/zone.sqlite3 $IXFR_TOP/db.example.n2
diff --git a/tests/system/ixfr/in-3/tests.sh b/tests/system/ixfr/in-3/tests.sh
new file mode 100644
index 0000000..858b815
--- /dev/null
+++ b/tests/system/ixfr/in-3/tests.sh
@@ -0,0 +1,55 @@
+#!/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.
+
+# \file
+# This script performs the third IXFR-IN test. A BIND 9 nameserver (the
+# "server") contains a version of the zone (version N) and has IXFRs disabled.
+# A BIND 10 nameserver (the "client") is loaded with version N-2 of the zone.
+# A NOTIFY is sent to it, and it is expected that it will send an IXFR to the
+# server; the server should not respond to the request, so the client should
+# then send an AXFR request and receive the latest copy of the zone.
+
+. ../ixfr_init.sh
+status=$?
+
+# Store the SOA serial number of the BIND 10 client for later use.
+old_client_serial=`$DIG_SOA @$CLIENT_IP | $AWK '{print $3}'`
+echo "I:SOA serial of IXFR client $CLIENT_NAME is $old_client_serial"
+
+# TODO: Need to alter configuration of BIND 10 server such that it accepts
+# NOTIFYs from and sends IXFR requests to the BIND 9 master.
+
+# If required, get the IXFR server to notify the IXFR client of the new zone.
+# Do this by allowing notifies and then triggering a re-notification of the
+# server.
+echo "I:notifying IXFR-client $CLIENT_NAME of presence of new version of zone"
+do_rndc $SERVER_NAME $SERVER_IP notify example
+status=`expr $status + $?`
+
+# Wait for the client to update itself.
+wait_for_update $CLIENT_NAME $CLIENT_IP $old_client_serial
+status=`expr $status + $?`
+
+# Has updated, get the latest serial of the client and server - they
+# should be the same.
+compare_soa $SERVER_NAME $SERVER_IP $CLIENT_NAME $CLIENT_IP
+status=`expr $status + $?`
+
+# TODO: Check the BIND 10 log, looking for the IXFR messages that indicate that
+# it has initiated an IXFR and then an AXFR.
+
+echo "I:exit status: $status"
+exit $status
diff --git a/tests/system/ixfr/in-4/clean.sh b/tests/system/ixfr/in-4/clean.sh
new file mode 120000
index 0000000..099bebd
--- /dev/null
+++ b/tests/system/ixfr/in-4/clean.sh
@@ -0,0 +1 @@
+../clean_ns.sh
\ No newline at end of file
diff --git a/tests/system/ixfr/in-4/ns1/README b/tests/system/ixfr/in-4/ns1/README
new file mode 100644
index 0000000..aaa8a31
--- /dev/null
+++ b/tests/system/ixfr/in-4/ns1/README
@@ -0,0 +1,3 @@
+This directory should be empty. A README file is placed here to ensure git
+notes the directory's presence. It can be removed if other files are placed
+here.
diff --git a/tests/system/ixfr/in-4/nsx2/README b/tests/system/ixfr/in-4/nsx2/README
new file mode 100644
index 0000000..aaa8a31
--- /dev/null
+++ b/tests/system/ixfr/in-4/nsx2/README
@@ -0,0 +1,3 @@
+This directory should be empty. A README file is placed here to ensure git
+notes the directory's presence. It can be removed if other files are placed
+here.
diff --git a/tests/system/ixfr/in-4/setup.sh.in b/tests/system/ixfr/in-4/setup.sh.in
new file mode 100644
index 0000000..7419e27
--- /dev/null
+++ b/tests/system/ixfr/in-4/setup.sh.in
@@ -0,0 +1,30 @@
+#!/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.
+
+. @abs_top_builddir@/tests/system/conf.sh
+# Clean up from last time
+
+sh clean.sh
+
+# Set up the initial version of the ixfr server - load the last-but-one version
+# of the zone.
+cp $IXFR_TOP/named_nonotify.conf ns1/named.conf
+cp -f $IXFR_TOP/db.example.n2.refresh ns1/db.example
+
+# Set up the IXFR client - load a previous version of the zone with a short
+# refresh time.
+cp -f $IXFR_TOP/b10-config.db nsx2/b10-config.db
+${B10_LOADZONE} -o . -d $IXFR_TOP/zone.sqlite3 $IXFR_TOP/db.example.n2.refresh
diff --git a/tests/system/ixfr/in-4/tests.sh b/tests/system/ixfr/in-4/tests.sh
new file mode 100644
index 0000000..3024253
--- /dev/null
+++ b/tests/system/ixfr/in-4/tests.sh
@@ -0,0 +1,53 @@
+#!/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.
+
+# \file
+# This script performs the fourth IXFR-IN test. A BIND 9 nameserver (the
+# "server") contains a version of the zone (version N) and has IXFRs enabled.
+# A BIND 10 nameserver (the "client") is loaded with version N-2 of the zone
+# and a small refresh time. After this expires, the IXFR client should send
+# an IXFR request to the IXFR server.
+
+. ../ixfr_init.sh
+status=$?
+
+# Ensure the server has the latest copy of the zone. The implicit assumption
+# here is that starting the two systems and reloading the IXFR server takes
+# less time than the SOA refresh time set in the "db.example.n2.refresh" zone
+# file.
+cp $IXFR_TOP/db.example.n0 ns1/db.example
+do_rndc $SERVER_NAME $SERVER_IP reload
+
+# Store the SOA serial number of the BIND 10 client for later use.
+old_client_serial=`$DIG_SOA @$CLIENT_IP | $AWK '{print $3}'`
+echo "I:SOA serial of IXFR client $CLIENT_NAME is $old_client_serial"
+
+# Wait for the client to update itself. 30 seconds has been given as the
+# refresh interface and 2 seconds as the retry interval. The wait_for_update
+# function will check for up to a minute looking for the new serial.
+wait_for_update $CLIENT_NAME $CLIENT_IP $old_client_serial
+status=`expr $status + $?`
+
+# Has updated, get the latest serial of the client and server - they
+# should be the same.
+compare_soa $SERVER_NAME $SERVER_IP $CLIENT_NAME $CLIENT_IP
+status=`expr $status + $?`
+
+# TODO: Check the BIND 10 log, looking for the IXFR messages that indicate that
+# the client has initiated the IXFR.
+
+echo "I:exit status: $status"
+exit $status
diff --git a/tests/system/ixfr/ixfr_init.sh.in b/tests/system/ixfr/ixfr_init.sh.in
new file mode 100644
index 0000000..ba6049e
--- /dev/null
+++ b/tests/system/ixfr/ixfr_init.sh.in
@@ -0,0 +1,330 @@
+#!/bin/sh
+#
+# Copyright (C) 2011 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.
+
+# \file
+# This file should be run by all IXFR tests before doing anything else. It
+# includes the main configuration script to set the environment variables as
+# well as defining useful shell subroutines.
+
+. @abs_top_builddir@/tests/system/conf.sh
+
+# Useful symbols used in the IXFR tests.
+
+# Short-hand for getting SOA - just supply address of the server
+DIG_SOA="$DIG +norecurse +short -p $DNS_PORT example. SOA"
+
+# All IXFR tests use a BIND 9 server serving a BIND 10 client. These have the
+# smae name and use the same address in all tests.
+SERVER_NAME=ns1
+SERVER_IP=10.53.0.1 # BIND 9
+
+CLIENT_NAME=nsx2
+CLIENT_IP=10.53.0.2 # BIND 10
+
+# \brief Check Arguments
+#
+# Most functions take the name of nameserver as the first argument and its IP
+# address as the second. This function is passed "$*" and just checks that
+# both $1 and $2 are defined.
+#
+# \arg $* Arguments passed to caller
+#
+# \return status 0 => $1 and $2 are defined, 1 => they are not.
+check_name_ip() {
+
+ if [ "$1" = "" ];
+ then
+ echo "R:FAIL name of server not supplied"
+ return 1
+ fi
+
+ if [ "$2" = "" ];
+ then
+ echo "R:FAIL IP address of server not supplied"
+ return 1
+ fi
+
+ return 0
+}
+
+
+# \brief Perform RNDC Command
+#
+# Controls the BIND 9 IXFR server. Called do_rndc (instead of rndc) to avoid
+# confusion if rndc itself is in the search path.
+#
+# \arg $1 - Name of the server (ns1, nsx2 etc.)
+# \arg $2 - IP address of the server
+# \arg $* - Command to execute (which may be multiple tokens)
+#
+# \return 0 on success, 1 on failure (in which case an error message will
+# have been output).
+do_rndc () {
+
+ # If the following checks fail, the code is wrong.
+
+ check_name_ip $*
+ if [ $? -ne 0 ];
+ then
+ echo "R:FAIL do_rndc - name or ip address of server not supplied"
+ return 1
+ fi
+
+ name=$1
+ shift
+ ip=$1
+ shift
+
+ if [ "$1" = "" ];
+ then
+ echo "R:FAIL do_rndc - rndc command not supplied"
+ return 1
+ fi
+
+ $RNDC -c $SYSTEM_TOP/common/rndc.conf -s $ip -p $RNDC_PORT $* 2>&1 \
+ | sed "s/^/I:$name /"
+}
+
+# \brief Wait for update
+#
+# Given a serial number and a server, poll the nameserver until the SOA serial
+# number is different from that given. The poll takes place every five seconds
+# for a minute.
+#
+# \arg $1 - Name of the server
+# \arg $2 - IP address of the server
+# \arg $3 - Serial number to check against
+#
+# \return 0 if the serial number is different (requires another poll to obtain
+# it), 1 if the serial number has not changed after one minute.
+wait_for_update() {
+
+ # If the following checks fail, the code is wrong.
+
+ check_name_ip $*
+ if [ $? -ne 0 ];
+ then
+ echo "R:FAIL wait_for_update - name or ip address of system not supplied"
+ return 1
+
+ fi
+
+ name=$1
+ shift
+ ip=$1
+ shift
+
+ serial=$1
+ if [ "$serial" = "" ];
+ then
+ echo "R:FAIL wait_for_update - serial number not supplied"
+ return 1
+ fi
+
+ # Now poll the server looking for the new serial number
+
+ echo "I:$name waiting for SOA serial to change from $serial"
+ for i in 1 2 3 4 5 6 7 8 9 10 11 12
+ do
+ if [ $i -gt 1 ];
+ then
+ sleep 5
+ fi
+
+ new_serial=`$DIG_SOA @$ip | $AWK '{print $3}'`
+ if [ "$new_serial" != "$serial" ];
+ then
+ echo "I:$name SOA serial was at $serial, now at $new_serial"
+ return 0
+ fi
+ done
+
+ echo "R:$name FAIL serial number has not updated"
+ return 1
+}
+
+
+
+# \brief Update server zone
+#
+# Reloads the example. zone in the BIND 9 IXFR server and waits a maximum of
+# one minute for it to be served.
+#
+# \arg $1 - Name of the server (ns1, nsx2 etc.)
+# \arg $2 - IP address of the server
+# \arg $3 - Zone file to load
+# \arg $* - Command to execute (which may be multiple tokens)
+#
+# \return 0 on success, 1 on failure (for which an error message will have
+# been output).
+update_server_zone() {
+
+ # If the following checks fail, the code is wrong.
+
+ check_name_ip $*
+ if [ $? -ne 0 ];
+ then
+ echo "R:FAIL update_server_zone - name or ip address of server not supplied"
+ return 1
+ fi
+
+ name=$1
+ shift
+ ip=$1
+ shift
+
+ file=$1
+ shift
+ if [ "$file" = "" ];
+ then
+ echo "R:FAIL update_server_zone - new zone file not supplied"
+ return 1
+ fi
+
+ if [ ! -e $file ];
+ then
+ echo "R:FAIL update_server_zone - zone file does not exist: $file"
+ return 1
+ fi
+
+ old_serial=`$DIG_SOA @$ip | $AWK '{print $3}'`
+
+ echo "I:$name IXFR server loading $file"
+ cp $file $name/db.example
+ do_rndc $name $ip reload
+ if [ $? -ne 0 ];
+ then
+ return 1 # Message will have already been output
+ fi
+
+ wait_for_update $name $ip $old_serial
+ if [ $? -ne 0 ];
+ then
+ echo "R:$name FAIL IXFR server did not update zone after reload"
+ return 1
+ fi
+ new_serial=`$DIG_SOA @$ip | $AWK '{print $3}'`
+
+ return 0
+}
+
+# \brief Compare client and server SOAs
+#
+# Checks the SOAs of two systems and reports if they are not equal.
+#
+# \arg $1 Name of the IXFR server
+# \arg $2 IP of the IXFR server
+# \arg $3 Name of the IXFR client
+# \arg $4 IP of the IXFR client
+#
+# \return 0 if the systems have the same SOA, 1 if not. In the latter case,
+# an error will be output.
+compare_soa() {
+
+ # If the following checks fail, the code is wrong.
+
+ check_name_ip $*
+ if [ $? -ne 0 ];
+ then
+ echo "R:FAIL compare_soa - name or ip address of server not supplied"
+ return 1
+ fi
+
+ server_name=$1
+ shift
+ server_ip=$1
+ shift
+
+ check_name_ip $*
+ if [ $? -ne 0 ];
+ then
+ echo "R:FAIL compare_soa - name or ip address of client not supplied"
+ return 1
+ fi
+
+ client_name=$1
+ shift
+ client_ip=$1
+ shift
+
+ client_serial=`$DIG_SOA @$client_ip | $AWK '{print $3}'`
+ server_serial=`$DIG_SOA @$server_ip | $AWK '{print $3}'`
+ if [ "$client_serial" != "$server_serial" ];
+ then
+ echo "R:FAIL client $client_name serial $client_serial not same as server $server_name serial $server_serial"
+ return 1
+ fi
+
+ return 0
+}
+
+# \brief Compare client and server zones
+#
+# Checks the zones of two systems and reports if they are not identical.
+#
+# The check is simplistic. Each zone is listed via "dig", after which comment
+# lines, blank lines and spaces/tabs are removed, and the result sorted. The
+# output from each system is then compared. They should be identical.
+#
+# \arg $1 Name of the IXFR server
+# \arg $2 IP of the IXFR server
+# \arg $3 Name of the IXFR client
+# \arg $4 IP of the IXFR client
+#
+# \return 0 if the zones are the same, 1 if not.
+compare_zones() {
+
+ # If the following checks fail, the code is wrong.
+
+ check_name_ip $*
+ if [ $? -ne 0 ];
+ then
+ echo "R:FAIL compare_zones - name or ip address of server not supplied"
+ return 1
+ fi
+
+ server_name=$1
+ shift
+ server_ip=$1
+ shift
+
+ check_name_ip $*
+ if [ $? -ne 0 ];
+ then
+ echo "R:FAIL compare_zones - name or ip address of client not supplied"
+ return 1
+ fi
+
+ client_name=$1
+ shift
+ client_ip=$1
+ shift
+
+ $DIG @$client_ip -p $DNS_PORT example. axfr | grep -v '^;' | grep -v '^$' \
+ | sed -e 's/ //g' -e 's/\t//g' | sort > client.dig
+ $DIG @$server_ip -p $DNS_PORT example. axfr | grep -v '^;' | grep -v '^$' \
+ | sed -e 's/ //g' -e 's/\t//g' | sort > server.dig
+ diff client.dig server.dig
+ if [ $? -eq 0 ];
+ then
+ echo "I:client and server zones identical"
+ else
+ echo "R:FAIL client $client_name zone not same as server $server_name zone"
+ return 1
+ fi
+
+ return 0
+}
diff --git a/tests/system/ixfr/named_noixfr.conf b/tests/system/ixfr/named_noixfr.conf
new file mode 100644
index 0000000..b0d972a
--- /dev/null
+++ b/tests/system/ixfr/named_noixfr.conf
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2004, 2007, 2011 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.
+ */
+
+include "../../../common/rndc.key";
+
+controls {
+ inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
+};
+
+options {
+ query-source address 10.53.0.1;
+ notify-source 10.53.0.1;
+ transfer-source 10.53.0.1;
+ port 53210;
+ pid-file "named.pid";
+ listen-on { 10.53.0.1; };
+ listen-on-v6 { none; };
+ recursion no;
+ ixfr-from-differences no;
+ notify explicit;
+ also-notify { 10.53.0.2; };
+};
+
+zone "example" {
+ type master;
+ file "db.example";
+};
diff --git a/tests/system/ixfr/named_nonotify.conf b/tests/system/ixfr/named_nonotify.conf
new file mode 100644
index 0000000..c08c212
--- /dev/null
+++ b/tests/system/ixfr/named_nonotify.conf
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2004, 2007, 2011 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.
+ */
+
+include "../../../common/rndc.key";
+
+controls {
+ inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
+};
+
+options {
+ query-source address 10.53.0.1;
+ notify-source 10.53.0.1;
+ transfer-source 10.53.0.1;
+ port 53210;
+ pid-file "named.pid";
+ listen-on { 10.53.0.1; };
+ listen-on-v6 { none; };
+ recursion no;
+ ixfr-from-differences yes;
+ notify no;
+};
+
+zone "example" {
+ type master;
+ file "db.example";
+};
diff --git a/tests/system/ixfr/named_notify.conf b/tests/system/ixfr/named_notify.conf
new file mode 100644
index 0000000..df45e6f
--- /dev/null
+++ b/tests/system/ixfr/named_notify.conf
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2004, 2007, 2011 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.
+ */
+
+include "../../../common/rndc.key";
+
+controls {
+ inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
+};
+
+options {
+ query-source address 10.53.0.1;
+ notify-source 10.53.0.1;
+ transfer-source 10.53.0.1;
+ port 53210;
+ pid-file "named.pid";
+ listen-on { 10.53.0.1; };
+ listen-on-v6 { none; };
+ recursion no;
+ ixfr-from-differences yes;
+ notify explicit;
+ also-notify { 10.53.0.2; };
+};
+
+zone "example" {
+ type master;
+ file "db.example";
+};
diff --git a/tests/system/run.sh b/tests/system/run.sh
deleted file mode 100755
index 4f852f4..0000000
--- a/tests/system/run.sh
+++ /dev/null
@@ -1,125 +0,0 @@
-#!/bin/sh
-#
-# Copyright (C) 2004, 2007, 2010 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.
-
-#
-# Run a system test.
-#
-
-SYSTEMTESTTOP=.
-. $SYSTEMTESTTOP/conf.sh
-
-stopservers=true
-
-case $1 in
- --keep) stopservers=false; shift ;;
-esac
-
-test $# -gt 0 || { echo "usage: $0 [--keep] test-directory" >&2; exit 1; }
-
-test=$1
-shift
-
-test -d $test || { echo "$0: $test: no such test" >&2; exit 1; }
-
-echo "S:$test:`date`" >&2
-echo "T:$test:1:A" >&2
-echo "A:System test $test" >&2
-
-if [ x$PERL = x ]
-then
- echo "I:Perl not available. Skipping test." >&2
- echo "R:UNTESTED" >&2
- echo "E:$test:`date`" >&2
- exit 0;
-fi
-
-$PERL $TESTSOCK || {
- echo "I:Network interface aliases not set up. Skipping test." >&2;
- echo "R:UNTESTED" >&2;
- echo "E:$test:`date`" >&2;
- exit 0;
-}
-
-
-# Check for test-specific prerequisites.
-test ! -f $test/prereq.sh || ( cd $test && sh prereq.sh "$@" )
-result=$?
-
-if [ $result -eq 0 ]; then
- : prereqs ok
-else
- echo "I:Prerequisites for $test missing, skipping test." >&2
- [ $result -eq 255 ] && echo "R:SKIPPED" || echo "R:UNTESTED"
- echo "E:$test:`date`" >&2
- exit 0
-fi
-
-# Check for PKCS#11 support
-if
- test ! -f $test/usepkcs11 || sh cleanpkcs11.sh
-then
- : pkcs11 ok
-else
- echo "I:Need PKCS#11 for $test, skipping test." >&2
- echo "R:PKCS11ONLY" >&2
- echo "E:$test:`date`" >&2
- exit 0
-fi
-
-# Set up any dynamically generated test data
-if test -f $test/setup.sh
-then
- ( cd $test && sh setup.sh "$@" )
-fi
-
-# Start name servers running
-$PERL start.pl $test || exit 1
-
-# Run the tests
-( cd $test ; sh tests.sh )
-
-status=$?
-
-if $stopservers
-then
- :
-else
- exit $status
-fi
-
-# Shutdown
-$PERL stop.pl $test
-
-status=`expr $status + $?`
-
-if [ $status != 0 ]; then
- echo "R:FAIL"
- # Don't clean up - we need the evidence.
- find . -name core -exec chmod 0644 '{}' \;
-else
- echo "R:PASS"
-
- # Clean up.
- if test -f $test/clean.sh
- then
- ( cd $test && sh clean.sh "$@" )
- fi
-fi
-
-echo "E:$test:`date`"
-
-exit $status
diff --git a/tests/system/run.sh.in b/tests/system/run.sh.in
new file mode 100755
index 0000000..619b865
--- /dev/null
+++ b/tests/system/run.sh.in
@@ -0,0 +1,125 @@
+#!/bin/sh
+#
+# Copyright (C) 2004, 2007, 2010 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.
+
+#
+# Run a system test.
+#
+
+SYSTEMTOP=@abs_top_builddir@/tests/system
+. $SYSTEMTOP/conf.sh
+
+stopservers=true
+
+case $1 in
+ --keep) stopservers=false; shift ;;
+esac
+
+test $# -gt 0 || { echo "usage: $0 [--keep] test-directory" >&2; exit 1; }
+
+test=$1
+shift
+
+test -d $test || { echo "$0: $test: no such test" >&2; exit 1; }
+
+echo "S:$test:`date`" >&2
+echo "T:$test:1:A" >&2
+echo "A:System test $test" >&2
+
+if [ x$PERL = x ]
+then
+ echo "I:Perl not available. Skipping test." >&2
+ echo "R:UNTESTED" >&2
+ echo "E:$test:`date`" >&2
+ exit 0;
+fi
+
+$PERL $TESTSOCK || {
+ echo "I:Network interface aliases not set up. Skipping test." >&2;
+ echo "R:UNTESTED" >&2;
+ echo "E:$test:`date`" >&2;
+ exit 0;
+}
+
+
+# Check for test-specific prerequisites.
+test ! -f $test/prereq.sh || ( cd $test && sh prereq.sh "$@" )
+result=$?
+
+if [ $result -eq 0 ]; then
+ : prereqs ok
+else
+ echo "I:Prerequisites for $test missing, skipping test." >&2
+ [ $result -eq 255 ] && echo "R:SKIPPED" || echo "R:UNTESTED"
+ echo "E:$test:`date`" >&2
+ exit 0
+fi
+
+# Check for PKCS#11 support
+if
+ test ! -f $test/usepkcs11 || sh cleanpkcs11.sh
+then
+ : pkcs11 ok
+else
+ echo "I:Need PKCS#11 for $test, skipping test." >&2
+ echo "R:PKCS11ONLY" >&2
+ echo "E:$test:`date`" >&2
+ exit 0
+fi
+
+# Set up any dynamically generated test data
+if test -f $test/setup.sh
+then
+ ( cd $test && sh setup.sh "$@" )
+fi
+
+# Start name servers running
+$PERL $SYSTEMTOP/start.pl $test || exit 1
+
+# Run the tests
+( cd $test ; sh tests.sh )
+
+status=$?
+
+if $stopservers
+then
+ :
+else
+ exit $status
+fi
+
+# Shutdown
+$PERL $SYSTEMTOP/stop.pl $test
+
+status=`expr $status + $?`
+
+if [ $status != 0 ]; then
+ echo "R:FAIL"
+ # Don't clean up - we need the evidence.
+ find . -name core -exec chmod 0644 '{}' \;
+else
+ echo "R:PASS"
+
+ # Clean up.
+ if test -f $test/clean.sh
+ then
+ ( cd $test && sh clean.sh "$@" )
+ fi
+fi
+
+echo "E:$test:`date`"
+
+exit $status
diff --git a/tests/system/start.pl b/tests/system/start.pl
index 56f00c4..daa4577 100755
--- a/tests/system/start.pl
+++ b/tests/system/start.pl
@@ -53,7 +53,7 @@ if ($server && !-d "$test/$server") {
my $topdir = abs_path("$test/..");
my $testdir = abs_path("$test");
my $RUN_BIND10 = $ENV{'RUN_BIND10'};
-my $NAMED = $ENV{'NAMED'};
+my $NAMED = $ENV{'BIND9_NAMED'};
my $LWRESD = $ENV{'LWRESD'};
my $DIG = $ENV{'DIG'};
my $PERL = $ENV{'PERL'};
@@ -182,7 +182,7 @@ sub start_server {
exit 1;
}
- # print "I:starting server $server\n";
+ print "I:starting server $server\n";
chdir "$testdir/$server";
More information about the bind10-changes
mailing list