From c9ff6ee5b6c8cb1263c4fc726cfc781e3b8e0064 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 --- modules/tinydnsbackend/data | 16 +- modules/tinydnsbackend/data.cdb | Bin 1352115 -> 1352532 bytes .../rectify-axfr/expected_result | 15 ++ .../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 | 15 ++ .../expected_result.nsec3-optout | 15 ++ regression-tests/zones/.gitignore | 1 + regression-tests/zones/test.dyndns.orig | 2 - 21 files changed, 449 insertions(+), 15 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 02e788864..72c7a0063 100644 --- a/modules/tinydnsbackend/data +++ b/modules/tinydnsbackend/data @@ -20106,8 +20106,8 @@ :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 -:hostmaster.mb.example.com:8:\300\035:120 -:hostmaster.mb.example.com:8:\300\072:120 +:hostmaster.mb.example.com:8:\004phil\303\177:120 +:hostmaster.mb.example.com:8:\006sheila\303\177: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 @@ -20115,9 +20115,9 @@ :location.example.com:29:\000\022\026\023\213\044\310\373\201D\030\300\000\230\230\020:120 :location.example.com:29:\000\042\026\023t\3331\320\201D\030\300\000\230\230\020:120 :multitext.example.com:16:\015text\040part\040one\015text\040part\040two\017text\040part\040three:120 -:phil.mb.example.com:7:\002pc\300\044:120 -:philip.mb.example.com:9:\300\072:120 -:sheila.mb.example.com:7:\004bill\300\044:120 +:phil.mb.example.com:7:\002pc\303\177:120 +:philip.mb.example.com:9:\303\216:120 +:sheila.mb.example.com:7:\004bill\303\177:120 :text.example.com:16:\025Hi\054\040this\040is\040some\040text:120 :text0.example.com:16:\014k\075rsa\073\040p\075one:120 :text1.example.com:16:\014k\075rsa\073\040p\075one:120 @@ -20186,6 +20186,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 @@ -20209,6 +20211,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 976aaa277b917d9fb4b10d0fb4a3e97eef76321c..e2bf2c3e586eccfb4a193fe5470ee76200d5e45c 100644 GIT binary patch delta 5161 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 diff --git a/regression-tests.nobackend/rectify-axfr/expected_result b/regression-tests.nobackend/rectify-axfr/expected_result index 0da83a2e5..04e2d37cc 100644 --- a/regression-tests.nobackend/rectify-axfr/expected_result +++ b/regression-tests.nobackend/rectify-axfr/expected_result @@ -30,6 +30,21 @@ zone test.dyndns/IN: loaded serial 2012060701 (DNSSEC signed) OK RETVAL: 0 +--- ldns-verify-zone -V2 sub.test.dyndns +RETVAL: 0 + +--- validns 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 2d92795ea..215d8240d 100644 --- a/regression-tests.nobackend/tinydns-data-check/expected_result +++ b/regression-tests.nobackend/tinydns-data-check/expected_result @@ -1,6 +1,7 @@ 9f88091d3d1b793bf15a2cf5015bf92d ../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 e7c0fd528e8aaedb1ea3b6daaead4de2 ../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 -3cfc26fade6f3c30da8e18ca33b03498 ../modules/tinydnsbackend/data.cdb +7145702efe04410a480114206dea2da6 ../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 f2f0e6bb5..539d1ef57 100644 --- a/regression-tests/tests/verify-dnssec-zone/expected_result +++ b/regression-tests/tests/verify-dnssec-zone/expected_result @@ -30,6 +30,21 @@ zone test.dyndns/IN: loaded serial 2012060701 (DNSSEC signed) OK RETVAL: 0 +--- ldns-verify-zone -V2 sub.test.dyndns +RETVAL: 0 + +--- validns 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 667918b8b..ff1fec339 100644 --- a/regression-tests/tests/verify-dnssec-zone/expected_result.nsec3-optout +++ b/regression-tests/tests/verify-dnssec-zone/expected_result.nsec3-optout @@ -30,6 +30,21 @@ zone test.dyndns/IN: loaded serial 2012060701 (DNSSEC signed) OK RETVAL: 0 +--- ldns-verify-zone -V2 sub.test.dyndns +RETVAL: 0 + +--- validns 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.40.0