From: Peter van Dijk Date: Thu, 16 Aug 2018 20:46:41 +0000 (+0200) Subject: add test for parent/child confusion X-Git-Tag: auth-4.1.4^2~2^2~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bf037156f3df2f489df22431b064534312372a11;p=pdns add test for parent/child confusion (cherry picked from commit c9ff6ee5b6c8cb1263c4fc726cfc781e3b8e0064) --- diff --git a/modules/tinydnsbackend/data b/modules/tinydnsbackend/data index 40f1f03d5..50a885411 100644 --- a/modules/tinydnsbackend/data +++ b/modules/tinydnsbackend/data @@ -20100,14 +20100,14 @@ +toomuchinfo-b.example.com:192.168.99.90:120 +usa-ns1.usa.example.com:192.168.4.1:120 +usa-ns2.usa.example.com:192.168.4.2:120 +3ipv6.example.com:200106a80000000102104bfffe4b4c61:120 :dsdelegation.example.com:43:m\341\010\001\312\361\352\256\315\253\347afpx\217\220\042EK\365\375\237\332:120 :escapedtext.example.com:16:\005begin\022the\040\042middle\042\040p\134art\007the\040end:120 -:google-alias.example.com:65401:\023google-public-dns-a\006google\300\024:120 +:google-alias.example.com:65401:\023google-public-dns-a\006google\003com\000:120 :hightype.example.com:65534:\007\355\046\000\001:120 :host-0.example.com:108:\000PV\233\000\347:120 :host-1.example.com:109:\000PV\233\000\347\176W:120 :hwinfo.example.com:13:\003abc\003def:120 -:ipv6.example.com:28:\040\001\006\250\000\000\000\001\002\020K\377\376KLa:120 :location.example.com:29:\0002\026\023\213\044\323e\176\273\347\100\000\230\230\020:120 :location.example.com:29:\000B\026\023t\333\053\274\176\273\347\100\000\230\230\020:120 :location.example.com:29:\000\022\026\023\213\044\310\373\201D\030\300\000\230\230\020:120 @@ -20181,6 +20181,8 @@ Cwithin-server.test.com:outpost.example.com.:3600 Cwww.test.com:server1.test.com.:3600 Ztest.com:ns1.test.com.:ahu.example.com.:2005092501:28800:7200:604800:86400:3600 #2012060701 auto axfr-get +&sub.test.dyndns::ns1.test.dyndns.:3600 +&sub.test.dyndns::ns2.test.dyndns.:3600 &test.dyndns::ns1.test.dyndns.:3600 &test.dyndns::ns2.test.dyndns.:3600 +\052.wild.test.dyndns:127.0.1.255:3600 @@ -20204,6 +20206,10 @@ Ztest.com:ns1.test.com.:ahu.example.com.:2005092501:28800:7200:604800:86400:3600 Ccname1.test.dyndns:host-1.test.dyndns.:3600 Ccname2.test.dyndns:host-2.test.dyndns.:3600 Ztest.dyndns:ns1.test.dyndns.:ahu.example.dyndns.:2012060701:28800:7200:604800:86400:3600 +#2012060701 auto axfr-get +&sub.test.dyndns::ns1.test.dyndns.:3600 +&sub.test.dyndns::ns2.test.dyndns.:3600 +Zsub.test.dyndns:ns1.test.dyndns.:ahu.example.dyndns.:2012060701:28800:7200:604800:86400:3600 #2005092501 auto axfr-get &wtest.com::..:3600 &wtest.com::ns1.wtest.com.:3600 diff --git a/modules/tinydnsbackend/data.cdb b/modules/tinydnsbackend/data.cdb index 40206e6c4..ee5d21a1d 100644 Binary files a/modules/tinydnsbackend/data.cdb and b/modules/tinydnsbackend/data.cdb differ diff --git a/regression-tests.nobackend/rectify-axfr/expected_result b/regression-tests.nobackend/rectify-axfr/expected_result index 9d72712d2..0f53420f9 100644 --- a/regression-tests.nobackend/rectify-axfr/expected_result +++ b/regression-tests.nobackend/rectify-axfr/expected_result @@ -24,6 +24,18 @@ zone test.dyndns/IN: loaded serial 2012060701 (DNSSEC signed) OK RETVAL: 0 +--- ldns-verify-zone -V2 sub.test.dyndns +RETVAL: 0 + +--- jdnssec-verifyzone sub.test.dyndns +zone verified. +RETVAL: 0 + +--- named-checkzone sub.test.dyndns +zone sub.test.dyndns/IN: loaded serial 2012060701 (DNSSEC signed) +OK +RETVAL: 0 + --- ldns-verify-zone -V2 wtest.com RETVAL: 0 diff --git a/regression-tests.nobackend/tinydns-data-check/expected_result b/regression-tests.nobackend/tinydns-data-check/expected_result index 479c24316..f73cd9b71 100644 --- a/regression-tests.nobackend/tinydns-data-check/expected_result +++ b/regression-tests.nobackend/tinydns-data-check/expected_result @@ -1,6 +1,7 @@ 17a1219ca79020c1c67ad173a291d3c8 ../regression-tests/zones/example.com fe49d2784b1bcc3b91ddd5619f0b6cc1 ../regression-tests/zones/test.com -005b3381db2a7dc70b690484f6ab7770 ../regression-tests/zones/test.dyndns +f0df67fa656d33fd85098cbe43893395 ../regression-tests/zones/test.dyndns +dee3e8b568549d9450134b555ca73990 ../regression-tests/zones/sub.test.dyndns 0861783f9f83acd9044278cda2528ee2 ../regression-tests/zones/wtest.com 42b442de632686e94bde75acf66cf524 ../regression-tests/zones/nztest.com aeff58ea1eb6e63096e6da18337be312 ../regression-tests/zones/dnssec-parent.com @@ -11,4 +12,4 @@ a63dc120391d9df0003f2ec4f461a6af ../regression-tests/zones/secure-delegated.dns b1f775045fa2cf0a3b91aa834af06e49 ../regression-tests/zones/stest.com a98864b315f16bcf49ce577426063c42 ../regression-tests/zones/cdnskey-cds-test.com 9aeed2c26d0c3ba3baf22dfa9568c451 ../regression-tests/zones/2.0.192.in-addr.arpa -e30afafb846e773a5bff70dcfdb52088 ../modules/tinydnsbackend/data.cdb +c52ad0a47c61c7213a3ce35154557e64 ../modules/tinydnsbackend/data.cdb diff --git a/regression-tests/tests/00dnssec-grabkeys/expected_result.dnssec b/regression-tests/tests/00dnssec-grabkeys/expected_result.dnssec index b4de39476..48082f72f 100644 --- a/regression-tests/tests/00dnssec-grabkeys/expected_result.dnssec +++ b/regression-tests/tests/00dnssec-grabkeys/expected_result.dnssec @@ -1 +1 @@ -11 +12 diff --git a/regression-tests/tests/1dyndns-correct-zone/command b/regression-tests/tests/1dyndns-correct-zone/command new file mode 100755 index 000000000..eb14ef60d --- /dev/null +++ b/regression-tests/tests/1dyndns-correct-zone/command @@ -0,0 +1,55 @@ +#!/bin/sh + +mysqldiff + +RECORDNAME=occluded.sub.test.dyndns + +echo '* Check that the name cannot be found' +cleandig $RECORDNAME ANY hidesoadetails + +echo '* Create the occluded name in the parent zone' +cleannsupdate <>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id] +;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0 +;; ZONE SECTION: +;test.dyndns. IN SOA + +* Check that the name cannot be found +1 sub.test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400 +Rcode: 3 (Non-Existent domain), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='occluded.sub.test.dyndns.', qtype=ANY +* Create a record in the child zone +Answer: +;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id] +;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0 +;; ZONE SECTION: +;sub.test.dyndns. IN SOA + +* Check that the child zone record is visible +0 occluded.sub.test.dyndns. IN CNAME 3600 child. +Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='occluded.sub.test.dyndns.', qtype=A +* Remove child record +Answer: +;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id] +;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0 +;; ZONE SECTION: +;sub.test.dyndns. IN SOA + +* Check that the occluded name is invisible again +1 sub.test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400 +Rcode: 3 (Non-Existent domain), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='occluded.sub.test.dyndns.', qtype=ANY +* Remove parent record +Answer: +;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id] +;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0 +;; ZONE SECTION: +;test.dyndns. IN SOA + +check that we cleaned up correctly +--- Start: diff start step.1 --- +no difference +--- End: diff start step.1 --- + diff --git a/regression-tests/tests/1dyndns-correct-zone/skip.nodyndns b/regression-tests/tests/1dyndns-correct-zone/skip.nodyndns new file mode 100644 index 000000000..e69de29bb diff --git a/regression-tests/tests/1dyndns-update-delegate-in-between/expected_result.nsec3 b/regression-tests/tests/1dyndns-update-delegate-in-between/expected_result.nsec3 index f63abb396..b58351de2 100644 --- a/regression-tests/tests/1dyndns-update-delegate-in-between/expected_result.nsec3 +++ b/regression-tests/tests/1dyndns-update-delegate-in-between/expected_result.nsec3 @@ -286,8 +286,8 @@ Rcode: 3 (Non-Existent domain), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 Reply to question for qname='b.b.host.test.dyndns.', qtype=ANY 1 fgun0ru4oe3g76tr551hg97mpu37b6mi.test.dyndns. IN NSEC3 86400 1 [flags] 1 abcd FQU365VN7BR5CSV8CG6NE9V8HA6D008P 1 fgun0ru4oe3g76tr551hg97mpu37b6mi.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... -1 lresbbp3lv8blgj9fsgtdmm4q7vj3d6j.test.dyndns. IN NSEC3 86400 1 [flags] 1 abcd Q75PNOE7PB74PND6OGN44T5BTUURBHRF A RRSIG -1 lresbbp3lv8blgj9fsgtdmm4q7vj3d6j.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 ncja3un028k84h59aoloj6bh06s80071.test.dyndns. IN NSEC3 86400 1 [flags] 1 abcd Q75PNOE7PB74PND6OGN44T5BTUURBHRF NS +1 ncja3un028k84h59aoloj6bh06s80071.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... 1 r9s1cj8dkmnmenjn95sti8nhh9utpq9k.test.dyndns. IN NSEC3 86400 1 [flags] 1 abcd S30OPRHQREKH5SUH6L530KD668ELK9OS 1 r9s1cj8dkmnmenjn95sti8nhh9utpq9k.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... 1 test.dyndns. IN RRSIG 3600 SOA 13 2 3600 [expiry] [inception] [keytag] test.dyndns. ... diff --git a/regression-tests/tests/1dyndns-update-nsec3params-with-others/expected_result b/regression-tests/tests/1dyndns-update-nsec3params-with-others/expected_result index d7d3c7915..85380832c 100644 --- a/regression-tests/tests/1dyndns-update-nsec3params-with-others/expected_result +++ b/regression-tests/tests/1dyndns-update-nsec3params-with-others/expected_result @@ -21,7 +21,7 @@ Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 Reply to question for qname='test.dyndns.', qtype=NSEC3PARAM 1 ac2jl1kik929tr9i5rfcmbucm547n51a.test.dyndns. IN NSEC3 86400 1 [flags] 10 dcbe EE295AK1NDT9O0RLL1A4RPPB4NAOV4QM 1 ac2jl1kik929tr9i5rfcmbucm547n51a.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... -1 lavvds84bcal6n6qnavn3q1u4jcpjev9.test.dyndns. IN NSEC3 86400 1 [flags] 10 dcbe PE3H59F3RU6VID4OK0T4TSU6D0NDRVHS A RRSIG +1 lavvds84bcal6n6qnavn3q1u4jcpjev9.test.dyndns. IN NSEC3 86400 1 [flags] 10 dcbe N6N81NDT5KU73E19K457TOUB8E6D2LPM A RRSIG 1 lavvds84bcal6n6qnavn3q1u4jcpjev9.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... 1 test.dyndns. IN RRSIG 3600 SOA 13 2 3600 [expiry] [inception] [keytag] test.dyndns. ... 1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400 diff --git a/regression-tests/tests/1dyndns-update-nsec3params-with-others/expected_result.nsec3 b/regression-tests/tests/1dyndns-update-nsec3params-with-others/expected_result.nsec3 index c6700fcdb..aba3c8348 100644 --- a/regression-tests/tests/1dyndns-update-nsec3params-with-others/expected_result.nsec3 +++ b/regression-tests/tests/1dyndns-update-nsec3params-with-others/expected_result.nsec3 @@ -23,7 +23,7 @@ Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 Reply to question for qname='test.dyndns.', qtype=NSEC3PARAM 1 ac2jl1kik929tr9i5rfcmbucm547n51a.test.dyndns. IN NSEC3 86400 1 [flags] 10 dcbe EE295AK1NDT9O0RLL1A4RPPB4NAOV4QM 1 ac2jl1kik929tr9i5rfcmbucm547n51a.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... -1 lavvds84bcal6n6qnavn3q1u4jcpjev9.test.dyndns. IN NSEC3 86400 1 [flags] 10 dcbe PE3H59F3RU6VID4OK0T4TSU6D0NDRVHS A RRSIG +1 lavvds84bcal6n6qnavn3q1u4jcpjev9.test.dyndns. IN NSEC3 86400 1 [flags] 10 dcbe N6N81NDT5KU73E19K457TOUB8E6D2LPM A RRSIG 1 lavvds84bcal6n6qnavn3q1u4jcpjev9.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... 1 test.dyndns. IN RRSIG 3600 SOA 13 2 3600 [expiry] [inception] [keytag] test.dyndns. ... 1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400 diff --git a/regression-tests/tests/1dyndns-update-nsec3params-with-others/expected_result.nsec3-optout b/regression-tests/tests/1dyndns-update-nsec3params-with-others/expected_result.nsec3-optout new file mode 100644 index 000000000..c6700fcdb --- /dev/null +++ b/regression-tests/tests/1dyndns-update-nsec3params-with-others/expected_result.nsec3-optout @@ -0,0 +1,76 @@ +0 test.dyndns. IN NSEC3PARAM 86400 1 0 1 abcd 0 test.dyndns. IN RRSIG 86400 NSEC3PARAM 13 2 86400 [expiry] [inception] [keytag] test.dyndns. ... 2 . IN OPT 32768 Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 Reply to question for qname='test.dyndns.', qtype=NSEC3PARAM +1 4i84rosksbmegcqfnkf6n6ci093h7rq4.test.dyndns. IN NSEC3 86400 1 [flags] 1 abcd 8PQJV4B3M0LCFMVAE0HP394LC154L1I7 CNAME RRSIG +1 4i84rosksbmegcqfnkf6n6ci093h7rq4.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 dsa3ti9nu3apdsvl3f63qlvakv555sr6.test.dyndns. IN NSEC3 86400 1 [flags] 1 abcd FQU365VN7BR5CSV8CG6NE9V8HA6D008P A RRSIG +1 dsa3ti9nu3apdsvl3f63qlvakv555sr6.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 lmrsadk2bb62qpruaules5i5ap06cp55.test.dyndns. IN NSEC3 86400 1 [flags] 1 abcd LRESBBP3LV8BLGJ9FSGTDMM4Q7VJ3D6J +1 lmrsadk2bb62qpruaules5i5ap06cp55.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN RRSIG 3600 SOA 13 2 3600 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400 +2 . IN OPT 32768 +Rcode: 3 (Non-Existent domain), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='c.host.test.dyndns.', qtype=A +Answer: +;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id] +;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0 +;; ZONE SECTION: +;test.dyndns. IN SOA + +0 test.dyndns. IN NSEC3PARAM 86400 1 0 10 dcbe +0 test.dyndns. IN RRSIG 86400 NSEC3PARAM 13 2 86400 [expiry] [inception] [keytag] test.dyndns. ... +2 . IN OPT 32768 +Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='test.dyndns.', qtype=NSEC3PARAM +1 ac2jl1kik929tr9i5rfcmbucm547n51a.test.dyndns. IN NSEC3 86400 1 [flags] 10 dcbe EE295AK1NDT9O0RLL1A4RPPB4NAOV4QM +1 ac2jl1kik929tr9i5rfcmbucm547n51a.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 lavvds84bcal6n6qnavn3q1u4jcpjev9.test.dyndns. IN NSEC3 86400 1 [flags] 10 dcbe PE3H59F3RU6VID4OK0T4TSU6D0NDRVHS A RRSIG +1 lavvds84bcal6n6qnavn3q1u4jcpjev9.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN RRSIG 3600 SOA 13 2 3600 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400 +2 . IN OPT 32768 +Rcode: 3 (Non-Existent domain), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='c.host.test.dyndns.', qtype=A +Answer: +;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id] +;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0 +;; ZONE SECTION: +;test.dyndns. IN SOA + +1 test.dyndns. IN NSEC 86400 cname1.test.dyndns. NS SOA MX RRSIG NSEC DNSKEY +1 test.dyndns. IN RRSIG 3600 SOA 13 2 3600 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN RRSIG 86400 NSEC 13 2 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400 +2 . IN OPT 32768 +Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='test.dyndns.', qtype=NSEC3PARAM +1 a.host.test.dyndns. IN NSEC 86400 e.host.test.dyndns. A RRSIG NSEC +1 a.host.test.dyndns. IN RRSIG 86400 NSEC 13 4 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 delete-add.test.dyndns. IN NSEC 86400 a.host.test.dyndns. A TXT RRSIG NSEC +1 delete-add.test.dyndns. IN RRSIG 86400 NSEC 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN RRSIG 3600 SOA 13 2 3600 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400 +2 . IN OPT 32768 +Rcode: 3 (Non-Existent domain), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='c.host.test.dyndns.', qtype=A +Answer: +;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id] +;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0 +;; ZONE SECTION: +;test.dyndns. IN SOA + +0 test.dyndns. IN NSEC3PARAM 86400 1 0 1 abcd +0 test.dyndns. IN RRSIG 86400 NSEC3PARAM 13 2 86400 [expiry] [inception] [keytag] test.dyndns. ... +2 . IN OPT 32768 +Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='test.dyndns.', qtype=NSEC3PARAM +1 4i84rosksbmegcqfnkf6n6ci093h7rq4.test.dyndns. IN NSEC3 86400 1 [flags] 1 abcd 8PQJV4B3M0LCFMVAE0HP394LC154L1I7 CNAME RRSIG +1 4i84rosksbmegcqfnkf6n6ci093h7rq4.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 dsa3ti9nu3apdsvl3f63qlvakv555sr6.test.dyndns. IN NSEC3 86400 1 [flags] 1 abcd FQU365VN7BR5CSV8CG6NE9V8HA6D008P A RRSIG +1 dsa3ti9nu3apdsvl3f63qlvakv555sr6.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 lmrsadk2bb62qpruaules5i5ap06cp55.test.dyndns. IN NSEC3 86400 1 [flags] 1 abcd LRESBBP3LV8BLGJ9FSGTDMM4Q7VJ3D6J +1 lmrsadk2bb62qpruaules5i5ap06cp55.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN RRSIG 3600 SOA 13 2 3600 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400 +2 . IN OPT 32768 +Rcode: 3 (Non-Existent domain), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='c.host.test.dyndns.', qtype=A diff --git a/regression-tests/tests/1dyndns-update-nsec3params/expected_result b/regression-tests/tests/1dyndns-update-nsec3params/expected_result index 01bbf05d8..78314d356 100644 --- a/regression-tests/tests/1dyndns-update-nsec3params/expected_result +++ b/regression-tests/tests/1dyndns-update-nsec3params/expected_result @@ -46,6 +46,8 @@ Check if NSEC3PARAM record exists and A-record added < ns1.test.dyndns A 0 127.0.0.1 3600 'ns1' 1 < ns2.test.dyndns A 0 127.0.0.2 3600 'ns2' 1 < replace.test.dyndns A 0 127.0.0.1 3600 'replace' 1 +< sub.test.dyndns NS 0 ns1.test.dyndns 3600 'sub' 0 +< sub.test.dyndns NS 0 ns2.test.dyndns 3600 'sub' 0 < test.dyndns MX 10 host-1.test.dyndns 3600 '' 1 < test.dyndns MX 20 host-2.test.dyndns 3600 '' 1 < test.dyndns NS 0 ns1.test.dyndns 3600 '' 1 @@ -70,6 +72,8 @@ Check if NSEC3PARAM record exists and A-record added > ns1.test.dyndns A 0 127.0.0.1 3600 'uba3qp1vffon9pq2r07e7ldrnh5mg90v' 1 > ns2.test.dyndns A 0 127.0.0.2 3600 'pe3h59f3ru6vid4ok0t4tsu6d0ndrvhs' 1 > replace.test.dyndns A 0 127.0.0.1 3600 'hcj69ok6nqcmebhuprvga4kagcb9cfrf' 1 +> sub.test.dyndns NS 0 ns1.test.dyndns 3600 'n6n81ndt5ku73e19k457toub8e6d2lpm' 0 +> sub.test.dyndns NS 0 ns2.test.dyndns 3600 'n6n81ndt5ku73e19k457toub8e6d2lpm' 0 > test.dyndns MX 10 host-1.test.dyndns 3600 '62qbu7pvpt7cm7bdpu7geb3je1l0aure' 1 > test.dyndns MX 20 host-2.test.dyndns 3600 '62qbu7pvpt7cm7bdpu7geb3je1l0aure' 1 > test.dyndns NS 0 ns1.test.dyndns 3600 '62qbu7pvpt7cm7bdpu7geb3je1l0aure' 1 diff --git a/regression-tests/tests/1dyndns-update-nsec3params/expected_result.nsec3 b/regression-tests/tests/1dyndns-update-nsec3params/expected_result.nsec3 index 5d4b3926e..e794dc687 100644 --- a/regression-tests/tests/1dyndns-update-nsec3params/expected_result.nsec3 +++ b/regression-tests/tests/1dyndns-update-nsec3params/expected_result.nsec3 @@ -48,6 +48,8 @@ Check if NSEC3PARAM record exists and A-record added < ns1.test.dyndns A 0 127.0.0.1 3600 '2gp5rdnjoq5oospc5o1ih9lali101di8' 1 < ns2.test.dyndns A 0 127.0.0.2 3600 'fqu365vn7br5csv8cg6ne9v8ha6d008p' 1 < replace.test.dyndns A 0 127.0.0.1 3600 'ituduke14pthsno7ii6h5sboshr8rfqs' 1 +< sub.test.dyndns NS 0 ns1.test.dyndns 3600 'ncja3un028k84h59aoloj6bh06s80071' 0 +< sub.test.dyndns NS 0 ns2.test.dyndns 3600 'ncja3un028k84h59aoloj6bh06s80071' 0 < test.dyndns MX 10 host-1.test.dyndns 3600 'u36f0tjooqv1kspatto6qns0vap731v2' 1 < test.dyndns MX 20 host-2.test.dyndns 3600 'u36f0tjooqv1kspatto6qns0vap731v2' 1 < test.dyndns NS 0 ns1.test.dyndns 3600 'u36f0tjooqv1kspatto6qns0vap731v2' 1 @@ -72,6 +74,8 @@ Check if NSEC3PARAM record exists and A-record added > ns1.test.dyndns A 0 127.0.0.1 3600 'uba3qp1vffon9pq2r07e7ldrnh5mg90v' 1 > ns2.test.dyndns A 0 127.0.0.2 3600 'pe3h59f3ru6vid4ok0t4tsu6d0ndrvhs' 1 > replace.test.dyndns A 0 127.0.0.1 3600 'hcj69ok6nqcmebhuprvga4kagcb9cfrf' 1 +> sub.test.dyndns NS 0 ns1.test.dyndns 3600 'n6n81ndt5ku73e19k457toub8e6d2lpm' 0 +> sub.test.dyndns NS 0 ns2.test.dyndns 3600 'n6n81ndt5ku73e19k457toub8e6d2lpm' 0 > test.dyndns MX 10 host-1.test.dyndns 3600 '62qbu7pvpt7cm7bdpu7geb3je1l0aure' 1 > test.dyndns MX 20 host-2.test.dyndns 3600 '62qbu7pvpt7cm7bdpu7geb3je1l0aure' 1 > test.dyndns NS 0 ns1.test.dyndns 3600 '62qbu7pvpt7cm7bdpu7geb3je1l0aure' 1 @@ -122,6 +126,8 @@ Check if NSEC3PARAM is deleted < ns1.test.dyndns A 0 127.0.0.1 3600 '2gp5rdnjoq5oospc5o1ih9lali101di8' 1 < ns2.test.dyndns A 0 127.0.0.2 3600 'fqu365vn7br5csv8cg6ne9v8ha6d008p' 1 < replace.test.dyndns A 0 127.0.0.1 3600 'ituduke14pthsno7ii6h5sboshr8rfqs' 1 +< sub.test.dyndns NS 0 ns1.test.dyndns 3600 'ncja3un028k84h59aoloj6bh06s80071' 0 +< sub.test.dyndns NS 0 ns2.test.dyndns 3600 'ncja3un028k84h59aoloj6bh06s80071' 0 < test.dyndns MX 10 host-1.test.dyndns 3600 'u36f0tjooqv1kspatto6qns0vap731v2' 1 < test.dyndns MX 20 host-2.test.dyndns 3600 'u36f0tjooqv1kspatto6qns0vap731v2' 1 < test.dyndns NS 0 ns1.test.dyndns 3600 'u36f0tjooqv1kspatto6qns0vap731v2' 1 @@ -146,6 +152,8 @@ Check if NSEC3PARAM is deleted > ns1.test.dyndns A 0 127.0.0.1 3600 'ns1' 1 > ns2.test.dyndns A 0 127.0.0.2 3600 'ns2' 1 > replace.test.dyndns A 0 127.0.0.1 3600 'replace' 1 +> sub.test.dyndns NS 0 ns1.test.dyndns 3600 'sub' 0 +> sub.test.dyndns NS 0 ns2.test.dyndns 3600 'sub' 0 > test.dyndns MX 10 host-1.test.dyndns 3600 '' 1 > test.dyndns MX 20 host-2.test.dyndns 3600 '' 1 > test.dyndns NS 0 ns1.test.dyndns 3600 '' 1 diff --git a/regression-tests/tests/1dyndns-update-nsec3params/expected_result.nsec3-optout b/regression-tests/tests/1dyndns-update-nsec3params/expected_result.nsec3-optout new file mode 100644 index 000000000..d899e4327 --- /dev/null +++ b/regression-tests/tests/1dyndns-update-nsec3params/expected_result.nsec3-optout @@ -0,0 +1,189 @@ +0 test.dyndns. IN NSEC3PARAM 86400 1 0 1 abcd 0 test.dyndns. IN RRSIG 86400 NSEC3PARAM 13 2 86400 [expiry] [inception] [keytag] test.dyndns. ... 2 . IN OPT 32768 Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 Reply to question for qname='test.dyndns.', qtype=NSEC3PARAM +1 4i84rosksbmegcqfnkf6n6ci093h7rq4.test.dyndns. IN NSEC3 86400 1 [flags] 1 abcd 8PQJV4B3M0LCFMVAE0HP394LC154L1I7 CNAME RRSIG +1 4i84rosksbmegcqfnkf6n6ci093h7rq4.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 8ti9tgh8d81frr5vr4o1o5bvko42v9dq.test.dyndns. IN NSEC3 86400 1 [flags] 1 abcd DSA3TI9NU3APDSVL3F63QLVAKV555SR6 A RRSIG +1 8ti9tgh8d81frr5vr4o1o5bvko42v9dq.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 lmrsadk2bb62qpruaules5i5ap06cp55.test.dyndns. IN NSEC3 86400 1 [flags] 1 abcd LRESBBP3LV8BLGJ9FSGTDMM4Q7VJ3D6J +1 lmrsadk2bb62qpruaules5i5ap06cp55.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN RRSIG 3600 SOA 13 2 3600 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400 +2 . IN OPT 32768 +Rcode: 3 (Non-Existent domain), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='b.host.test.dyndns.', qtype=A +Answer: +;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id] +;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0 +;; ZONE SECTION: +;test.dyndns. IN SOA + +0 test.dyndns. IN NSEC3PARAM 86400 1 0 10 dcbe +0 test.dyndns. IN RRSIG 86400 NSEC3PARAM 13 2 86400 [expiry] [inception] [keytag] test.dyndns. ... +2 . IN OPT 32768 +Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='test.dyndns.', qtype=NSEC3PARAM +1 ac2jl1kik929tr9i5rfcmbucm547n51a.test.dyndns. IN NSEC3 86400 1 [flags] 10 dcbe EE295AK1NDT9O0RLL1A4RPPB4NAOV4QM +1 ac2jl1kik929tr9i5rfcmbucm547n51a.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN RRSIG 3600 SOA 13 2 3600 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400 +1 uba3qp1vffon9pq2r07e7ldrnh5mg90v.test.dyndns. IN NSEC3 86400 1 [flags] 10 dcbe 4KLD1OCH52V50U3NG1HM8R7960VRSVOM A RRSIG +1 uba3qp1vffon9pq2r07e7ldrnh5mg90v.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +2 . IN OPT 32768 +Rcode: 3 (Non-Existent domain), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='b.host.test.dyndns.', qtype=A +Check if NSEC3PARAM record exists and A-record added +--- Start: diff start step.1 --- +< a.host.test.dyndns A 0 1.1.1.1 3600 'dsa3ti9nu3apdsvl3f63qlvakv555sr6' 1 +< cname1.test.dyndns CNAME 0 host-1.test.dyndns 3600 '8pqjv4b3m0lcfmvae0hp394lc154l1i7' 1 +< cname2.test.dyndns CNAME 0 host-2.test.dyndns 3600 '4i84rosksbmegcqfnkf6n6ci093h7rq4' 1 +< delete-add.test.dyndns A 0 127.0.0.108 3600 'slsck1enia56lrkr5gep7clu9j1o5ifn' 1 +< delete-add.test.dyndns TXT 0 "Should be gone after a while" 3600 'slsck1enia56lrkr5gep7clu9j1o5ifn' 1 +< e.host.test.dyndns A 0 1.1.1.1 3600 '8ti9tgh8d81frr5vr4o1o5bvko42v9dq' 1 +< host-1.test.dyndns A 0 127.0.0.101 3600 'tdhv9cbk13jg8drivldhsl3mji8qqqe2' 1 +< host-2.test.dyndns A 0 127.0.0.102 3600 's30oprhqrekh5suh6l530kd668elk9os' 1 +< host-3.test.dyndns A 0 127.0.0.103 3600 'gou9ao3rkdcnhqldf4056m9oigmtkuh6' 1 +< host.test.dyndns NULL NULL NULL NULL 'lmrsadk2bb62qpruaules5i5ap06cp55' 1 +< multi.test.dyndns A 0 127.0.0.1 3600 'tntcbdfsihhd24nt96bq9973vd019u43' 1 +< multi.test.dyndns A 0 127.0.0.2 3600 'tntcbdfsihhd24nt96bq9973vd019u43' 1 +< multi.test.dyndns A 0 127.0.0.3 3600 'tntcbdfsihhd24nt96bq9973vd019u43' 1 +< ns1.test.dyndns A 0 127.0.0.1 3600 '2gp5rdnjoq5oospc5o1ih9lali101di8' 1 +< ns2.test.dyndns A 0 127.0.0.2 3600 'fqu365vn7br5csv8cg6ne9v8ha6d008p' 1 +< replace.test.dyndns A 0 127.0.0.1 3600 'ituduke14pthsno7ii6h5sboshr8rfqs' 1 +< test.dyndns MX 10 host-1.test.dyndns 3600 'u36f0tjooqv1kspatto6qns0vap731v2' 1 +< test.dyndns MX 20 host-2.test.dyndns 3600 'u36f0tjooqv1kspatto6qns0vap731v2' 1 +< test.dyndns NS 0 ns1.test.dyndns 3600 'u36f0tjooqv1kspatto6qns0vap731v2' 1 +< test.dyndns NS 0 ns2.test.dyndns 3600 'u36f0tjooqv1kspatto6qns0vap731v2' 1 +< ttl.test.dyndns A 0 127.0.0.1 3600 'q75pnoe7pb74pnd6ogn44t5btuurbhrf' 1 +< txt.test.dyndns TXT 0 "This is some text" 3600 'lbj6718q27qsm7q020pqmhj0emg1neac' 1 +< wild.test.dyndns NULL NULL NULL NULL 'r9s1cj8dkmnmenjn95sti8nhh9utpq9k' 1 +< *.wild.test.dyndns A 0 127.0.1.255 3600 'lresbbp3lv8blgj9fsgtdmm4q7vj3d6j' 1 +> a.host.test.dyndns A 0 1.1.1.1 3600 '56ack4bc22vbotda2c16ovse4fn25rq9' 1 +> cname1.test.dyndns CNAME 0 host-1.test.dyndns 3600 '8uit4g0g6a2bhd4k1jqm8vss2ped90or' 1 +> cname2.test.dyndns CNAME 0 host-2.test.dyndns 3600 '4kld1och52v50u3ng1hm8r7960vrsvom' 1 +> delete-add.test.dyndns A 0 127.0.0.108 3600 'qos1o6fh2fhqsrobhfu5fo4jod7kbm31' 1 +> delete-add.test.dyndns TXT 0 "Should be gone after a while" 3600 'qos1o6fh2fhqsrobhfu5fo4jod7kbm31' 1 +> e.host.test.dyndns A 0 1.1.1.1 3600 'feibo0ol87v167hotqml6lfp3ertsvsm' 1 +> host-1.test.dyndns A 0 127.0.0.101 3600 '5oj69l0a9ivclkj9od2jo4nhea4dqqrr' 1 +> host-2.test.dyndns A 0 127.0.0.102 3600 'h5scf8d2fiklli0eejrr6ib9uurde8jo' 1 +> host-3.test.dyndns A 0 127.0.0.103 3600 'g29j5ivi5i6rr1aoe2l59a9s1rohha2o' 1 +> host.test.dyndns NULL NULL NULL NULL 'ac2jl1kik929tr9i5rfcmbucm547n51a' 1 +> multi.test.dyndns A 0 127.0.0.1 3600 'lavvds84bcal6n6qnavn3q1u4jcpjev9' 1 +> multi.test.dyndns A 0 127.0.0.2 3600 'lavvds84bcal6n6qnavn3q1u4jcpjev9' 1 +> multi.test.dyndns A 0 127.0.0.3 3600 'lavvds84bcal6n6qnavn3q1u4jcpjev9' 1 +> ns1.test.dyndns A 0 127.0.0.1 3600 'uba3qp1vffon9pq2r07e7ldrnh5mg90v' 1 +> ns2.test.dyndns A 0 127.0.0.2 3600 'pe3h59f3ru6vid4ok0t4tsu6d0ndrvhs' 1 +> replace.test.dyndns A 0 127.0.0.1 3600 'hcj69ok6nqcmebhuprvga4kagcb9cfrf' 1 +> test.dyndns MX 10 host-1.test.dyndns 3600 '62qbu7pvpt7cm7bdpu7geb3je1l0aure' 1 +> test.dyndns MX 20 host-2.test.dyndns 3600 '62qbu7pvpt7cm7bdpu7geb3je1l0aure' 1 +> test.dyndns NS 0 ns1.test.dyndns 3600 '62qbu7pvpt7cm7bdpu7geb3je1l0aure' 1 +> test.dyndns NS 0 ns2.test.dyndns 3600 '62qbu7pvpt7cm7bdpu7geb3je1l0aure' 1 +> ttl.test.dyndns A 0 127.0.0.1 3600 'fa878afqjafu98itdnj0744n7g1f8uei' 1 +> txt.test.dyndns TXT 0 "This is some text" 3600 'rps6lu4mfq3fl71qp8np9gf8addr9k8t' 1 +> wild.test.dyndns NULL NULL NULL NULL 'a5s5svjou2lfs8r30prflluuqqui51q8' 1 +> *.wild.test.dyndns A 0 127.0.1.255 3600 'ee295ak1ndt9o0rll1a4rppb4naov4qm' 1 +--- End: diff start step.1 --- + +Answer: +;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id] +;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0 +;; ZONE SECTION: +;test.dyndns. IN SOA + +1 test.dyndns. IN NSEC 86400 cname1.test.dyndns. NS SOA MX RRSIG NSEC DNSKEY +1 test.dyndns. IN RRSIG 3600 SOA 13 2 3600 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN RRSIG 86400 NSEC 13 2 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400 +2 . IN OPT 32768 +Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='test.dyndns.', qtype=NSEC3PARAM +1 a.host.test.dyndns. IN NSEC 86400 e.host.test.dyndns. A RRSIG NSEC +1 a.host.test.dyndns. IN RRSIG 86400 NSEC 13 4 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 delete-add.test.dyndns. IN NSEC 86400 a.host.test.dyndns. A TXT RRSIG NSEC +1 delete-add.test.dyndns. IN RRSIG 86400 NSEC 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN RRSIG 3600 SOA 13 2 3600 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400 +2 . IN OPT 32768 +Rcode: 3 (Non-Existent domain), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='b.host.test.dyndns.', qtype=A +Check if NSEC3PARAM is deleted +--- Start: diff start step.2 --- +< a.host.test.dyndns A 0 1.1.1.1 3600 'dsa3ti9nu3apdsvl3f63qlvakv555sr6' 1 +< cname1.test.dyndns CNAME 0 host-1.test.dyndns 3600 '8pqjv4b3m0lcfmvae0hp394lc154l1i7' 1 +< cname2.test.dyndns CNAME 0 host-2.test.dyndns 3600 '4i84rosksbmegcqfnkf6n6ci093h7rq4' 1 +< delete-add.test.dyndns A 0 127.0.0.108 3600 'slsck1enia56lrkr5gep7clu9j1o5ifn' 1 +< delete-add.test.dyndns TXT 0 "Should be gone after a while" 3600 'slsck1enia56lrkr5gep7clu9j1o5ifn' 1 +< e.host.test.dyndns A 0 1.1.1.1 3600 '8ti9tgh8d81frr5vr4o1o5bvko42v9dq' 1 +< host-1.test.dyndns A 0 127.0.0.101 3600 'tdhv9cbk13jg8drivldhsl3mji8qqqe2' 1 +< host-2.test.dyndns A 0 127.0.0.102 3600 's30oprhqrekh5suh6l530kd668elk9os' 1 +< host-3.test.dyndns A 0 127.0.0.103 3600 'gou9ao3rkdcnhqldf4056m9oigmtkuh6' 1 +< host.test.dyndns NULL NULL NULL NULL 'lmrsadk2bb62qpruaules5i5ap06cp55' 1 +< multi.test.dyndns A 0 127.0.0.1 3600 'tntcbdfsihhd24nt96bq9973vd019u43' 1 +< multi.test.dyndns A 0 127.0.0.2 3600 'tntcbdfsihhd24nt96bq9973vd019u43' 1 +< multi.test.dyndns A 0 127.0.0.3 3600 'tntcbdfsihhd24nt96bq9973vd019u43' 1 +< ns1.test.dyndns A 0 127.0.0.1 3600 '2gp5rdnjoq5oospc5o1ih9lali101di8' 1 +< ns2.test.dyndns A 0 127.0.0.2 3600 'fqu365vn7br5csv8cg6ne9v8ha6d008p' 1 +< replace.test.dyndns A 0 127.0.0.1 3600 'ituduke14pthsno7ii6h5sboshr8rfqs' 1 +< sub.test.dyndns NS 0 ns1.test.dyndns 3600 NULL 0 +< sub.test.dyndns NS 0 ns2.test.dyndns 3600 NULL 0 +< test.dyndns MX 10 host-1.test.dyndns 3600 'u36f0tjooqv1kspatto6qns0vap731v2' 1 +< test.dyndns MX 20 host-2.test.dyndns 3600 'u36f0tjooqv1kspatto6qns0vap731v2' 1 +< test.dyndns NS 0 ns1.test.dyndns 3600 'u36f0tjooqv1kspatto6qns0vap731v2' 1 +< test.dyndns NS 0 ns2.test.dyndns 3600 'u36f0tjooqv1kspatto6qns0vap731v2' 1 +< ttl.test.dyndns A 0 127.0.0.1 3600 'q75pnoe7pb74pnd6ogn44t5btuurbhrf' 1 +< txt.test.dyndns TXT 0 "This is some text" 3600 'lbj6718q27qsm7q020pqmhj0emg1neac' 1 +< wild.test.dyndns NULL NULL NULL NULL 'r9s1cj8dkmnmenjn95sti8nhh9utpq9k' 1 +< *.wild.test.dyndns A 0 127.0.1.255 3600 'lresbbp3lv8blgj9fsgtdmm4q7vj3d6j' 1 +> a.host.test.dyndns A 0 1.1.1.1 3600 'host a' 1 +> cname1.test.dyndns CNAME 0 host-1.test.dyndns 3600 'cname1' 1 +> cname2.test.dyndns CNAME 0 host-2.test.dyndns 3600 'cname2' 1 +> delete-add.test.dyndns A 0 127.0.0.108 3600 'delete-add' 1 +> delete-add.test.dyndns TXT 0 "Should be gone after a while" 3600 'delete-add' 1 +> e.host.test.dyndns A 0 1.1.1.1 3600 'host e' 1 +> host-1.test.dyndns A 0 127.0.0.101 3600 'host-1' 1 +> host-2.test.dyndns A 0 127.0.0.102 3600 'host-2' 1 +> host-3.test.dyndns A 0 127.0.0.103 3600 'host-3' 1 +> host.test.dyndns NULL NULL NULL NULL NULL 1 +> multi.test.dyndns A 0 127.0.0.1 3600 'multi' 1 +> multi.test.dyndns A 0 127.0.0.2 3600 'multi' 1 +> multi.test.dyndns A 0 127.0.0.3 3600 'multi' 1 +> ns1.test.dyndns A 0 127.0.0.1 3600 'ns1' 1 +> ns2.test.dyndns A 0 127.0.0.2 3600 'ns2' 1 +> replace.test.dyndns A 0 127.0.0.1 3600 'replace' 1 +> sub.test.dyndns NS 0 ns1.test.dyndns 3600 'sub' 0 +> sub.test.dyndns NS 0 ns2.test.dyndns 3600 'sub' 0 +> test.dyndns MX 10 host-1.test.dyndns 3600 '' 1 +> test.dyndns MX 20 host-2.test.dyndns 3600 '' 1 +> test.dyndns NS 0 ns1.test.dyndns 3600 '' 1 +> test.dyndns NS 0 ns2.test.dyndns 3600 '' 1 +> ttl.test.dyndns A 0 127.0.0.1 3600 'ttl' 1 +> txt.test.dyndns TXT 0 "This is some text" 3600 'txt' 1 +> wild.test.dyndns NULL NULL NULL NULL NULL 1 +> *.wild.test.dyndns A 0 127.0.1.255 3600 'wild *' 1 +--- End: diff start step.2 --- + +Answer: +;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id] +;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0 +;; ZONE SECTION: +;test.dyndns. IN SOA + +0 test.dyndns. IN NSEC3PARAM 86400 1 0 1 abcd +0 test.dyndns. IN RRSIG 86400 NSEC3PARAM 13 2 86400 [expiry] [inception] [keytag] test.dyndns. ... +2 . IN OPT 32768 +Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='test.dyndns.', qtype=NSEC3PARAM +1 4i84rosksbmegcqfnkf6n6ci093h7rq4.test.dyndns. IN NSEC3 86400 1 [flags] 1 abcd 8PQJV4B3M0LCFMVAE0HP394LC154L1I7 CNAME RRSIG +1 4i84rosksbmegcqfnkf6n6ci093h7rq4.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 8ti9tgh8d81frr5vr4o1o5bvko42v9dq.test.dyndns. IN NSEC3 86400 1 [flags] 1 abcd DSA3TI9NU3APDSVL3F63QLVAKV555SR6 A RRSIG +1 8ti9tgh8d81frr5vr4o1o5bvko42v9dq.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 lmrsadk2bb62qpruaules5i5ap06cp55.test.dyndns. IN NSEC3 86400 1 [flags] 1 abcd LRESBBP3LV8BLGJ9FSGTDMM4Q7VJ3D6J +1 lmrsadk2bb62qpruaules5i5ap06cp55.test.dyndns. IN RRSIG 86400 NSEC3 13 3 86400 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN RRSIG 3600 SOA 13 2 3600 [expiry] [inception] [keytag] test.dyndns. ... +1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400 +2 . IN OPT 32768 +Rcode: 3 (Non-Existent domain), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='b.host.test.dyndns.', qtype=A +Check if NSEC3PARAM is added again +--- Start: diff start step.3 --- +no difference +--- End: diff start step.3 --- + diff --git a/regression-tests/tests/5dyndns-restore-zone/command b/regression-tests/tests/5dyndns-restore-zone/command index da8a53486..9f3949a39 100755 --- a/regression-tests/tests/5dyndns-restore-zone/command +++ b/regression-tests/tests/5dyndns-restore-zone/command @@ -7,4 +7,4 @@ mysql --user="$GMYSQLUSER" --password="$GMYSQLPASSWD" --host="$GMYSQLHOST" \ "$GMYSQLDB" \ - -e "UPDATE records SET content = 'ns2.test.dyndns. ahu.example.dyndns. 2012060701 28800 7200 604800 86400' WHERE name = 'test.dyndns' AND type = 'SOA'" + -e "UPDATE records SET content = 'ns1.test.dyndns. ahu.example.dyndns. 2012060701 28800 7200 604800 86400' WHERE name in ('test.dyndns', 'sub.test.dyndns') AND type = 'SOA'" diff --git a/regression-tests/tests/verify-dnssec-zone/expected_result b/regression-tests/tests/verify-dnssec-zone/expected_result index e3d447869..347255e1d 100644 --- a/regression-tests/tests/verify-dnssec-zone/expected_result +++ b/regression-tests/tests/verify-dnssec-zone/expected_result @@ -24,6 +24,18 @@ zone test.dyndns/IN: loaded serial 2012060701 (DNSSEC signed) OK RETVAL: 0 +--- ldns-verify-zone -V2 sub.test.dyndns +RETVAL: 0 + +--- jdnssec-verifyzone sub.test.dyndns +zone verified. +RETVAL: 0 + +--- named-checkzone sub.test.dyndns +zone sub.test.dyndns/IN: loaded serial 2012060701 (DNSSEC signed) +OK +RETVAL: 0 + --- ldns-verify-zone -V2 wtest.com RETVAL: 0 diff --git a/regression-tests/tests/verify-dnssec-zone/expected_result.nsec3-optout b/regression-tests/tests/verify-dnssec-zone/expected_result.nsec3-optout index 082b76a6d..f7d366438 100644 --- a/regression-tests/tests/verify-dnssec-zone/expected_result.nsec3-optout +++ b/regression-tests/tests/verify-dnssec-zone/expected_result.nsec3-optout @@ -24,6 +24,18 @@ zone test.dyndns/IN: loaded serial 2012060701 (DNSSEC signed) OK RETVAL: 0 +--- ldns-verify-zone -V2 sub.test.dyndns +RETVAL: 0 + +--- jdnssec-verifyzone sub.test.dyndns +zone verified. +RETVAL: 0 + +--- named-checkzone sub.test.dyndns +zone sub.test.dyndns/IN: loaded serial 2012060701 (DNSSEC signed) +OK +RETVAL: 0 + --- ldns-verify-zone -V2 wtest.com RETVAL: 0 diff --git a/regression-tests/zones/.gitignore b/regression-tests/zones/.gitignore index 444a318bd..936d3b67b 100644 --- a/regression-tests/zones/.gitignore +++ b/regression-tests/zones/.gitignore @@ -1,4 +1,5 @@ /test.dyndns +/sub.test.dyndns /*.bind /*.com-slave /*.dyndns-slave diff --git a/regression-tests/zones/test.dyndns.orig b/regression-tests/zones/test.dyndns.orig index ad2261448..3f843c591 100644 --- a/regression-tests/zones/test.dyndns.orig +++ b/regression-tests/zones/test.dyndns.orig @@ -32,5 +32,3 @@ e.host IN A 1.1.1.1 sub IN NS ns1.test.dyndns. sub IN NS ns2.test.dyndns. - -occluded.sub IN A 127.0.0.200 \ No newline at end of file