1; config options 2server: 3 trust-anchor: "example.com. 3600 IN DS 30899 5 1 d4bf9d2e10f6d76840d42ef5913022abcd0bf512" 4 trust-anchor: "a.b.example.com. 3600 IN DNSKEY 257 3 5 AwEAAas/cAhCFXvBUgTSNZCvQp0pLx1dY+7rXR0hH4/3EUgWmsmbYUpI1qD0xhwKD/oYGEwAm291fyWJ9c0oVxXDEK8=" 5 val-override-date: "20091113091234" 6 fake-sha1: yes 7 trust-anchor-signaling: no 8 ede: yes 9 10forward-zone: 11 name: "." 12 forward-addr: 192.0.2.1 13CONFIG_END 14 15SCENARIO_BEGIN Test validator with CNAME to closer anchor optout missing sigs. 16 17RANGE_BEGIN 0 100 18 ADDRESS 192.0.2.1 19ENTRY_BEGIN 20MATCH opcode qtype qname 21ADJUST copy_id 22REPLY QR NOERROR 23SECTION QUESTION 24www.example.com. IN AAAA 25SECTION ANSWER 26www.example.com. IN CNAME www.a.b.example.com. 27www.example.com. 3600 IN RRSIG CNAME 5 3 3600 20091213091234 20091111091234 30899 example.com. mfQXJgOsRe8wiqNDZT4+ygSgRqzNowJ20o5+b681Mssp0xc007dq1ZaUYwUCdZjTn/GhF+f74t0UI1oqsFw2XA== ;{id = 30899} 28 29SECTION AUTHORITY 30;; nsec3param 1 1 1 d399eaab 31; example.com. -> l0c0e5lac37ai0lpij31sj699hkktdmb. 32; b.example.com. -> 1lq6sb4omkd2vgj0l8lro2cbie223hco. 33;; closest encloser: example.com. 34l0c0e5lac37ai0lpij31sj699hkktdmb.example.com. IN NSEC3 1 1 1 d399eaab l0c0e5lac37ai0lpij31sj699hkktdmc SOA NS DNSKEY NSEC3PARAM RRSIG 35l0c0e5lac37ai0lpij31sj699hkktdmb.example.com. 3600 IN RRSIG NSEC3 5 3 3600 20091213091234 20091111091234 30899 example.com. qjV0zsbDWLuoOQQ3tgCE2zo1z31bK9nv/Wh6xqKhmhyFI87nw2HM0lZGfRQrpWvWfBDczLRxHH9WNZkeIzv28w== ;{id = 30899} 36 37;; nextcloser is: b.example.com. ; under optout range. 38; disproof of DS using the optout range. 391lq4sb4omkd2vgj0l8lro2cbie223hco.example.com. IN NSEC3 1 1 1 d399eaab 1lq8sb4omkd2vgj0l8lro2cbie223hco NS RRSIG 401lq4sb4omkd2vgj0l8lro2cbie223hco.example.com. 3600 IN RRSIG NSEC3 5 3 3600 20091213091234 20091111091234 30899 example.com. ZOJhHYt+YkGHBxHynuXlyZ8PEGg4YyqD/roWiEtBoP2PiGoPNCNqtWd0WjRgsUT0YFp/VqjqAU/RH8D45B8S8A== ;{id = 30899} 41 42ENTRY_END 43 44ENTRY_BEGIN 45MATCH opcode qtype qname 46ADJUST copy_id 47REPLY QR NOERROR 48SECTION QUESTION 49www.a.b.example.com. IN AAAA 50SECTION ANSWER 51SECTION AUTHORITY 52; NSEC that proves there is no AAAA record 53www.a.b.example.com. IN NSEC zzz.a.b.example.com. A NSEC RRSIG MX 54; signature missing! 55;www.a.b.example.com. 3600 IN RRSIG NSEC 5 5 3600 20091213091234 20091111091234 16486 a.b.example.com. pOj+aOIolZ8VXlLpaLD1NsYVbl8FW4wmsJbiVTYAMcyDOlgxOsbhTtlB4jQ7uV9pRVAzkvdm1V5wc/1PcncTuw== ;{id = 16486} 56ENTRY_END 57 58ENTRY_BEGIN 59MATCH opcode qtype qname 60ADJUST copy_id 61REPLY QR NOERROR 62SECTION QUESTION 63example.com. IN DNSKEY 64SECTION ANSWER 65example.com. 3600 IN DNSKEY 256 3 5 AQPQ41chR9DEHt/aIzIFAqanbDlRflJoRs5yz1jFsoRIT7dWf0r+PeDuewdxkszNH6wnU4QL8pfKFRh5PIYVBLK3 ;{id = 30899 (zsk), size = 512b} 66example.com. 3600 IN RRSIG DNSKEY 5 2 3600 20091213091234 20091111091234 30899 example.com. hc+1QLqhy6lcfgH95k6eabsXrYsdH2oTLqDu6BjHYrmLi0kX4ZDiOI+syhIcGw9+hRqW1j8t+lsHvzvi7BgcXg== ;{id = 30899} 67ENTRY_END 68 69ENTRY_BEGIN 70MATCH opcode qtype qname 71ADJUST copy_id 72REPLY QR NOERROR 73SECTION QUESTION 74a.b.example.com. IN DNSKEY 75SECTION ANSWER 76a.b.example.com. 3600 IN DNSKEY 257 3 5 AwEAAas/cAhCFXvBUgTSNZCvQp0pLx1dY+7rXR0hH4/3EUgWmsmbYUpI1qD0xhwKD/oYGEwAm291fyWJ9c0oVxXDEK8= ;{id = 16486 (ksk), size = 512b} 77; signature missing! 78;a.b.example.com. 3600 IN RRSIG DNSKEY 5 4 3600 20091213091234 20091111091234 16486 a.b.example.com. kPftbF2Rut5h2Sc2k/gp27XS+4I9WQ/EYa5NJOnqfJZqpw/es7GuLyWAAZyvNhBDIUEenXtZ8k1H8F8poKdNXw== ;{id = 16486} 79ENTRY_END 80 81RANGE_END 82 83STEP 1 QUERY 84ENTRY_BEGIN 85REPLY RD DO 86SECTION QUESTION 87www.example.com. IN AAAA 88ENTRY_END 89; recursion happens here. 90STEP 10 CHECK_ANSWER 91ENTRY_BEGIN 92MATCH all ede=9 93REPLY QR RD RA DO SERVFAIL 94SECTION QUESTION 95www.example.com. IN AAAA 96SECTION ANSWER 97ENTRY_END 98 99SCENARIO_END 100