1; config options 2; The island of trust is at example.com 3server: 4 trust-anchor: "example.com. 3600 IN DS 2854 3 1 46e4ffc6e9a4793b488954bd3f0cc6af0dfb201b" 5 val-override-date: "20070916134226" 6 target-fetch-policy: "0 0 0 0 0" 7 fake-sha1: yes 8 trust-anchor-signaling: no 9 10stub-zone: 11 name: "." 12 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 13CONFIG_END 14 15SCENARIO_BEGIN Test pickup of DS NSEC from the cache. 16; make sure unbound does not pick up the wrong nsec. 17 18; K.ROOT-SERVERS.NET. 19RANGE_BEGIN 0 100 20 ADDRESS 193.0.14.129 21ENTRY_BEGIN 22MATCH opcode qtype qname 23ADJUST copy_id 24REPLY QR NOERROR 25SECTION QUESTION 26. IN NS 27SECTION ANSWER 28. IN NS K.ROOT-SERVERS.NET. 29SECTION ADDITIONAL 30K.ROOT-SERVERS.NET. IN A 193.0.14.129 31ENTRY_END 32 33ENTRY_BEGIN 34MATCH opcode subdomain 35ADJUST copy_id copy_query 36REPLY QR NOERROR 37SECTION QUESTION 38com. IN A 39SECTION AUTHORITY 40com. IN NS a.gtld-servers.net. 41SECTION ADDITIONAL 42a.gtld-servers.net. IN A 192.5.6.30 43ENTRY_END 44RANGE_END 45 46; a.gtld-servers.net. 47RANGE_BEGIN 0 100 48 ADDRESS 192.5.6.30 49ENTRY_BEGIN 50MATCH opcode qtype qname 51ADJUST copy_id 52REPLY QR NOERROR 53SECTION QUESTION 54com. IN NS 55SECTION ANSWER 56com. IN NS a.gtld-servers.net. 57SECTION ADDITIONAL 58a.gtld-servers.net. IN A 192.5.6.30 59ENTRY_END 60 61ENTRY_BEGIN 62MATCH opcode subdomain 63ADJUST copy_id copy_query 64REPLY QR NOERROR 65SECTION QUESTION 66example.com. IN A 67SECTION AUTHORITY 68example.com. IN NS ns.example.com. 69SECTION ADDITIONAL 70ns.example.com. IN A 1.2.3.4 71ENTRY_END 72RANGE_END 73 74; ns.example.com. 75RANGE_BEGIN 0 100 76 ADDRESS 1.2.3.4 77ENTRY_BEGIN 78MATCH opcode qtype qname 79ADJUST copy_id 80REPLY QR NOERROR 81SECTION QUESTION 82example.com. IN NS 83SECTION ANSWER 84example.com. IN NS ns.example.com. 85example.com. 3600 IN RRSIG NS 3 2 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCN+qHdJxoI/2tNKwsb08pra/G7aAIUAWA5sDdJTbrXA1/3OaesGBAO3sI= ;{id = 2854} 86SECTION ADDITIONAL 87ns.example.com. IN A 1.2.3.4 88ns.example.com. 3600 IN RRSIG A 3 3 3600 20070926135752 20070829135752 2854 example.com. MC0CFQCMSWxVehgOQLoYclB9PIAbNP229AIUeH0vNNGJhjnZiqgIOKvs1EhzqAo= ;{id = 2854} 89ENTRY_END 90 91; barely valid nodata for AAAA 92ENTRY_BEGIN 93MATCH opcode qtype qname 94ADJUST copy_id 95REPLY QR NOERROR 96SECTION QUESTION 97ns.example.com. IN AAAA 98SECTION ANSWER 99SECTION AUTHORITY 100example.com. IN NS ns.example.com. 101example.com. 3600 IN RRSIG NS 3 2 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCN+qHdJxoI/2tNKwsb08pra/G7aAIUAWA5sDdJTbrXA1/3OaesGBAO3sI= ;{id = 2854} 102ENTRY_END 103 104ENTRY_BEGIN 105MATCH opcode qtype qname 106ADJUST copy_id 107REPLY QR NOERROR 108SECTION QUESTION 109ns.example.com. IN A 110SECTION ANSWER 111ns.example.com. IN A 1.2.3.4 112ns.example.com. 3600 IN RRSIG A 3 3 3600 20070926135752 20070829135752 2854 example.com. MC0CFQCMSWxVehgOQLoYclB9PIAbNP229AIUeH0vNNGJhjnZiqgIOKvs1EhzqAo= ;{id = 2854} 113SECTION AUTHORITY 114example.com. IN NS ns.example.com. 115example.com. 3600 IN RRSIG NS 3 2 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCN+qHdJxoI/2tNKwsb08pra/G7aAIUAWA5sDdJTbrXA1/3OaesGBAO3sI= ;{id = 2854} 116ENTRY_END 117 118; response to DNSKEY priming query 119ENTRY_BEGIN 120MATCH opcode qtype qname 121ADJUST copy_id 122REPLY QR NOERROR 123SECTION QUESTION 124example.com. IN DNSKEY 125SECTION ANSWER 126example.com. 3600 IN DNSKEY 256 3 3 ALXLUsWqUrY3JYER3T4TBJII s70j+sDS/UT2QRp61SE7S3E EXopNXoFE73JLRmvpi/UrOO/Vz4Se 6wXv/CYCKjGw06U4WRgR YXcpEhJROyNapmdIKSx hOzfLVE1gqA0PweZR8d tY3aNQSRn3sPpwJr6Mi /PqQKAMMrZ9ckJpf1+b QMOOvxgzz2U1GS18b3y ZKcgTMEaJzd/GZYzi/B N2DzQ0MsrSwYXfsNLFO Bbs8PJMW4LYIxeeOe6rUgkWOF 7CC9Dh/dduQ1QrsJhmZAEFfd6ByYV+ ;{id = 2854 (zsk), size = 1688b} 127example.com. 3600 IN RRSIG DNSKEY DSA 2 3600 20070926134150 20070829134150 2854 example.com. MCwCFBQRtlR4BEv9ohi+PGFjp+AHsJuHAhRCvz0shggvnvI88DFnBDCczHUcVA== ;{id = 2854} 128SECTION AUTHORITY 129example.com. IN NS ns.example.com. 130example.com. 3600 IN RRSIG NS 3 2 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCN+qHdJxoI/2tNKwsb08pra/G7aAIUAWA5sDdJTbrXA1/3OaesGBAO3sI= ;{id = 2854} 131SECTION ADDITIONAL 132ns.example.com. IN A 1.2.3.4 133ns.example.com. 3600 IN RRSIG A 3 3 3600 20070926135752 20070829135752 2854 example.com. MC0CFQCMSWxVehgOQLoYclB9PIAbNP229AIUeH0vNNGJhjnZiqgIOKvs1EhzqAo= ;{id = 2854} 134ENTRY_END 135 136; response for tub.example.com 137ENTRY_BEGIN 138MATCH opcode subdomain 139ADJUST copy_id copy_query 140REPLY QR NXDOMAIN 141SECTION QUESTION 142tub.example.com. IN DNSKEY 143SECTION ANSWER 144SECTION AUTHORITY 145; SOA record 146example.com IN SOA ns.iana.org. NSTLD.iana.org. 2009061200 1800 900 604800 86400 147example.com. 3600 IN RRSIG SOA 3 2 3600 20070926134150 20070829134150 2854 example.com. AAvpEruGS0UJzMoO6ou/+y8ZyHjjrFC6HKDWU8a61Ru9qtl4R66fC1c= ;{id = 2854} 148; qname denial 149sub.example.com. IN NSEC wub.example.com. NS DS RRSIG NSEC 150sub.example.com. 3600 IN RRSIG NSEC 3 3 3600 20070926134150 20070829134150 2854 example.com. AA4+SSCI8kQZ2/iGj+9rxpNZyaIJNNRZ4eM0fEw2D5fVR/+WLUZ9GdE= ;{id = 2854} 151; wildcard denial 152example.com. IN NSEC blub.example.com. NS SOA RRSIG NSEC DNSKEY 153example.com. 3600 IN RRSIG NSEC 3 2 3600 20070926134150 20070829134150 2854 example.com. AARheDFiRjrnKHzsPloUJ0FC+8aAM6H49Lnm2AJrgxE9RlBlH2E4sRo= ;{id = 2854} 154SECTION ADDITIONAL 155ENTRY_END 156 157; DS query for sub.example.com 158ENTRY_BEGIN 159MATCH opcode qtype qname 160ADJUST copy_id 161REPLY QR NOERROR 162SECTION QUESTION 163sub.example.com. IN DS 164SECTION ANSWER 165sub.example.com. 3600 IN DS 30899 RSASHA1 1 f7ed618f24d5e5202927e1d27bc2e84a141cb4b3 166sub.example.com. 3600 IN RRSIG DS 3 3 3600 20070926134150 20070829134150 2854 example.com. MCwCFCW3ix0GD4BSvNLWIbROCJt5DAW9AhRt/kg9kBKJ20UBUdumrBUHqnskdA== ;{id = 2854} 167SECTION AUTHORITY 168SECTION ADDITIONAL 169ENTRY_END 170 171; response for delegation to sub.example.com. 172ENTRY_BEGIN 173MATCH opcode subdomain 174ADJUST copy_id copy_query 175REPLY QR NOERROR 176SECTION QUESTION 177sub.example.com. IN DNSKEY 178SECTION ANSWER 179SECTION AUTHORITY 180sub.example.com. IN NS ns.sub.example.com. 181;sub.example.com. 3600 IN DS 30899 RSASHA1 1 f7ed618f24d5e5202927e1d27bc2e84a141cb4b3 182;sub.example.com. 3600 IN RRSIG DS 3 3 3600 20070926134150 20070829134150 2854 example.com. MCwCFCW3ix0GD4BSvNLWIbROCJt5DAW9AhRt/kg9kBKJ20UBUdumrBUHqnskdA== ;{id = 2854} 183SECTION ADDITIONAL 184ns.sub.example.com. IN A 1.2.3.6 185ENTRY_END 186RANGE_END 187 188; ns.sub.example.com. 189RANGE_BEGIN 0 100 190 ADDRESS 1.2.3.6 191ENTRY_BEGIN 192MATCH opcode qtype qname 193ADJUST copy_id 194REPLY QR NOERROR 195SECTION QUESTION 196sub.example.com. IN NS 197SECTION ANSWER 198sub.example.com. IN NS ns.sub.example.com. 199sub.example.com. 3600 IN RRSIG NS 5 3 3600 20070926134150 20070829134150 30899 sub.example.com. wcpHeBILHfo8C9uxMhcW03gcURZeUffiKdSTb50ZjzTHgMNhRyMfpcvSpXEd9548A9UTmWKeLZChfr5Z/glONw== ;{id = 30899} 200SECTION ADDITIONAL 201ns.sub.example.com. IN A 1.2.3.6 202ns.sub.example.com. 3600 IN RRSIG A 5 4 3600 20070926134150 20070829134150 30899 sub.example.com. UF7shD/gt1FOp2UHgLTNbPzVykklSXFMEtJ1xD+Hholwf/PIzd7zoaIttIYibNa4fUXCqMg22H9P7MRhfmFe6g== ;{id = 30899} 203ENTRY_END 204 205; response to DNSKEY priming query 206; sub.example.com. 3600 IN DS 30899 RSASHA1 1 f7ed618f24d5e5202927e1d27bc2e84a141cb4b3 207ENTRY_BEGIN 208MATCH opcode qtype qname 209ADJUST copy_id 210REPLY QR NOERROR 211SECTION QUESTION 212sub.example.com. IN DNSKEY 213SECTION ANSWER 214sub.example.com. 3600 IN DNSKEY 256 3 5 AQPQ41chR9DEHt/aIzIFAqanbDlRflJoRs5yz1jFsoRIT7dWf0r+PeDuewdxkszNH6wnU4QL8pfKFRh5PIYVBLK3 ;{id = 30899 (zsk), size = 512b} 215sub.example.com. 3600 IN RRSIG DNSKEY 5 3 3600 20070926134150 20070829134150 30899 sub.example.com. uNGp99iznjD7oOX02XnQbDnbg75UwBHRvZSKYUorTKvPUnCWMHKdRsQ+mf+Fx3GZ+Fz9BVjoCmQqpnfgXLEYqw== ;{id = 30899} 216SECTION AUTHORITY 217sub.example.com. IN NS ns.sub.example.com. 218sub.example.com. 3600 IN RRSIG NS 5 3 3600 20070926134150 20070829134150 30899 sub.example.com. wcpHeBILHfo8C9uxMhcW03gcURZeUffiKdSTb50ZjzTHgMNhRyMfpcvSpXEd9548A9UTmWKeLZChfr5Z/glONw== ;{id = 30899} 219SECTION ADDITIONAL 220ns.sub.example.com. IN A 1.2.3.6 221ns.sub.example.com. 3600 IN RRSIG A 5 4 3600 20070926134150 20070829134150 30899 sub.example.com. UF7shD/gt1FOp2UHgLTNbPzVykklSXFMEtJ1xD+Hholwf/PIzd7zoaIttIYibNa4fUXCqMg22H9P7MRhfmFe6g== ;{id = 30899} 222ENTRY_END 223 224; response to query of interest 225ENTRY_BEGIN 226MATCH opcode qtype qname 227ADJUST copy_id 228REPLY QR NOERROR 229SECTION QUESTION 230www.sub.example.com. IN A 231SECTION ANSWER 232www.sub.example.com. IN A 11.11.11.11 233www.sub.example.com. 3600 IN RRSIG A 5 4 3600 20070926134150 20070829134150 30899 sub.example.com. 0DqqRfRtm7VSEQ4mmBbzrKRqQAay3JAE8DPDGmjtokrrjN9F1G/HxozDV7bjdIh2EChlQea8FPwf/GepJMUVxg== ;{id = 30899} 234SECTION AUTHORITY 235SECTION ADDITIONAL 236ENTRY_END 237RANGE_END 238 239; query for a domain next to it, so the wrong NSEC gets in the cache. 240STEP 1 QUERY 241ENTRY_BEGIN 242REPLY RD DO 243SECTION QUESTION 244www.tub.example.com. IN A 245ENTRY_END 246 247; recursion happens here. 248STEP 10 CHECK_ANSWER 249ENTRY_BEGIN 250MATCH all 251REPLY QR RD RA AD DO NXDOMAIN 252SECTION QUESTION 253www.tub.example.com. IN A 254SECTION ANSWER 255SECTION AUTHORITY 256example.com. 3600 IN SOA ns.iana.org. NSTLD.iana.org. 2009061200 1800 900 604800 86400 257example.com. 3600 IN RRSIG SOA 3 2 3600 20070926134150 20070829134150 2854 example.com. AAvpEruGS0UJzMoO6ou/+y8ZyHjjrFC6HKDWU8a61Ru9qtl4R66fC1c= ;{id = 2854} 258sub.example.com. 3600 IN NSEC wub.example.com. NS DS RRSIG NSEC 259sub.example.com. 3600 IN RRSIG NSEC 3 3 3600 20070926134150 20070829134150 2854 example.com. AA4+SSCI8kQZ2/iGj+9rxpNZyaIJNNRZ4eM0fEw2D5fVR/+WLUZ9GdE= ;{id = 2854} 260example.com. 3600 IN NSEC blub.example.com. NS SOA RRSIG NSEC DNSKEY 261example.com. 3600 IN RRSIG NSEC 3 2 3600 20070926134150 20070829134150 2854 example.com. AARheDFiRjrnKHzsPloUJ0FC+8aAM6H49Lnm2AJrgxE9RlBlH2E4sRo= ;{id = 2854} 262SECTION ADDITIONAL 263ENTRY_END 264 265; query of interest. 266STEP 30 QUERY 267ENTRY_BEGIN 268REPLY RD DO 269SECTION QUESTION 270www.sub.example.com. IN A 271ENTRY_END 272 273STEP 40 CHECK_ANSWER 274ENTRY_BEGIN 275MATCH all 276REPLY QR RD RA AD DO NOERROR 277SECTION QUESTION 278www.sub.example.com. IN A 279SECTION ANSWER 280www.sub.example.com. 3600 IN A 11.11.11.11 281www.sub.example.com. 3600 IN RRSIG A 5 4 3600 20070926134150 20070829134150 30899 sub.example.com. 0DqqRfRtm7VSEQ4mmBbzrKRqQAay3JAE8DPDGmjtokrrjN9F1G/HxozDV7bjdIh2EChlQea8FPwf/GepJMUVxg== ;{id = 30899} 282SECTION AUTHORITY 283SECTION ADDITIONAL 284ENTRY_END 285 286 287SCENARIO_END 288