- ./timestamp ./start-test-stop 5300 tinydns
- cd ..
+ - cd regression-tests.rootzone
+ - ./timestamp ./start-test-stop 5300 bind-both
+#FIXME 400, NSEC record synthesis for root zones is broken
+# - ./timestamp ./start-test-stop 5300 bind-dnssec-both
+ - ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-both
+#FIXME 400, NSEC record synthesis for root zones is broken
+# - ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-optout-both
+ - ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-narrow
+ - ./timestamp ./start-test-stop 5300 bind-hybrid-nsec3
+
+ - ./timestamp ./start-test-stop 5300 gmysql-nodnssec-both
+ - ./timestamp ./start-test-stop 5300 gmysql-both
+#FIXME 400, NSEC3 record synthesis for root zones is broken
+# - ./timestamp ./start-test-stop 5300 gmysql-nsec3-both
+# - ./timestamp ./start-test-stop 5300 gmysql-nsec3-optout-both
+# - ./timestamp ./start-test-stop 5300 gmysql-nsec3-narrow
+
+ - ./timestamp ./start-test-stop 5300 gpgsql-nodnssec-both
+ - ./timestamp ./start-test-stop 5300 gpgsql-both
+#FIXME 400, NSEC3 record synthesis for root zones is broken
+# - ./timestamp ./start-test-stop 5300 gpgsql-nsec3-both
+# - ./timestamp ./start-test-stop 5300 gpgsql-nsec3-optout-both
+# - ./timestamp ./start-test-stop 5300 gpgsql-nsec3-narrow
+
+ - ./timestamp ./start-test-stop 5300 gsqlite3-nodnssec-both
+ - ./timestamp ./start-test-stop 5300 gsqlite3-both
+#FIXME 400, NSEC3 record synthesis for root zones is broken
+# - ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-both
+# - ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-optout-both
+# - ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-narrow
+
+ - cd ..
### recursor ###
--- /dev/null
+../regression-tests/.gitignore
\ No newline at end of file
--- /dev/null
+../regression-tests/backends
\ No newline at end of file
--- /dev/null
+../regression-tests/check_stest_source
\ No newline at end of file
--- /dev/null
+../regression-tests/cleandig
\ No newline at end of file
--- /dev/null
+../regression-tests/ext
\ No newline at end of file
--- /dev/null
+../regression-tests/modules
\ No newline at end of file
--- /dev/null
+options {
+ directory "./zones/";
+ recursion no;
+ listen-on port 5300 {
+ 127.0.0.1;
+ };
+ version "Meow!Meow!";
+ minimal-responses yes;
+};
+zone "."{
+ type master;
+ file "ROOT";
+};
+
--- /dev/null
+../regression-tests/runtests
\ No newline at end of file
--- /dev/null
+../regression-tests/start-test-stop
\ No newline at end of file
--- /dev/null
+../../regression-tests/tests/.gitignore
\ No newline at end of file
--- /dev/null
+#!/usr/bin/env bash
+rm -f trustedkeys
+rm -f unbound-host.conf
+
+for zone in $(grep 'zone ' named.conf | cut -f2 -d\")
+do
+ if [ "${zone: 0:16}" != "secure-delegated" ]
+ then
+ drill -p $port -o rd -D dnskey $zone @$nameserver | grep $'DNSKEY\t257' | grep -v 'RRSIG' | grep -v '^;' | grep -v AwEAAarTiHhPgvD28WCN8UBXcEcf8f >> trustedkeys
+ fi
+ echo "stub-zone:" >> unbound-host.conf
+ echo " name: $zone" >> unbound-host.conf
+ echo " stub-addr: $nameserver@$port" >> unbound-host.conf
+ echo "" >> unbound-host.conf
+done
+
+echo "server:" >> unbound-host.conf
+echo " do-not-query-address: 192.168.0.0/16" >> unbound-host.conf
+echo ' trust-anchor-file: "trustedkeys"' >> unbound-host.conf
+
+if [ -e trustedkeys ]
+then
+ cat trustedkeys | grep -c '.' # because wc -l is not portable enough!
+fi
--- /dev/null
+Grab DNSKEY records for validation testing.
--- /dev/null
+cleandig net NS
--- /dev/null
+NS query for an existing TLD should get an answer
--- /dev/null
+1 net. IN NS 172800 a.gtld-servers.net.
+1 net. IN NS 172800 b.gtld-servers.net.
+1 net. IN NS 172800 c.gtld-servers.net.
+1 net. IN NS 172800 d.gtld-servers.net.
+1 net. IN NS 172800 e.gtld-servers.net.
+1 net. IN NS 172800 f.gtld-servers.net.
+1 net. IN NS 172800 g.gtld-servers.net.
+1 net. IN NS 172800 h.gtld-servers.net.
+1 net. IN NS 172800 i.gtld-servers.net.
+1 net. IN NS 172800 j.gtld-servers.net.
+1 net. IN NS 172800 k.gtld-servers.net.
+1 net. IN NS 172800 l.gtld-servers.net.
+1 net. IN NS 172800 m.gtld-servers.net.
+2 a.gtld-servers.net. IN A 172800 192.5.6.30
+2 a.gtld-servers.net. IN AAAA 172800 2001:503:a83e::2:30
+2 b.gtld-servers.net. IN A 172800 192.33.14.30
+2 b.gtld-servers.net. IN AAAA 172800 2001:503:231d::2:30
+2 c.gtld-servers.net. IN A 172800 192.26.92.30
+2 d.gtld-servers.net. IN A 172800 192.31.80.30
+2 e.gtld-servers.net. IN A 172800 192.12.94.30
+2 f.gtld-servers.net. IN A 172800 192.35.51.30
+2 g.gtld-servers.net. IN A 172800 192.42.93.30
+2 h.gtld-servers.net. IN A 172800 192.54.112.30
+2 i.gtld-servers.net. IN A 172800 192.43.172.30
+2 j.gtld-servers.net. IN A 172800 192.48.79.30
+2 k.gtld-servers.net. IN A 172800 192.52.178.30
+2 l.gtld-servers.net. IN A 172800 192.41.162.30
+Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='net.', qtype=NS
--- /dev/null
+1 net. IN DS 86400 35886 8 2 7862b27f5f516ebe19680444d4ce5e762981931842c465f00236401d8bd973ee
+1 net. IN NS 172800 a.gtld-servers.net.
+1 net. IN NS 172800 b.gtld-servers.net.
+1 net. IN NS 172800 c.gtld-servers.net.
+1 net. IN NS 172800 d.gtld-servers.net.
+1 net. IN NS 172800 e.gtld-servers.net.
+1 net. IN NS 172800 f.gtld-servers.net.
+1 net. IN NS 172800 g.gtld-servers.net.
+1 net. IN NS 172800 h.gtld-servers.net.
+1 net. IN NS 172800 i.gtld-servers.net.
+1 net. IN NS 172800 j.gtld-servers.net.
+1 net. IN NS 172800 k.gtld-servers.net.
+1 net. IN NS 172800 l.gtld-servers.net.
+1 net. IN NS 172800 m.gtld-servers.net.
+2 a.gtld-servers.net. IN A 172800 192.5.6.30
+2 a.gtld-servers.net. IN AAAA 172800 2001:503:a83e::2:30
+2 b.gtld-servers.net. IN A 172800 192.33.14.30
+2 b.gtld-servers.net. IN AAAA 172800 2001:503:231d::2:30
+2 c.gtld-servers.net. IN A 172800 192.26.92.30
+2 d.gtld-servers.net. IN A 172800 192.31.80.30
+2 e.gtld-servers.net. IN A 172800 192.12.94.30
+2 f.gtld-servers.net. IN A 172800 192.35.51.30
+2 g.gtld-servers.net. IN A 172800 192.42.93.30
+2 h.gtld-servers.net. IN A 172800 192.54.112.30
+2 i.gtld-servers.net. IN A 172800 192.43.172.30
+Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='net.', qtype=NS
--- /dev/null
+cleandig . NS | LC_ALL=C sort
--- /dev/null
+An NS query for the root should get a proper referral
--- /dev/null
+0 . IN NS 518400 a.root-servers.net.
+0 . IN NS 518400 b.root-servers.net.
+0 . IN NS 518400 c.root-servers.net.
+0 . IN NS 518400 d.root-servers.net.
+0 . IN NS 518400 e.root-servers.net.
+0 . IN NS 518400 f.root-servers.net.
+0 . IN NS 518400 g.root-servers.net.
+0 . IN NS 518400 h.root-servers.net.
+0 . IN NS 518400 i.root-servers.net.
+0 . IN NS 518400 j.root-servers.net.
+0 . IN NS 518400 k.root-servers.net.
+0 . IN NS 518400 l.root-servers.net.
+0 . IN NS 518400 m.root-servers.net.
+2 a.root-servers.net. IN A 518400 198.41.0.4
+2 a.root-servers.net. IN AAAA 518400 2001:503:ba3e::2:30
+2 b.root-servers.net. IN A 518400 192.228.79.201
+2 b.root-servers.net. IN AAAA 518400 2001:500:84::b
+2 c.root-servers.net. IN A 518400 192.33.4.12
+2 c.root-servers.net. IN AAAA 518400 2001:500:2::c
+2 d.root-servers.net. IN A 518400 199.7.91.13
+2 d.root-servers.net. IN AAAA 518400 2001:500:2d::d
+2 e.root-servers.net. IN A 518400 192.203.230.10
+2 f.root-servers.net. IN A 518400 192.5.5.241
+2 f.root-servers.net. IN AAAA 518400 2001:500:2f::f
+2 g.root-servers.net. IN A 518400 192.112.36.4
+Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='.', qtype=NS
--- /dev/null
+cleandig com NS
--- /dev/null
+An NS query for a non-existing second-level domain should be NXDOMAIN
--- /dev/null
+1 . IN SOA 86400 a.root-servers.net. nstld.verisign-grs.com. 2016021600 1800 900 604800 86400
+Rcode: 3 (Non-Existent domain), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='com.', qtype=NS
--- /dev/null
+cleandig some-host.domain.net A
--- /dev/null
+An A query for a 3rd level domain name should result in a referral
--- /dev/null
+1 net. IN NS 172800 a.gtld-servers.net.
+1 net. IN NS 172800 b.gtld-servers.net.
+1 net. IN NS 172800 c.gtld-servers.net.
+1 net. IN NS 172800 d.gtld-servers.net.
+1 net. IN NS 172800 e.gtld-servers.net.
+1 net. IN NS 172800 f.gtld-servers.net.
+1 net. IN NS 172800 g.gtld-servers.net.
+1 net. IN NS 172800 h.gtld-servers.net.
+1 net. IN NS 172800 i.gtld-servers.net.
+1 net. IN NS 172800 j.gtld-servers.net.
+1 net. IN NS 172800 k.gtld-servers.net.
+1 net. IN NS 172800 l.gtld-servers.net.
+1 net. IN NS 172800 m.gtld-servers.net.
+2 a.gtld-servers.net. IN A 172800 192.5.6.30
+2 a.gtld-servers.net. IN AAAA 172800 2001:503:a83e::2:30
+2 b.gtld-servers.net. IN A 172800 192.33.14.30
+2 b.gtld-servers.net. IN AAAA 172800 2001:503:231d::2:30
+2 c.gtld-servers.net. IN A 172800 192.26.92.30
+2 d.gtld-servers.net. IN A 172800 192.31.80.30
+2 e.gtld-servers.net. IN A 172800 192.12.94.30
+2 f.gtld-servers.net. IN A 172800 192.35.51.30
+2 g.gtld-servers.net. IN A 172800 192.42.93.30
+2 h.gtld-servers.net. IN A 172800 192.54.112.30
+2 i.gtld-servers.net. IN A 172800 192.43.172.30
+2 j.gtld-servers.net. IN A 172800 192.48.79.30
+2 k.gtld-servers.net. IN A 172800 192.52.178.30
+Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='some-host.domain.net.', qtype=A
--- /dev/null
+1 net. IN DS 86400 35886 8 2 7862b27f5f516ebe19680444d4ce5e762981931842c465f00236401d8bd973ee
+1 net. IN NS 172800 a.gtld-servers.net.
+1 net. IN NS 172800 b.gtld-servers.net.
+1 net. IN NS 172800 c.gtld-servers.net.
+1 net. IN NS 172800 d.gtld-servers.net.
+1 net. IN NS 172800 e.gtld-servers.net.
+1 net. IN NS 172800 f.gtld-servers.net.
+1 net. IN NS 172800 g.gtld-servers.net.
+1 net. IN NS 172800 h.gtld-servers.net.
+1 net. IN NS 172800 i.gtld-servers.net.
+1 net. IN NS 172800 j.gtld-servers.net.
+1 net. IN NS 172800 k.gtld-servers.net.
+1 net. IN NS 172800 l.gtld-servers.net.
+1 net. IN NS 172800 m.gtld-servers.net.
+2 a.gtld-servers.net. IN A 172800 192.5.6.30
+2 a.gtld-servers.net. IN AAAA 172800 2001:503:a83e::2:30
+2 b.gtld-servers.net. IN A 172800 192.33.14.30
+2 b.gtld-servers.net. IN AAAA 172800 2001:503:231d::2:30
+2 c.gtld-servers.net. IN A 172800 192.26.92.30
+2 d.gtld-servers.net. IN A 172800 192.31.80.30
+2 e.gtld-servers.net. IN A 172800 192.12.94.30
+2 f.gtld-servers.net. IN A 172800 192.35.51.30
+2 g.gtld-servers.net. IN A 172800 192.42.93.30
+2 h.gtld-servers.net. IN A 172800 192.54.112.30
+Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='some-host.domain.net.', qtype=A
--- /dev/null
+#!/usr/bin/env bash
+for zone in $(grep 'zone ' named.conf | cut -f2 -d\" | grep -v '^\(example.com\|nztest.com\)$')
+do
+ TFILE=$(mktemp tmp.XXXXXXXXXX)
+ drill -p $port axfr $zone @$nameserver | ldns-read-zone -z > $TFILE
+ for validator in "ldns-verify-zone -V2" named-checkzone
+ do
+ echo --- $validator $zone
+ if [ "$validator" = "named-checkzone" ]
+ then
+ named-checkzone -i local $zone $TFILE 2>&1 | grep -v 'addnode: NSEC node already exists'
+ else
+ if [ ! -e ${testsdir}/${testname}/allow-missing ] || [[ $(type -P "$validator") ]]
+ then
+ $validator $TFILE 2>&1
+ else
+ #fake output for missing validators
+ if [ "$validator" = "jdnssec-verifyzone" ]
+ then
+ echo zone verified.
+ fi
+ fi
+ fi
+ RETVAL=$?
+ echo RETVAL: $RETVAL
+ if [ $RETVAL -gt 0 ] && { [[ $validator != ldns-verify-zone* ]] || { [[ $skipreasons != *nsec3* ]] && [[ $skipreasons != *optout* ]]; }; }
+ then
+ echo $validator reported error, full zone content:
+ echo ---
+ cat $TFILE
+ echo --- end of zone content
+ fi
+ echo
+ done
+
+ rm -f $TFILE
+done
--- /dev/null
+AXFR all zones except the big example.com, and test them with ldns-verify-zone
--- /dev/null
+--- ldns-verify-zone -V2 .
+RETVAL: 0
+
+--- named-checkzone .
+zone ./IN: loaded serial 2016021600 (DNSSEC signed)
+OK
+RETVAL: 0
+
--- /dev/null
+../regression-tests/timestamp
\ No newline at end of file
--- /dev/null
+../regression-tests/totar
\ No newline at end of file
--- /dev/null
+../regression-tests/toxml
\ No newline at end of file
--- /dev/null
+. 86400 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2016021600 1800 900 604800 86400
+. 518400 IN NS a.root-servers.net.
+. 518400 IN NS b.root-servers.net.
+. 518400 IN NS c.root-servers.net.
+. 518400 IN NS d.root-servers.net.
+. 518400 IN NS e.root-servers.net.
+. 518400 IN NS f.root-servers.net.
+. 518400 IN NS g.root-servers.net.
+. 518400 IN NS h.root-servers.net.
+. 518400 IN NS i.root-servers.net.
+. 518400 IN NS j.root-servers.net.
+. 518400 IN NS k.root-servers.net.
+. 518400 IN NS l.root-servers.net.
+. 518400 IN NS m.root-servers.net.
+
+a.root-servers.net. 518400 IN A 198.41.0.4
+a.root-servers.net. 518400 IN AAAA 2001:503:ba3e:0:0:0:2:30
+b.root-servers.net. 518400 IN A 192.228.79.201
+b.root-servers.net. 518400 IN AAAA 2001:500:84:0:0:0:0:b
+c.root-servers.net. 518400 IN A 192.33.4.12
+c.root-servers.net. 518400 IN AAAA 2001:500:2:0:0:0:0:c
+d.root-servers.net. 518400 IN A 199.7.91.13
+d.root-servers.net. 518400 IN AAAA 2001:500:2d:0:0:0:0:d
+e.root-servers.net. 518400 IN A 192.203.230.10
+f.root-servers.net. 518400 IN A 192.5.5.241
+f.root-servers.net. 518400 IN AAAA 2001:500:2f:0:0:0:0:f
+g.root-servers.net. 518400 IN A 192.112.36.4
+h.root-servers.net. 518400 IN A 198.97.190.53
+h.root-servers.net. 518400 IN AAAA 2001:500:1:0:0:0:0:53
+i.root-servers.net. 518400 IN A 192.36.148.17
+i.root-servers.net. 518400 IN AAAA 2001:7fe:0:0:0:0:0:53
+j.root-servers.net. 518400 IN A 192.58.128.30
+j.root-servers.net. 518400 IN AAAA 2001:503:c27:0:0:0:2:30
+k.root-servers.net. 518400 IN A 193.0.14.129
+k.root-servers.net. 518400 IN AAAA 2001:7fd:0:0:0:0:0:1
+l.root-servers.net. 518400 IN A 199.7.83.42
+l.root-servers.net. 518400 IN AAAA 2001:500:3:0:0:0:0:42
+m.root-servers.net. 518400 IN A 202.12.27.33
+m.root-servers.net. 518400 IN AAAA 2001:dc3:0:0:0:0:0:35
+
+net. 172800 IN NS a.gtld-servers.net.
+net. 172800 IN NS b.gtld-servers.net.
+net. 172800 IN NS c.gtld-servers.net.
+net. 172800 IN NS d.gtld-servers.net.
+net. 172800 IN NS e.gtld-servers.net.
+net. 172800 IN NS f.gtld-servers.net.
+net. 172800 IN NS g.gtld-servers.net.
+net. 172800 IN NS h.gtld-servers.net.
+net. 172800 IN NS i.gtld-servers.net.
+net. 172800 IN NS j.gtld-servers.net.
+net. 172800 IN NS k.gtld-servers.net.
+net. 172800 IN NS l.gtld-servers.net.
+net. 172800 IN NS m.gtld-servers.net.
+net. 86400 IN DS 35886 8 2 7862B27F5F516EBE19680444D4CE5E762981931842C465F00236401D8BD973EE
+
+a.gtld-servers.net. 172800 IN A 192.5.6.30
+a.gtld-servers.net. 172800 IN AAAA 2001:503:a83e:0:0:0:2:30
+b.gtld-servers.net. 172800 IN A 192.33.14.30
+b.gtld-servers.net. 172800 IN AAAA 2001:503:231d:0:0:0:2:30
+c.gtld-servers.net. 172800 IN A 192.26.92.30
+d.gtld-servers.net. 172800 IN A 192.31.80.30
+e.gtld-servers.net. 172800 IN A 192.12.94.30
+f.gtld-servers.net. 172800 IN A 192.35.51.30
+g.gtld-servers.net. 172800 IN A 192.42.93.30
+h.gtld-servers.net. 172800 IN A 192.54.112.30
+i.gtld-servers.net. 172800 IN A 192.43.172.30
+j.gtld-servers.net. 172800 IN A 192.48.79.30
+k.gtld-servers.net. 172800 IN A 192.52.178.30
+l.gtld-servers.net. 172800 IN A 192.41.162.30
+m.gtld-servers.net. 172800 IN A 192.55.83.30
then
$PDNSUTIL --config-dir=. --config-name=bind set-nsec3 $zone '1 1 1 abcd' narrow 2>&1
fi
+ if [ "$zone" = "tsig.com" ]; then
+ $PDNSUTIL --config-dir=. --config-name=bind import-tsig-key test $ALGORITHM $KEY
+ $PDNSUTIL --config-dir=. --config-name=bind activate-tsig-key tsig.com test master
+ fi
done
if [ $context = bind-dnssec-nsec3 ] || [ $context = bind-hybrid-nsec3 ]
skipreasons="nodyndns"
fi
- $PDNSUTIL --config-dir=. --config-name=bind import-tsig-key test $ALGORITHM $KEY
- $PDNSUTIL --config-dir=. --config-name=bind activate-tsig-key tsig.com test master
-
$RUNWRAPPER $PDNS --daemon=no --local-port=$port --config-dir=. \
--config-name=bind --socket-dir=./ --no-shuffle \
--cache-ttl=$cachettl --dname-processing \
for zone in $(grep 'zone ' named.conf | cut -f2 -d\")
do
+ if [ "$zone" = "." ]; then
+ zone="ROOT"
+ fi
rm -rf zones/$zone-slave
done
echo $skipreasons | grep -q nodnssec
if [ $? -ne 0 ]
then
- sqlite3 dnssec-slave.sqlite3 "INSERT INTO tsigkeys (name, algorithm,secret) VALUES('test', '$ALGORITHM', '$KEY')"
- sqlite3 dnssec-slave.sqlite3 "INSERT INTO domainmetadata (domain, kind, content) SELECT 'tsig.com', 'AXFR-MASTER-TSIG', 'test'"
+ sqlite3 dnssec-slave.sqlite3 "select name from domains where name = 'tsig.com'" | grep -q tsig.com
+ if [ $? -ne 0 ]; then
+ sqlite3 dnssec-slave.sqlite3 "INSERT INTO tsigkeys (name, algorithm,secret) VALUES('test', '$ALGORITHM', '$KEY')"
+ sqlite3 dnssec-slave.sqlite3 "INSERT INTO domainmetadata (domain, kind, content) SELECT 'tsig.com', 'AXFR-MASTER-TSIG', 'test'"
+ fi
echo $skipreasons | grep -q nolua
if [ $? -ne 0 ]
then
do
mysql --user="$GMYSQL2USER" --password="$GMYSQL2PASSWD" --host="$GMYSQL2HOST" \
"$GMYSQL2DB" -e "INSERT INTO domains (name, type, master) VALUES('$zone','SLAVE','127.0.0.1:$port')"
+ if [ "$zone" = "tsig.com" ]; then
+ $PDNSUTIL --config-dir=. --config-name=gmysql2 import-tsig-key test $ALGORITHM $KEY
+ $PDNSUTIL --config-dir=. --config-name=gmysql2 activate-tsig-key tsig.com test slave
+ fi
+ if [ "$zone" = "stest.com" ]; then
+ if [[ $skipreasons != *nolua* ]]; then
+ $PDNSUTIL --config-dir=. --config-name=gmysql2 set-meta stest.com AXFR-SOURCE 127.0.0.2
+ fi
+ fi
done
- $PDNSUTIL --config-dir=. --config-name=gmysql2 import-tsig-key test $ALGORITHM $KEY
- $PDNSUTIL --config-dir=. --config-name=gmysql2 activate-tsig-key tsig.com test slave
- if [[ $skipreasons != *nolua* ]]
- then
- $PDNSUTIL --config-dir=. --config-name=gmysql2 set-meta stest.com AXFR-SOURCE 127.0.0.2
- fi
-
port=$((port+100))
$RUNWRAPPER $PDNS2 --daemon=no --local-port=$port --config-dir=. \
for zone in $(grep 'zone ' named.conf | cut -f2 -d\" | tac)
do
echo "INSERT INTO domains (name, type, master) VALUES('$zone','SLAVE','127.0.0.1:$port');" | $ISQL -b
+ if [ "$zone" = "tsig.com" ]; then
+ ../pdns/pdnssec --config-dir=. --config-name=godbc2 import-tsig-key test $ALGORITHM $KEY
+ ../pdns/pdnssec --config-dir=. --config-name=godbc2 activate-tsig-key tsig.com test slave
+ fi
+ if [ "$zone" = "stest.com" ]; then
+ if [[ $skipreasons != *nolua* ]]; then
+ $PDNSUTIL --config-dir=. --config-name=gmysql2 set-meta stest.com AXFR-SOURCE 127.0.0.2
+ fi
+ fi
done
- ../pdns/pdnssec --config-dir=. --config-name=godbc2 import-tsig-key test $ALGORITHM $KEY
- ../pdns/pdnssec --config-dir=. --config-name=godbc2 activate-tsig-key tsig.com test slave
- if [[ $skipreasons != *nolua* ]]
- then
- ../pdns/pdnssec --config-dir=. --config-name=godbc2 set-meta stest.com AXFR-SOURCE 127.0.0.2
- fi
-
port=$((port+100))
$RUNWRAPPER $PDNS2 --daemon=no --local-port=$port --config-dir=. \
psql --user="$GPGSQL2USER" \
-c "INSERT INTO domains (name, type, master) VALUES('$zone','SLAVE','127.0.0.1:$port')" \
"$GPGSQL2DB"
+ if [ "$zone" = "tsig.com" ]; then
+ $PDNSUTIL --config-dir=. --config-name=gpgsql2 import-tsig-key test $ALGORITHM $KEY
+ $PDNSUTIL --config-dir=. --config-name=gpgsql2 activate-tsig-key tsig.com test slave
+ fi
+ if [ "$zone" = "stest.com" ]; then
+ if [[ $skipreasons != *nolua* ]]; then
+ $PDNSUTIL --config-dir=. --config-name=gmysql2 set-meta stest.com AXFR-SOURCE 127.0.0.2
+ fi
+ fi
done
- $PDNSUTIL --config-dir=. --config-name=gpgsql2 import-tsig-key test $ALGORITHM $KEY
- $PDNSUTIL --config-dir=. --config-name=gpgsql2 activate-tsig-key tsig.com test slave
- if [[ $skipreasons != *nolua* ]]
- then
- $PDNSUTIL --config-dir=. --config-name=gpgsql2 set-meta stest.com AXFR-SOURCE 127.0.0.2
- fi
-
port=$((port+100))
$RUNWRAPPER $PDNS2 --daemon=no --local-port=$port --config-dir=. \
else
$PDNSUTIL --config-dir=. --config-name=$backend rectify-zone $zone 2>&1
fi
+ if [ "$zone" = "tsig.com" ]; then
+ $PDNSUTIL --config-dir=. --config-name=$backend import-tsig-key test $ALGORITHM $KEY
+ $PDNSUTIL --config-dir=. --config-name=$backend activate-tsig-key tsig.com test master
+ fi
done
- $PDNSUTIL --config-dir=. --config-name=$backend import-tsig-key test $ALGORITHM $KEY
- $PDNSUTIL --config-dir=. --config-name=$backend activate-tsig-key tsig.com test master
$RUNWRAPPER $PDNS --daemon=no --local-port=$port --config-dir=. \
--config-name=$backend --socket-dir=./ --no-shuffle \
for zone in $(grep 'zone ' named.conf | cut -f2 -d\" | perl -e 'print reverse <STDIN>')
do
sqlite3 pdns.sqlite32 "INSERT INTO domains (name, type, master) VALUES('$zone','SLAVE','127.0.0.1:$port');"
+ if [ "$zone" = "tsig.com" ]; then
+ $PDNSUTIL --config-dir=. --config-name=gsqlite32 import-tsig-key test $ALGORITHM $KEY
+ $PDNSUTIL --config-dir=. --config-name=gsqlite32 activate-tsig-key tsig.com test slave
+ fi
+ if [ "$zone" = "stest.com" ]; then
+ if [[ $skipreasons != *nolua* ]]; then
+ $PDNSUTIL --config-dir=. --config-name=gmysql2 set-meta stest.com AXFR-SOURCE 127.0.0.2
+ fi
+ fi
done
- $PDNSUTIL --config-dir=. --config-name=gsqlite32 import-tsig-key test $ALGORITHM $KEY
- $PDNSUTIL --config-dir=. --config-name=gsqlite32 activate-tsig-key tsig.com test slave
- if [[ $skipreasons != *nolua* ]]
- then
- $PDNSUTIL --config-dir=. --config-name=gsqlite32 set-meta stest.com AXFR-SOURCE 127.0.0.2
- fi
-
port=$((port+100))
$RUNWRAPPER $PDNS2 --daemon=no --local-port=$port --config-dir=. \