1; config options 2server: 3 target-fetch-policy: "0 0 0 0 0" 4 log-time-ascii: yes 5stub-zone: 6 name: "." 7 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 8; initial content (say from dig example.com DNSKEY > example.com.key) 9AUTOTRUST_FILE example.com 10example.com. 10800 IN DNSKEY 257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b} 11example.com. 10800 IN DNSKEY 256 3 5 AQPQ41chR9DEHt/aIzIFAqanbDlRflJoRs5yz1jFsoRIT7dWf0r+PeDuewdxkszNH6wnU4QL8pfKFRh5PIYVBLK3 ;{id = 30899 (zsk), size = 512b} 12AUTOTRUST_END 13CONFIG_END 14 15SCENARIO_BEGIN Test autotrust ADDPEND state cannot add new key 16 17; K-ROOT 18RANGE_BEGIN 0 100 19 ADDRESS 193.0.14.129 20ENTRY_BEGIN 21MATCH opcode qname qtype 22ADJUST copy_id copy_query 23REPLY QR AA 24SECTION QUESTION 25. IN NS 26SECTION ANSWER 27. IN NS k.root-servers.net. 28SECTION ADDITIONAL 29k.root-servers.net IN A 193.0.14.129 30ENTRY_END 31 32ENTRY_BEGIN 33MATCH opcode subdomain 34ADJUST copy_id copy_query 35REPLY QR 36SECTION QUESTION 37com. IN NS 38SECTION AUTHORITY 39com. IN NS a.gtld-servers.net. 40SECTION ADDITIONAL 41a.gtld-servers.net. IN A 192.5.6.30 42ENTRY_END 43RANGE_END 44 45; a.gtld-servers.net. 46RANGE_BEGIN 0 100 47 ADDRESS 192.5.6.30 48ENTRY_BEGIN 49MATCH opcode subdomain 50ADJUST copy_id copy_query 51REPLY QR 52SECTION QUESTION 53example.com. IN NS 54SECTION AUTHORITY 55example.com. IN NS ns.example.com. 56SECTION ADDITIONAL 57ns.example.com. IN A 1.2.3.4 58ENTRY_END 59RANGE_END 60 61; ns.example.com. KSK 55582 62RANGE_BEGIN 0 10 63 ADDRESS 1.2.3.4 64ENTRY_BEGIN 65MATCH opcode qname qtype 66ADJUST copy_id 67REPLY QR AA 68SECTION QUESTION 69www.example.com. IN A 70SECTION ANSWER 71www.example.com. 3600 IN A 10.20.30.40 72www.example.com. 3600 IN RRSIG A 5 3 3600 20090924111500 20090821111500 30899 example.com. pYGxVLsWUvOp1wSf0iwPap+JnECfC5GAm1lRqy3YEqecNGld7U7x/5Imo3CerbdZrVptUQs2oH0lcjwYJXMnsw== ;{id = 30899} 73SECTION AUTHORITY 74example.com. 3600 IN NS ns.example.com. 75example.com. 3600 IN RRSIG NS 5 2 3600 20090924111500 20090821111500 30899 example.com. J5wxRq0jgwQL6yy530kvo9cHqNAUHV8IF4dvaYZL0bNraO2Oe6dVXqlJl4+cxNHI2TMsstwFPr2Zz8tv6Az2mQ== ;{id = 30899} 76SECTION ADDITIONAL 77ns.example.com. 3600 IN A 1.2.3.4 78ns.example.com. 3600 IN RRSIG A 5 3 3600 20090924111500 20090821111500 30899 example.com. JsXbS18oyc0zkVaOWGSFdIQuOsZKflT0GraT9afDPoWLCgH4ApF7jNgfJV7Pqy1sTBRajME5IUAhpANwGBuW4A== ;{id = 30899} 79ENTRY_END 80 81ENTRY_BEGIN 82MATCH opcode qname qtype 83ADJUST copy_id 84REPLY QR AA 85SECTION QUESTION 86example.com. IN DNSKEY 87SECTION ANSWER 88; KSK 1 89example.com. 10800 IN DNSKEY 257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b} 90; ZSK 1 91example.com. 10800 IN DNSKEY 256 3 5 AQPQ41chR9DEHt/aIzIFAqanbDlRflJoRs5yz1jFsoRIT7dWf0r+PeDuewdxkszNH6wnU4QL8pfKFRh5PIYVBLK3 ;{id = 30899 (zsk), size = 512b} 92; signatures 93example.com. 10800 IN RRSIG DNSKEY 5 2 10800 20090924111500 20090821111500 30899 example.com. b/HK231jIQLX8IhlZfup3r0yhpXaasbPE6LzxoEVVvWaTZWcLmeV8jDIcn0qO7Yvs7bIJN20lwVAV0GcHH3hWQ== ;{id = 30899} 94example.com. 10800 IN RRSIG DNSKEY 5 2 10800 20090924111500 20090821111500 55582 example.com. PCHme1QLoULxqjhg5tMlpR0qJlBfstEUVq18TtNoKQe9le1YhJ9caheXcTWoK+boLhXxg9u6Yyvq8FboQh0OjA== ;{id = 55582} 95ENTRY_END 96RANGE_END 97 98; ns.example.com. KSK 55582 and 60946 99RANGE_BEGIN 11 20 100 ADDRESS 1.2.3.4 101ENTRY_BEGIN 102MATCH opcode qname qtype 103ADJUST copy_id 104REPLY QR AA 105SECTION QUESTION 106example.com. IN DNSKEY 107SECTION ANSWER 108; KSK 1 109example.com. 10800 IN DNSKEY 257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b} 110; KSK 2 111example.com. 10800 IN DNSKEY 257 3 5 AwEAAeiaUiUIpWMfYz5L0sfJTZWnuN9IyBX4em9VjsoqQTsOD1HDQpNb4buvJo7pN2aBCxNS7e0OL8e2mVB6CLZ+8ek= ;{id = 60946 (ksk), size = 512b} 112; ZSK 1 113example.com. 10800 IN DNSKEY 256 3 5 AQPQ41chR9DEHt/aIzIFAqanbDlRflJoRs5yz1jFsoRIT7dWf0r+PeDuewdxkszNH6wnU4QL8pfKFRh5PIYVBLK3 ;{id = 30899 (zsk), size = 512b} 114; signatures 115example.com. 10800 IN RRSIG DNSKEY 5 2 10800 20091024111500 20090921111500 30899 example.com. rkaCUpTFPWVu4Om5oMTR+39Mct6ZMs56xrE0rbxMMOokfvIQheIxsAEc5BFJeA/2y5WTewl6diCD6yQXCybrDg== ;{id = 30899} 116example.com. 10800 IN RRSIG DNSKEY 5 2 10800 20091024111500 20090921111500 55582 example.com. CoMon+lWPAsUvgfpCTDPx8Zn8dQpky3lu2O6T+oJ2Mat9a/u1YwGhSQHGPn7ZNG/4vKM97tx84sSlUGz3geD1w== ;{id = 55582} 117example.com. 10800 IN RRSIG DNSKEY 5 2 10800 20091024111500 20090921111500 60946 example.com. o+Cbs7DcYPYlSLd4hi3vkSVQpXGnKgKSi9MpHGfu1Uahv5190U2DUOxP1du/HOYbf+IHYL8zLbMZjVEG5wgnTg== ;{id = 60946} 118ENTRY_END 119 120RANGE_END 121 122; ns.example.com. KSK 55582 and 60946 (signatures updated) 123RANGE_BEGIN 21 50 124 ADDRESS 1.2.3.4 125; badly signed DNSKEY probe only signed with ADDPEND key 126ENTRY_BEGIN 127MATCH opcode qname qtype 128ADJUST copy_id 129REPLY QR AA 130SECTION QUESTION 131example.com. IN DNSKEY 132SECTION ANSWER 133; KSK 1 134example.com. 10800 IN DNSKEY 257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b} 135; KSK 2 136example.com. 10800 IN DNSKEY 257 3 5 AwEAAeiaUiUIpWMfYz5L0sfJTZWnuN9IyBX4em9VjsoqQTsOD1HDQpNb4buvJo7pN2aBCxNS7e0OL8e2mVB6CLZ+8ek= ;{id = 60946 (ksk), size = 512b} 137; new KSK 138example.com. 10800 IN DNSKEY 257 3 5 AwEAAas/cAhCFXvBUgTSNZCvQp0pLx1dY+7rXR0hH4/3EUgWmsmbYUpI1qD0xhwKD/oYGEwAm291fyWJ9c0oVxXDEK8= ;{id = 16486 (ksk), size = 512b} 139; ZSK 1 140example.com. 10800 IN DNSKEY 256 3 5 AQPQ41chR9DEHt/aIzIFAqanbDlRflJoRs5yz1jFsoRIT7dWf0r+PeDuewdxkszNH6wnU4QL8pfKFRh5PIYVBLK3 ;{id = 30899 (zsk), size = 512b} 141; signatures 142example.com. 10800 IN RRSIG DNSKEY 5 2 10800 20091024111500 20090921111500 30899 example.com. JDeT7Z5zP9iw3RDFT4Yo+UMHo7qDNr3KjwIopAr+T3OyVGvoOWkDV+nqHIj3UNNzrjzWvoLpZaUrZuhaqily7w== ;{id = 30899} 143example.com. 10800 IN RRSIG DNSKEY 5 2 10800 20091024111500 20090921111500 60946 example.com. rOxbAROwiW21OR8HjINk3IBs9bsxJKjipQ5EU4wWutiF/jr6KNT6LgtZv0TaFSiBHN/Jqz1wB2ODD2HXwLQ4DQ== ;{id = 60946} 144ENTRY_END 145 146ENTRY_BEGIN 147MATCH opcode qname qtype 148ADJUST copy_id 149REPLY QR AA REFUSED 150SECTION QUESTION 151ns.example.com. IN A 152ENTRY_END 153 154ENTRY_BEGIN 155MATCH opcode qname qtype 156ADJUST copy_id 157REPLY QR AA REFUSED 158SECTION QUESTION 159ns.example.com. IN AAAA 160ENTRY_END 161RANGE_END 162 163; set date/time to Aug 24 07:46:40 (2009). 164STEP 5 TIME_PASSES ELAPSE 1251100000 165STEP 6 TRAFFIC ; the initial probe 166STEP 7 ASSIGN t0 = ${time} 167STEP 8 ASSIGN probe0 = ${range 4800 ${timeout} 5400} 168 169; the auto probing should have been done now. 170STEP 10 CHECK_AUTOTRUST example.com 171FILE_BEGIN 172; autotrust trust anchor file 173;;id: example.com. 1 174;;last_queried: ${$t0} ;;${ctime $t0} 175;;last_success: ${$t0} ;;${ctime $t0} 176;;next_probe_time: ${$t0 + $probe0} ;;${ctime $t0 + $probe0} 177;;query_failed: 0 178;;query_interval: 5400 179;;retry_time: 3600 180example.com. 10800 IN DNSKEY 257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b} ;;state=2 [ VALID ] ;;count=0 ;;lastchange=${$t0} ;;${ctime $t0} 181FILE_END 182 183; key prepublished. First poll. 30 days later 184STEP 11 TIME_PASSES EVAL ${30*24*3600} 185STEP 12 TRAFFIC 186STEP 13 ASSIGN t1 = ${time} 187STEP 14 ASSIGN probe1 = ${range 4800 ${timeout} 5400} 188STEP 15 CHECK_AUTOTRUST example.com 189FILE_BEGIN 190; autotrust trust anchor file 191;;id: example.com. 1 192;;last_queried: ${$t1} ;;${ctime $t1} 193;;last_success: ${$t1} ;;${ctime $t1} 194;;next_probe_time: ${$t1 + $probe1} ;;${ctime $t1 + $probe1} 195;;query_failed: 0 196;;query_interval: 5400 197;;retry_time: 3600 198example.com. 10800 IN DNSKEY 257 3 5 AwEAAeiaUiUIpWMfYz5L0sfJTZWnuN9IyBX4em9VjsoqQTsOD1HDQpNb4buvJo7pN2aBCxNS7e0OL8e2mVB6CLZ+8ek= ;{id = 60946 (ksk), size = 512b} ;;state=1 [ ADDPEND ] ;;count=1 ;;lastchange=${$t1} ;;${ctime $t1} 199example.com. 10800 IN DNSKEY 257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b} ;;state=2 [ VALID ] ;;count=0 ;;lastchange=${$t0} ;;${ctime $t0} 200FILE_END 201 202; Second poll. 10 days later 203STEP 21 TIME_PASSES EVAL ${10*24*3600} 204STEP 22 TRAFFIC 205STEP 23 ASSIGN t2 = ${time} 206 207; probe must be a failed probe! no larger than 3600 208STEP 24 ASSIGN probe2 = ${range 3200 ${timeout} 3600} 209STEP 25 CHECK_AUTOTRUST example.com 210FILE_BEGIN 211; autotrust trust anchor file 212;;id: example.com. 1 213;;last_queried: ${$t2} ;;${ctime $t2} 214;;last_success: ${$t1} ;;${ctime $t1} 215;;next_probe_time: ${$t2 + $probe2} ;;${ctime $t2 + $probe2} 216;;query_failed: 6 217;;query_interval: 5400 218;;retry_time: 3600 219example.com. 10800 IN DNSKEY 257 3 5 AwEAAeiaUiUIpWMfYz5L0sfJTZWnuN9IyBX4em9VjsoqQTsOD1HDQpNb4buvJo7pN2aBCxNS7e0OL8e2mVB6CLZ+8ek= ;{id = 60946 (ksk), size = 512b} ;;state=1 [ ADDPEND ] ;;count=1 ;;lastchange=${$t1} ;;${ctime $t1} 220example.com. 10800 IN DNSKEY 257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b} ;;state=2 [ VALID ] ;;count=0 ;;lastchange=${$t0} ;;${ctime $t0} 221FILE_END 222 223SCENARIO_END 224