From bf037156f3df2f489df22431b064534312372a11 Mon Sep 17 00:00:00 2001 From: Peter van Dijk Date: Thu, 16 Aug 2018 22:46:41 +0200 Subject: [PATCH] add test for parent/child confusion (cherry picked from commit c9ff6ee5b6c8cb1263c4fc726cfc781e3b8e0064) --- modules/tinydnsbackend/data | 10 +- modules/tinydnsbackend/data.cdb | Bin 1352206 -> 1352614 bytes .../rectify-axfr/expected_result | 12 ++ .../tinydns-data-check/expected_result | 5 +- .../00dnssec-grabkeys/expected_result.dnssec | 2 +- .../tests/1dyndns-correct-zone/command | 55 +++++ .../tests/1dyndns-correct-zone/description | 2 + .../1dyndns-correct-zone/expected_result | 49 +++++ .../tests/1dyndns-correct-zone/skip.nodyndns | 0 .../expected_result.nsec3 | 4 +- .../expected_result | 2 +- .../expected_result.nsec3 | 2 +- .../expected_result.nsec3-optout | 76 +++++++ .../expected_result | 4 + .../expected_result.nsec3 | 8 + .../expected_result.nsec3-optout | 189 ++++++++++++++++++ .../tests/5dyndns-restore-zone/command | 2 +- .../tests/verify-dnssec-zone/expected_result | 12 ++ .../expected_result.nsec3-optout | 12 ++ regression-tests/zones/.gitignore | 1 + regression-tests/zones/test.dyndns.orig | 2 - 21 files changed, 437 insertions(+), 12 deletions(-) create mode 100755 regression-tests/tests/1dyndns-correct-zone/command create mode 100644 regression-tests/tests/1dyndns-correct-zone/description create mode 100644 regression-tests/tests/1dyndns-correct-zone/expected_result create mode 100644 regression-tests/tests/1dyndns-correct-zone/skip.nodyndns create mode 100644 regression-tests/tests/1dyndns-update-nsec3params-with-others/expected_result.nsec3-optout create mode 100644 regression-tests/tests/1dyndns-update-nsec3params/expected_result.nsec3-optout 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 40206e6c4a9e79bc09d4649b6f6ba16cc0daf668..ee5d21a1d236ee556698cf0e6c30ee1f06cbf770 100644 GIT binary patch delta 5340 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 RUnia5=wn&1aH}NH{|BFj5)}Xd 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 -- 2.49.0