]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Unit test for CVE-2026-33278.
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 20 May 2026 10:32:43 +0000 (12:32 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 20 May 2026 10:32:43 +0000 (12:32 +0200)
doc/Changelog
testdata/sub_ds_deepcopy.rpl [new file with mode: 0644]

index ddd6a9defcec27c8e00e59f36a0a246915234705..481d31f9c303a488454ce3701dcfb0ea255b47c8 100644 (file)
@@ -30,6 +30,7 @@
        - Tag for 1.25.1 release, it contains the security fixes on 1.25.0.
          the code repository continues with in addition the previous fixes,
          for 1.25.2.
+       - Unit test for CVE-2026-33278.
 
 18 May 2026: Wouter
        - Fix for mixed class referrals, the resolver uses the query
diff --git a/testdata/sub_ds_deepcopy.rpl b/testdata/sub_ds_deepcopy.rpl
new file mode 100644 (file)
index 0000000..2845bfe
--- /dev/null
@@ -0,0 +1,676 @@
+; config options
+; The island of trust is at test.
+server:
+       access-control: 10.0.0.0/8 allow
+       trust-anchor: "test. DS 1444 8 2 8a87d067fd09a5965244fe2e317dd26d182c468e0a7f26ecc4c7b479bf89db9b"
+       val-override-date: "20201020135527"
+       target-fetch-policy: "0 0 0 0 0"
+       qname-minimisation: "no"
+       fake-sha1: yes
+       trust-anchor-signaling: no
+       minimal-responses: no
+       iter-scrub-promiscuous: no
+       aggressive-nsec: yes
+       local-zone: test. nodefault
+       log-servfail: yes
+       ; otherwise after timers, the old replies are discarded as old.
+       discard-timeout: 0
+
+stub-zone:
+       name: "."
+       stub-addr: 193.0.14.129         # K.ROOT-SERVERS.NET.
+CONFIG_END
+
+SCENARIO_BEGIN Test sub DS deep copy during DNSSEC validation suspension
+
+; K.ROOT-SERVERS.NET.
+RANGE_BEGIN 0 20
+       ADDRESS 193.0.14.129 
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR NOERROR
+SECTION QUESTION
+. IN NS
+SECTION ANSWER
+. IN NS        K.ROOT-SERVERS.NET.
+SECTION ADDITIONAL
+K.ROOT-SERVERS.NET.    IN      A       193.0.14.129
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode subdomain
+ADJUST copy_id copy_query
+REPLY QR NOERROR
+SECTION QUESTION
+test. IN NS
+SECTION AUTHORITY
+test.  IN NS   ns.test.
+SECTION ADDITIONAL
+ns.test. IN A 1.2.3.5
+ENTRY_END
+RANGE_END
+
+; ns.test
+RANGE_BEGIN 0 20
+       ADDRESS 1.2.3.5
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+test. IN NS
+SECTION ANSWER
+test.    IN NS   ns.test
+test.  3600    IN      RRSIG   NS 8 1 3600 20201116135527 20201019135527 1444 test. RGCxIO32TbbLTk6xZmTr+fjYPH50hntBxeOQ2DIj2pDsmjALcHYtVkOfpfk2EhOhHZd+9PLuoJPbJh6a9NqLSFeBvr0XZoCZoQ2g0tCHUNHcH5EVjA2TuYBQem6DVYnPLJ3914aRx0uA1j42b8dC2xsam/XkOo7U+dLbUW2Os1s=
+SECTION ADDITIONAL
+ns.test. IN A 1.2.3.5
+ns.test.       3600    IN      RRSIG   A 8 2 3600 20201116135527 20201019135527 1444 test. GskCc4/k6GjH9V9Jz2V5L2XLiizbOeWkB0feSbf+aN859S3vxVvtuqkvIgwY4LafUO1QAn/pUcv9zA7rcFO++rlg+8t6gvZTo9p3v0bfeIv2uJDsfSBD5jDh0WXlxjekfnrKrQp7zE+GiA93tWwKUWKPvxXDgP+n886e6WcbHJw=
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+ns.test. IN A
+SECTION ANSWER
+ns.test. IN A 1.2.3.5
+ns.test.       3600    IN      RRSIG   A 8 2 3600 20201116135527 20201019135527 1444 test. GskCc4/k6GjH9V9Jz2V5L2XLiizbOeWkB0feSbf+aN859S3vxVvtuqkvIgwY4LafUO1QAn/pUcv9zA7rcFO++rlg+8t6gvZTo9p3v0bfeIv2uJDsfSBD5jDh0WXlxjekfnrKrQp7zE+GiA93tWwKUWKPvxXDgP+n886e6WcbHJw=
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+ns.test. IN AAAA
+SECTION AUTHORITY
+test. 3600 IN SOA ns.test. host.test. 20201 3600 1800 604800 3600
+test.  3600    IN      RRSIG   SOA 8 1 3600 20201116135527 20201019135527 1444 test. IZJIDmEgf0W7A5G7hvvZ2hUqJ9Trbv1/i7ySapDmPbYV9lVCmHHobySxO01yDhI2/Pvpsvxqrm1Tiv3BxH8uzZ4keKgiQjBsSy4htAsFct9I4E7ly2glPj/Fm3oun3PsjJDv5QYhx0KS7w4IQKU7Nc9pfJc92uoUI5bdoC1pRGw=
+ns.test. 3600 IN NSEC nz.test. A RRSIG
+ns.test.       3600    IN      RRSIG   NSEC 8 2 3600 20201116135527 20201019135527 1444 test. PElArVB3KPg8KHAP7lzcNbhFuXNxTsHNTn1dZVncB5qmWRdIaeKpaXDjpH0JSXMaelGFS+/QhuQ6Hmw9+4VyZFRqMzGhw4agUR/2bxABHcDIG4ZpUwyeSP61ATTfHUkQVxaH2wjCWI/tfmesdP2xVE4GXyUvCIBxU914MkZbULU=
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+test. IN DNSKEY
+SECTION ANSWER
+test.    3600    IN      DNSKEY  257 3 8 AwEAAbd9WqjzE2Pynz21OG5doSf9hFzMr5dhzz2waZ3vTa+0o5r7AjTAqmA1yH/B3+aAMihUm5ucZSfVqo7+kOaRE8yFj9aivOmA1n1+JLevJq/oyvQyjxQN2Qb89LyaNUT5oKZIiL+uyyhNW3KDR3SSbQ/GBwQNDHVcZi+JDR3RC0r7 ;{id = 1444 (ksk), size = 1024b}
+test.  3600    IN      RRSIG   DNSKEY 8 1 3600 20201116135527 20201019135527 1444 test. UmRMS4iG9NBBHZYOtpwFFcJgbEb5SfHSgHd9XRe/8pTWM31WSDayn5ViPOBMqI1T5TXg2amc13dDI574xIM2oKMus3b5cBW72jJLW13jprBtslO6P8BMWb4HNnvLrJtQjwf3ErRirtTxinLmywQtmyr1cdthyG3Gp4N7i90fHSc=
+SECTION ADDITIONAL
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qname qtype
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+example.test. IN DS
+SECTION ANSWER
+example.test.  3600    IN      DS      55567 8 2 a2d578906330a10a57d40462257b6ce038bad3f7bf4a45c46c46086e20a94b39
+example.test.  3600    IN      RRSIG   DS 8 2 3600 20201116135527 20201019135527 1444 test. P7+FTYW2qHuJ4I1YbuvseEz5X1lOYAraGEHB3C5y0OOCQFmhmSiFRdquNi2NlpcS6FXLdsE0EU+Bo1+0atTG4EkMWXbpF21lrtbB51BdsnlX4Mzc/o375fvjiOMwmF6wPCUaOUN62jrVrhsE/hedaVyDphDToqL17ETohwgUO2I=
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode subdomain
+ADJUST copy_id copy_query
+REPLY QR NOERROR
+SECTION QUESTION
+example.test. IN NS
+SECTION AUTHORITY
+example.test.    IN NS   ns.example.test.
+example.test.  3600    IN      DS      55567 8 2 a2d578906330a10a57d40462257b6ce038bad3f7bf4a45c46c46086e20a94b39
+example.test.  3600    IN      RRSIG   DS 8 2 3600 20201116135527 20201019135527 1444 test. P7+FTYW2qHuJ4I1YbuvseEz5X1lOYAraGEHB3C5y0OOCQFmhmSiFRdquNi2NlpcS6FXLdsE0EU+Bo1+0atTG4EkMWXbpF21lrtbB51BdsnlX4Mzc/o375fvjiOMwmF6wPCUaOUN62jrVrhsE/hedaVyDphDToqL17ETohwgUO2I=
+SECTION ADDITIONAL
+ns.example.test. IN A 1.2.3.4
+ENTRY_END
+RANGE_END
+
+; ns.example.test.
+RANGE_BEGIN 0 25
+       ADDRESS 1.2.3.4
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR NOERROR
+SECTION QUESTION
+example.test. IN NS
+SECTION ANSWER
+example.test.    IN NS   ns.example.test.
+example.test.  3600    IN      RRSIG   NS 8 2 3600 20201116135527 20201019135527 55567 example.test. l1JT0wMlK0YI7/CWHzexf/k0iafUhCgN+BdgjBXIRXmSQNf4HDTiAkbcWL2/15qtnp12nQy9JeiTdSQ3vtPoHAJX4C5uTWaze4ms+Wrrf+n92sLCjacP9x50uuicH3URT6cKb1QCAPwlvlWxIlZjAMYFScSns7+C441NMJT8aE4=
+SECTION ADDITIONAL
+ns.example.test.         IN      A       1.2.3.4
+ns.example.test.       3600    IN      RRSIG   A 8 3 3600 20201116135527 20201019135527 55567 example.test. 2PWaVaccZFQgfPKXNsdEGYUVaashCAj1ZhBo9XRt5eQKUFvZcauBjMnXIuxZFyWeootn1fZGw6GuPI5W48Y0FDx38H6adprkFgQikso2Y64jDdDMWznSo38Z/XqP+U0+kq4vmwonvmEMpm7hKnNEXvhqGKyGzyBwb+CZVJ2L8Eo=
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+ns.example.test. IN A
+SECTION ANSWER
+ns.example.test.         IN      A       1.2.3.4
+ns.example.test.       3600    IN      RRSIG   A 8 3 3600 20201116135527 20201019135527 55567 example.test. 2PWaVaccZFQgfPKXNsdEGYUVaashCAj1ZhBo9XRt5eQKUFvZcauBjMnXIuxZFyWeootn1fZGw6GuPI5W48Y0FDx38H6adprkFgQikso2Y64jDdDMWznSo38Z/XqP+U0+kq4vmwonvmEMpm7hKnNEXvhqGKyGzyBwb+CZVJ2L8Eo=
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+ns.example.test. IN AAAA
+SECTION AUTHORITY
+example.test. 3600 IN SOA ns.example.test. host.example.test. 20301 3600 1800 604800 3600
+example.test.  3600    IN      RRSIG   SOA 8 2 3600 20201116135527 20201019135527 55567 example.test. 2UUkScBAN37fJpSrelhE8DotKvmOzj3q9wicaanCIaCv95DE4nQnePih5B+ek3FIRjB/Uv2+z4Ro5Uxy94XAnlK0rCkDLSa0U9U7KP0ytc88sevO0x1SCPAMoZoJO6JqHkv42pdh54WSz+Zb/D8npY0j/tksHe/uX+VQnMymgb8=
+ns.example.test. 3600 IN NSEC nz.example.test. A RRSIG
+ns.example.test.       3600    IN      RRSIG   NSEC 8 3 3600 20201116135527 20201019135527 55567 example.test. v/5aO/n8Ow21y7LE7JKZsFkUJU5MjIfadVRm2Tdb8f3RLwYDdBTs3aWeeEQdCRSUF61TmfJM1jIxlWQPuHbqzGnjSk7adw9gFpP7wFwoqG3/xdCFHoxo/3/1F/4Ankey3sDgKgOFsgnu40TlL36mGPYszeK+/2o3SAx2GM+3BdU=
+ENTRY_END
+
+; response to DNSKEY priming query
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR NOERROR
+SECTION QUESTION
+example.test. IN DNSKEY
+SECTION ANSWER
+example.test.  3600    IN      DNSKEY  257 3 8 AwEAAdug/L739i0mgN2nuK/bhxu3wFn5Ud9nK2+XUmZQlPUEZUC5YZvm1rfMmEWTGBn87fFxEu/kjFZHJ55JLzqsbbpVHLbmKCTT2gYR2FV2WDKROGKuYbVkJIXdKAjJ0ONuK507NinYvlWXIoxHn22KAWOd9wKgSTNHBlmGkX+ts3hh ;{id = 55567 (ksk), size = 1024b}
+example.test.  3600    IN      RRSIG   DNSKEY 8 2 3600 20201116135527 20201019135527 55567 example.test. IbWMC6quOuZFNPAVxQLqCJ9nLhindBo826rnLcg5yMgs9dGUSPOCXAfHTmbgJAUNs9HTFfrJWNvasnETs0UOpmEuifGwWdH1OlME7Gny4RL2QmITUFeMW81Jz1tiVQxFXl6yxT0jxOxvz+bqMHlrz+8IeWQXcO+GZTPu8ueq30g=
+ENTRY_END
+
+; response to query of interest
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+www.example.test. IN A
+SECTION ANSWER
+www.example.test. IN A 1.2.3.4
+www.example.test.      3600    IN      RRSIG   A 8 3 3600 20201116135527 20201019135527 55567 example.test. sbK517uW0iiO1FbJ+rCSrISg6RoIsXAFmd8NgF9mERAefkiVYTjUxdm4USccVg4Xwig9S14yANFPXY1QQbTxx25mcOdw4wyJUjGZosaIYS2DSTsAnDSgEOHPiEnYM84/UCjfWY54P4SFnCx8esaZfSdMu6YG+d3CxR1wJGloju4=
+ENTRY_END
+RANGE_END
+
+; ns.example.test. later at 50
+RANGE_BEGIN 50 55
+       ADDRESS 1.2.3.4
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR NOERROR
+SECTION QUESTION
+example.test. IN NS
+SECTION ANSWER
+example.test.    IN NS   ns.example.test.
+example.test.  3600    IN      RRSIG   NS 8 2 3600 20201116135527 20201019135527 55567 example.test. l1JT0wMlK0YI7/CWHzexf/k0iafUhCgN+BdgjBXIRXmSQNf4HDTiAkbcWL2/15qtnp12nQy9JeiTdSQ3vtPoHAJX4C5uTWaze4ms+Wrrf+n92sLCjacP9x50uuicH3URT6cKb1QCAPwlvlWxIlZjAMYFScSns7+C441NMJT8aE4=
+SECTION ADDITIONAL
+ns.example.test.         IN      A       1.2.3.4
+ns.example.test.       3600    IN      RRSIG   A 8 3 3600 20201116135527 20201019135527 55567 example.test. 2PWaVaccZFQgfPKXNsdEGYUVaashCAj1ZhBo9XRt5eQKUFvZcauBjMnXIuxZFyWeootn1fZGw6GuPI5W48Y0FDx38H6adprkFgQikso2Y64jDdDMWznSo38Z/XqP+U0+kq4vmwonvmEMpm7hKnNEXvhqGKyGzyBwb+CZVJ2L8Eo=
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+ns.example.test. IN A
+SECTION ANSWER
+ns.example.test.         IN      A       1.2.3.4
+ns.example.test.       3600    IN      RRSIG   A 8 3 3600 20201116135527 20201019135527 55567 example.test. 2PWaVaccZFQgfPKXNsdEGYUVaashCAj1ZhBo9XRt5eQKUFvZcauBjMnXIuxZFyWeootn1fZGw6GuPI5W48Y0FDx38H6adprkFgQikso2Y64jDdDMWznSo38Z/XqP+U0+kq4vmwonvmEMpm7hKnNEXvhqGKyGzyBwb+CZVJ2L8Eo=
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+ns.example.test. IN AAAA
+SECTION AUTHORITY
+example.test. 3600 IN SOA ns.example.test. host.example.test. 20301 3600 1800 604800 3600
+example.test.  3600    IN      RRSIG   SOA 8 2 3600 20201116135527 20201019135527 55567 example.test. 2UUkScBAN37fJpSrelhE8DotKvmOzj3q9wicaanCIaCv95DE4nQnePih5B+ek3FIRjB/Uv2+z4Ro5Uxy94XAnlK0rCkDLSa0U9U7KP0ytc88sevO0x1SCPAMoZoJO6JqHkv42pdh54WSz+Zb/D8npY0j/tksHe/uX+VQnMymgb8=
+ns.example.test. 3600 IN NSEC nz.example.test. A RRSIG
+ns.example.test.       3600    IN      RRSIG   NSEC 8 3 3600 20201116135527 20201019135527 55567 example.test. v/5aO/n8Ow21y7LE7JKZsFkUJU5MjIfadVRm2Tdb8f3RLwYDdBTs3aWeeEQdCRSUF61TmfJM1jIxlWQPuHbqzGnjSk7adw9gFpP7wFwoqG3/xdCFHoxo/3/1F/4Ankey3sDgKgOFsgnu40TlL36mGPYszeK+/2o3SAx2GM+3BdU=
+ENTRY_END
+
+; response to DNSKEY priming query
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR NOERROR
+SECTION QUESTION
+example.test. IN DNSKEY
+SECTION ANSWER
+example.test.  3600    IN      DNSKEY  257 3 8 AwEAAdug/L739i0mgN2nuK/bhxu3wFn5Ud9nK2+XUmZQlPUEZUC5YZvm1rfMmEWTGBn87fFxEu/kjFZHJ55JLzqsbbpVHLbmKCTT2gYR2FV2WDKROGKuYbVkJIXdKAjJ0ONuK507NinYvlWXIoxHn22KAWOd9wKgSTNHBlmGkX+ts3hh ;{id = 55567 (ksk), size = 1024b}
+example.test.  3600    IN      RRSIG   DNSKEY 8 2 3600 20201116135527 20201019135527 55567 example.test. IbWMC6quOuZFNPAVxQLqCJ9nLhindBo826rnLcg5yMgs9dGUSPOCXAfHTmbgJAUNs9HTFfrJWNvasnETs0UOpmEuifGwWdH1OlME7Gny4RL2QmITUFeMW81Jz1tiVQxFXl6yxT0jxOxvz+bqMHlrz+8IeWQXcO+GZTPu8ueq30g=
+ENTRY_END
+
+; response to query of interest
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+aaa.parcel.example.test. IN A
+SECTION ANSWER
+aaa.parcel.example.test. IN A 1.2.3.5
+;aaa.parcel.example.test.      3600    IN      RRSIG   A 8 4 3600 20201116135527 20201019135527 55567 example.test. eFryWdR6+3OiuHnbOFnpEt2sVeMJw+maoPZPoiut24b0oGruN85ujzooVwYjvl+IPiEJo+sajnGhG9R5Uibvw1zg1LX0fATYytCVNSKGdjYEiO3+1yyiq1lxlo/zaxJi2Vl750s250ooIpQo/6zQVoIfHKDFSif4Xb4bFeRBTUY=
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+bbb.parcel.example.test. IN A
+SECTION ANSWER
+bbb.parcel.example.test. IN A 1.2.3.6
+;bbb.parcel.example.test.      3600    IN      RRSIG   A 8 4 3600 20201116135527 20201019135527 55567 example.test. mm2EmvC5UE1MCFw7lHNUE9tlrvSDr6IKUrC143YohY+S22Fb1RkmxmQIKcNVasZ8O+YJKOsiIz2+2iWvjhFMHXC7Y7QLu19Qe9ndQ4cx4mYUTFkA5imQkqiV9CJLCi9cjoCayJUDxAuT7pq6Y1VPIn0AUWNmcPNUZcYgy8NSe1A=
+ENTRY_END
+RANGE_END
+
+; ns.example.test.
+RANGE_BEGIN 60 70
+       ADDRESS 1.2.3.4
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+parcel.example.test. IN DS
+SECTION ANSWER
+SECTION AUTHORITY
+example.test. 3600 IN SOA ns.example.test. host.example.test. 20301 3600 1800 604800 3600
+example.test.  3600    IN      RRSIG   SOA 8 2 3600 20201116135527 20201019135527 55567 example.test. 2UUkScBAN37fJpSrelhE8DotKvmOzj3q9wicaanCIaCv95DE4nQnePih5B+ek3FIRjB/Uv2+z4Ro5Uxy94XAnlK0rCkDLSa0U9U7KP0ytc88sevO0x1SCPAMoZoJO6JqHkv42pdh54WSz+Zb/D8npY0j/tksHe/uX+VQnMymgb8=
+00000001.example.test. 3600 IN NSEC3 1 0 5 AA 00000002 A RRSIG
+00000001.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. e8JQpXALnirEp55SDzotEv/nBj1K+Rnx8BgNQQ74grKFHcrTx1xcJo2uhD5JSJk+5A11oWRcnzYwGYZyzjw4h9UBz7XZQogcvL5igPGbvtK71DiPnIMMj7aN/7yl/Q2gdkCqr0bBi2ZWO6AzGG90K33IlW2ZrttdaDzTNsF43rk=
+00000002.example.test. 3600 IN NSEC3 1 0 5 BB 00000003 A RRSIG
+00000002.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. b0jlxmbQqwGxB7jkiMW3PeEnvv9kBYHQ24qCgDXqpeqMfQxpEoXrSxmipI3JitV2FZqvNw+mJJ7Wy5kEGLvOqHJhxcPlbOJjVH2UDhWVNh0fR6UFGwZb62xaQMlltlUszFUNvbdIN4sO4EaLn2C1/LePUlQHWKZs2DCUbG6JOM4=
+00000003.example.test. 3600 IN NSEC3 1 0 5 CC 00000004 A RRSIG
+00000003.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. E0K4skeGIEfxlxHkJRBoES23n95OYtRz8KIvbcCHTXYCuM+CKnKtTCdVtgDYcx2IdyvXNDTaoylNpOAJ4IGLYNbCTCeIScQdTSB8meqDV/nFvlARcgz6ptCwi6gRoe4xpQ7T1v/h6/MFKr5BDqwFk2tDtz21Bpf8NoMLLPWIjw8=
+00000004.example.test. 3600 IN NSEC3 1 0 5 DD 00000005 A RRSIG
+00000004.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. yX+fvu905NpBGT0YFUtG0K/qzV4znlqNwAfIvblEW6GEanU5tiolunXXi1QYSfn8AbsPzokADW2xfGDbdMDR2FEbv7SXwoO1iQX6Yh0Sgyr8EGsUz8fLCcpZS+hovZX421RePnZkqQBY9LESeDdDpfvuxQTrh4ILSYxTSdKyBgg=
+00000005.example.test. 3600 IN NSEC3 1 0 5 EE 00000006 A RRSIG
+00000005.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. REolHghL+AZ46rpw+e7RwfBzPC9O6RyXnfvM4JSBfxw2J0+b7uvRoK83CHEbvkPDDgPJR8N74H1OtvRL4EkifKR5Vr11VLUDcJmXYTNP2mmlA0rwsC625cGVdZzuJjK2bvva2Cnu5vdQvjFLBPn2LVb2rxlkXeEToAQNDJMhNHo=
+00000006.example.test. 3600 IN NSEC3 1 0 5 11 00000007 A RRSIG
+00000006.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. V/7Yv/HdEmfHr2hGUuzoEm9/ovRxQOgeiiOVWL4S2h0r+PDd2XlpnCvS4E+fJhNsY+xGhtrPRTJTjJjxfF2r8AxcXW0Wbf6ZdPZliAAFuIK/brX6T6ReMrNq8dmEiHqg92y66Ff+aDTIdL1ufMJ+JoaygsbPghFPkD61kjs6GMs=
+00000007.example.test. 3600 IN NSEC3 1 0 5 22 00000008 A RRSIG
+00000007.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. gh7itP+B2Aa+S/iXkCo5lLzHY5OvW2VzkmnZ9kmezlXlJA7LkUUcPj33nCk+lY7Bvno1SEcQAYi9tCHegMsqh/RZg5gmRKMN3sn2ob2P7vbXzNiFCPpXdzHAzsmLwR61MqMPtT7gNNajKecoTM0/VkRht3J1aJJxsrmuGXyu3oM=
+00000008.example.test. 3600 IN NSEC3 1 0 5 33 00000009 A RRSIG
+00000008.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. qVQ4/COf1vEtswdtl8NvcZWX9otn4cjYWvVrx8Y9XbvPnboIOTrKpuej16wo6k6ak6IBBOQkIK4KDIP3iHNBlZQsxTUoaxb7EyNQ/Fkou3HNkJuf3VAUM2d/UhCmKpx5EPbmY5WQ7erDuRGMSIHYivjPOsSuLhfpcc8/jtHDcRI=
+ENTRY_END
+RANGE_END
+
+; ns.example.test.
+RANGE_BEGIN 160 170
+       ADDRESS 1.2.3.4
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+parcel.example.test. IN DS
+SECTION ANSWER
+SECTION AUTHORITY
+example.test. 3600 IN SOA ns.example.test. host.example.test. 20301 3600 1800 604800 3600
+example.test.  3600    IN      RRSIG   SOA 8 2 3600 20201116135527 20201019135527 55567 example.test. 2UUkScBAN37fJpSrelhE8DotKvmOzj3q9wicaanCIaCv95DE4nQnePih5B+ek3FIRjB/Uv2+z4Ro5Uxy94XAnlK0rCkDLSa0U9U7KP0ytc88sevO0x1SCPAMoZoJO6JqHkv42pdh54WSz+Zb/D8npY0j/tksHe/uX+VQnMymgb8=
+00000001.example.test. 3600 IN NSEC3 1 0 5 AA 00000002 A RRSIG
+00000001.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. e8JQpXALnirEp55SDzotEv/nBj1K+Rnx8BgNQQ74grKFHcrTx1xcJo2uhD5JSJk+5A11oWRcnzYwGYZyzjw4h9UBz7XZQogcvL5igPGbvtK71DiPnIMMj7aN/7yl/Q2gdkCqr0bBi2ZWO6AzGG90K33IlW2ZrttdaDzTNsF43rk=
+00000002.example.test. 3600 IN NSEC3 1 0 5 BB 00000003 A RRSIG
+00000002.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. b0jlxmbQqwGxB7jkiMW3PeEnvv9kBYHQ24qCgDXqpeqMfQxpEoXrSxmipI3JitV2FZqvNw+mJJ7Wy5kEGLvOqHJhxcPlbOJjVH2UDhWVNh0fR6UFGwZb62xaQMlltlUszFUNvbdIN4sO4EaLn2C1/LePUlQHWKZs2DCUbG6JOM4=
+00000003.example.test. 3600 IN NSEC3 1 0 5 CC 00000004 A RRSIG
+00000003.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. E0K4skeGIEfxlxHkJRBoES23n95OYtRz8KIvbcCHTXYCuM+CKnKtTCdVtgDYcx2IdyvXNDTaoylNpOAJ4IGLYNbCTCeIScQdTSB8meqDV/nFvlARcgz6ptCwi6gRoe4xpQ7T1v/h6/MFKr5BDqwFk2tDtz21Bpf8NoMLLPWIjw8=
+00000004.example.test. 3600 IN NSEC3 1 0 5 DD 00000005 A RRSIG
+00000004.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. yX+fvu905NpBGT0YFUtG0K/qzV4znlqNwAfIvblEW6GEanU5tiolunXXi1QYSfn8AbsPzokADW2xfGDbdMDR2FEbv7SXwoO1iQX6Yh0Sgyr8EGsUz8fLCcpZS+hovZX421RePnZkqQBY9LESeDdDpfvuxQTrh4ILSYxTSdKyBgg=
+00000005.example.test. 3600 IN NSEC3 1 0 5 EE 00000006 A RRSIG
+00000005.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. REolHghL+AZ46rpw+e7RwfBzPC9O6RyXnfvM4JSBfxw2J0+b7uvRoK83CHEbvkPDDgPJR8N74H1OtvRL4EkifKR5Vr11VLUDcJmXYTNP2mmlA0rwsC625cGVdZzuJjK2bvva2Cnu5vdQvjFLBPn2LVb2rxlkXeEToAQNDJMhNHo=
+00000006.example.test. 3600 IN NSEC3 1 0 5 11 00000007 A RRSIG
+00000006.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. V/7Yv/HdEmfHr2hGUuzoEm9/ovRxQOgeiiOVWL4S2h0r+PDd2XlpnCvS4E+fJhNsY+xGhtrPRTJTjJjxfF2r8AxcXW0Wbf6ZdPZliAAFuIK/brX6T6ReMrNq8dmEiHqg92y66Ff+aDTIdL1ufMJ+JoaygsbPghFPkD61kjs6GMs=
+00000007.example.test. 3600 IN NSEC3 1 0 5 22 00000008 A RRSIG
+00000007.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. gh7itP+B2Aa+S/iXkCo5lLzHY5OvW2VzkmnZ9kmezlXlJA7LkUUcPj33nCk+lY7Bvno1SEcQAYi9tCHegMsqh/RZg5gmRKMN3sn2ob2P7vbXzNiFCPpXdzHAzsmLwR61MqMPtT7gNNajKecoTM0/VkRht3J1aJJxsrmuGXyu3oM=
+00000008.example.test. 3600 IN NSEC3 1 0 5 33 00000009 A RRSIG
+00000008.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. qVQ4/COf1vEtswdtl8NvcZWX9otn4cjYWvVrx8Y9XbvPnboIOTrKpuej16wo6k6ak6IBBOQkIK4KDIP3iHNBlZQsxTUoaxb7EyNQ/Fkou3HNkJuf3VAUM2d/UhCmKpx5EPbmY5WQ7erDuRGMSIHYivjPOsSuLhfpcc8/jtHDcRI=
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+ccc.parcel.example.test. IN A
+SECTION ANSWER
+ccc.parcel.example.test. IN A 1.2.3.7
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+ddd.parcel.example.test. IN A
+SECTION ANSWER
+ddd.parcel.example.test. IN A 1.2.3.8
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+eee.parcel.example.test. IN A
+SECTION ANSWER
+eee.parcel.example.test. IN A 1.2.3.9
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+fff.parcel.example.test. IN A
+SECTION ANSWER
+fff.parcel.example.test. IN A 1.2.3.10
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+ggg.parcel.example.test. IN A
+SECTION ANSWER
+ggg.parcel.example.test. IN A 1.2.3.11
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+hhh.parcel.example.test. IN A
+SECTION ANSWER
+hhh.parcel.example.test. IN A 1.2.3.12
+ENTRY_END
+RANGE_END
+
+; ns.example.test.
+RANGE_BEGIN 270 300
+       ADDRESS 1.2.3.4
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+parcel.example.test. IN DS
+SECTION ANSWER
+SECTION AUTHORITY
+example.test. 3600 IN SOA ns.example.test. host.example.test. 20301 3600 1800 604800 3600
+example.test.  3600    IN      RRSIG   SOA 8 2 3600 20201116135527 20201019135527 55567 example.test. 2UUkScBAN37fJpSrelhE8DotKvmOzj3q9wicaanCIaCv95DE4nQnePih5B+ek3FIRjB/Uv2+z4Ro5Uxy94XAnlK0rCkDLSa0U9U7KP0ytc88sevO0x1SCPAMoZoJO6JqHkv42pdh54WSz+Zb/D8npY0j/tksHe/uX+VQnMymgb8=
+00000001.example.test. 3600 IN NSEC3 1 0 5 AA 00000002 A RRSIG
+00000001.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. e8JQpXALnirEp55SDzotEv/nBj1K+Rnx8BgNQQ74grKFHcrTx1xcJo2uhD5JSJk+5A11oWRcnzYwGYZyzjw4h9UBz7XZQogcvL5igPGbvtK71DiPnIMMj7aN/7yl/Q2gdkCqr0bBi2ZWO6AzGG90K33IlW2ZrttdaDzTNsF43rk=
+00000002.example.test. 3600 IN NSEC3 1 0 5 BB 00000003 A RRSIG
+00000002.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. b0jlxmbQqwGxB7jkiMW3PeEnvv9kBYHQ24qCgDXqpeqMfQxpEoXrSxmipI3JitV2FZqvNw+mJJ7Wy5kEGLvOqHJhxcPlbOJjVH2UDhWVNh0fR6UFGwZb62xaQMlltlUszFUNvbdIN4sO4EaLn2C1/LePUlQHWKZs2DCUbG6JOM4=
+00000003.example.test. 3600 IN NSEC3 1 0 5 CC 00000004 A RRSIG
+00000003.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. E0K4skeGIEfxlxHkJRBoES23n95OYtRz8KIvbcCHTXYCuM+CKnKtTCdVtgDYcx2IdyvXNDTaoylNpOAJ4IGLYNbCTCeIScQdTSB8meqDV/nFvlARcgz6ptCwi6gRoe4xpQ7T1v/h6/MFKr5BDqwFk2tDtz21Bpf8NoMLLPWIjw8=
+00000004.example.test. 3600 IN NSEC3 1 0 5 DD 00000005 A RRSIG
+00000004.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. yX+fvu905NpBGT0YFUtG0K/qzV4znlqNwAfIvblEW6GEanU5tiolunXXi1QYSfn8AbsPzokADW2xfGDbdMDR2FEbv7SXwoO1iQX6Yh0Sgyr8EGsUz8fLCcpZS+hovZX421RePnZkqQBY9LESeDdDpfvuxQTrh4ILSYxTSdKyBgg=
+00000005.example.test. 3600 IN NSEC3 1 0 5 EE 00000006 A RRSIG
+00000005.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. REolHghL+AZ46rpw+e7RwfBzPC9O6RyXnfvM4JSBfxw2J0+b7uvRoK83CHEbvkPDDgPJR8N74H1OtvRL4EkifKR5Vr11VLUDcJmXYTNP2mmlA0rwsC625cGVdZzuJjK2bvva2Cnu5vdQvjFLBPn2LVb2rxlkXeEToAQNDJMhNHo=
+00000006.example.test. 3600 IN NSEC3 1 0 5 11 00000007 A RRSIG
+00000006.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. V/7Yv/HdEmfHr2hGUuzoEm9/ovRxQOgeiiOVWL4S2h0r+PDd2XlpnCvS4E+fJhNsY+xGhtrPRTJTjJjxfF2r8AxcXW0Wbf6ZdPZliAAFuIK/brX6T6ReMrNq8dmEiHqg92y66Ff+aDTIdL1ufMJ+JoaygsbPghFPkD61kjs6GMs=
+00000007.example.test. 3600 IN NSEC3 1 0 5 22 00000008 A RRSIG
+00000007.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. gh7itP+B2Aa+S/iXkCo5lLzHY5OvW2VzkmnZ9kmezlXlJA7LkUUcPj33nCk+lY7Bvno1SEcQAYi9tCHegMsqh/RZg5gmRKMN3sn2ob2P7vbXzNiFCPpXdzHAzsmLwR61MqMPtT7gNNajKecoTM0/VkRht3J1aJJxsrmuGXyu3oM=
+00000008.example.test. 3600 IN NSEC3 1 0 5 33 00000009 A RRSIG
+00000008.example.test. 3600    IN      RRSIG   NSEC3 8 3 3600 20201116135527 20201019135527 55567 example.test. qVQ4/COf1vEtswdtl8NvcZWX9otn4cjYWvVrx8Y9XbvPnboIOTrKpuej16wo6k6ak6IBBOQkIK4KDIP3iHNBlZQsxTUoaxb7EyNQ/Fkou3HNkJuf3VAUM2d/UhCmKpx5EPbmY5WQ7erDuRGMSIHYivjPOsSuLhfpcc8/jtHDcRI=
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+ccc.parcel.example.test. IN A
+SECTION ANSWER
+ccc.parcel.example.test. IN A 1.2.3.7
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+ddd.parcel.example.test. IN A
+SECTION ANSWER
+ddd.parcel.example.test. IN A 1.2.3.8
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+eee.parcel.example.test. IN A
+SECTION ANSWER
+eee.parcel.example.test. IN A 1.2.3.9
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+fff.parcel.example.test. IN A
+SECTION ANSWER
+fff.parcel.example.test. IN A 1.2.3.10
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+ggg.parcel.example.test. IN A
+SECTION ANSWER
+ggg.parcel.example.test. IN A 1.2.3.11
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR AA NOERROR
+SECTION QUESTION
+hhh.parcel.example.test. IN A
+SECTION ANSWER
+hhh.parcel.example.test. IN A 1.2.3.12
+ENTRY_END
+RANGE_END
+
+STEP 10 QUERY ADDRESS 10.0.0.1
+ENTRY_BEGIN
+REPLY RD DO
+SECTION QUESTION
+www.example.test. IN A
+ENTRY_END
+
+; the DNSSEC chain is set up, in cache.
+STEP 20 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH all
+REPLY QR RD RA AD DO NOERROR
+SECTION QUESTION
+www.example.test. IN A
+SECTION ANSWER
+www.example.test. IN A 1.2.3.4
+www.example.test.      3600    IN      RRSIG   A 8 3 3600 20201116135527 20201019135527 55567 example.test. sbK517uW0iiO1FbJ+rCSrISg6RoIsXAFmd8NgF9mERAefkiVYTjUxdm4USccVg4Xwig9S14yANFPXY1QQbTxx25mcOdw4wyJUjGZosaIYS2DSTsAnDSgEOHPiEnYM84/UCjfWY54P4SFnCx8esaZfSdMu6YG+d3CxR1wJGloju4=
+ENTRY_END
+
+; The answer RANGE is stopped during this time, so the two queries
+; are both filed before unbound can get upstream answers.
+STEP 30 QUERY ADDRESS 10.0.0.1
+ENTRY_BEGIN
+REPLY RD DO
+SECTION QUESTION
+aaa.parcel.example.test. IN A
+ENTRY_END
+
+STEP 40 QUERY ADDRESS 10.0.0.2
+ENTRY_BEGIN
+REPLY RD DO
+SECTION QUESTION
+bbb.parcel.example.test. IN A
+ENTRY_END
+
+; The RANGE starts again, for example.test
+STEP 50 TRAFFIC
+
+STEP 60 TRAFFIC
+
+; The long NSEC3 RRSIGs are suspended from the validator,
+; with a timer that waits, about 0.040 sec.
+STEP 61 TIME_PASSES ELAPSE 0.01
+; now fire off the other queries.
+
+; while the parcel.example.test. DS query has finished up,
+; but aaa.parcel.example.test and bbb.parcel.example exist, and the
+; validator suspend timer is set to happen (in a while).
+; new queries come in.
+STEP 100 QUERY ADDRESS 10.0.0.1
+ENTRY_BEGIN
+REPLY RD DO
+SECTION QUESTION
+ccc.parcel.example.test. IN A
+ENTRY_END
+
+STEP 110 QUERY ADDRESS 10.0.0.2
+ENTRY_BEGIN
+REPLY RD DO
+SECTION QUESTION
+ddd.parcel.example.test. IN A
+ENTRY_END
+
+STEP 120 QUERY ADDRESS 10.0.0.3
+ENTRY_BEGIN
+REPLY RD DO
+SECTION QUESTION
+eee.parcel.example.test. IN A
+ENTRY_END
+
+STEP 130 QUERY ADDRESS 10.0.0.4
+ENTRY_BEGIN
+REPLY RD DO
+SECTION QUESTION
+fff.parcel.example.test. IN A
+ENTRY_END
+
+STEP 140 QUERY ADDRESS 10.0.0.5
+ENTRY_BEGIN
+REPLY RD DO
+SECTION QUESTION
+ggg.parcel.example.test. IN A
+ENTRY_END
+
+STEP 150 QUERY ADDRESS 10.0.0.6
+ENTRY_BEGIN
+REPLY RD DO
+SECTION QUESTION
+hhh.parcel.example.test. IN A
+ENTRY_END
+
+; validation suspend timer from aaa.parcel and bbb.parcel fires
+STEP 261 TIME_PASSES ELAPSE 0.1
+STEP 262 TIME_PASSES ELAPSE 0.1
+STEP 263 TIME_PASSES ELAPSE 0.2
+STEP 264 TIME_PASSES ELAPSE 0.4
+STEP 265 TIME_PASSES ELAPSE 0.4
+STEP 266 TIME_PASSES ELAPSE 0.4
+STEP 267 TIME_PASSES ELAPSE 0.4
+
+; now ordinary traffic flows again
+STEP 270 TRAFFIC
+; and timers elapse
+STEP 271 TIME_PASSES ELAPSE 0.4
+STEP 272 TIME_PASSES ELAPSE 0.4
+STEP 273 TIME_PASSES ELAPSE 0.4
+STEP 274 TIME_PASSES ELAPSE 0.4
+STEP 275 TIME_PASSES ELAPSE 0.4
+STEP 276 TIME_PASSES ELAPSE 0.4
+STEP 277 TIME_PASSES ELAPSE 0.4
+
+STEP 280 TRAFFIC
+STEP 300 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH all
+REPLY QR RD RA DO SERVFAIL
+SECTION QUESTION
+aaa.parcel.example.test. IN A
+SECTION ANSWER
+ENTRY_END
+
+STEP 310 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH all
+REPLY QR RD RA DO SERVFAIL
+SECTION QUESTION
+bbb.parcel.example.test. IN A
+SECTION ANSWER
+ENTRY_END
+
+STEP 320 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH all
+REPLY QR RD RA DO SERVFAIL
+SECTION QUESTION
+ccc.parcel.example.test. IN A
+SECTION ANSWER
+ENTRY_END
+
+STEP 330 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH all
+REPLY QR RD RA DO SERVFAIL
+SECTION QUESTION
+ddd.parcel.example.test. IN A
+SECTION ANSWER
+ENTRY_END
+
+STEP 340 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH all
+REPLY QR RD RA DO SERVFAIL
+SECTION QUESTION
+eee.parcel.example.test. IN A
+SECTION ANSWER
+ENTRY_END
+
+STEP 350 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH all
+REPLY QR RD RA DO SERVFAIL
+SECTION QUESTION
+fff.parcel.example.test. IN A
+SECTION ANSWER
+ENTRY_END
+
+STEP 360 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH all
+REPLY QR RD RA DO SERVFAIL
+SECTION QUESTION
+ggg.parcel.example.test. IN A
+SECTION ANSWER
+ENTRY_END
+
+STEP 370 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH all
+REPLY QR RD RA DO SERVFAIL
+SECTION QUESTION
+hhh.parcel.example.test. IN A
+SECTION ANSWER
+ENTRY_END
+
+SCENARIO_END