]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - testdata/autotrust_valid_use.rpl
Vendor import of Unbound 1.6.2.
[FreeBSD/FreeBSD.git] / testdata / autotrust_valid_use.rpl
1 ; config options
2 server:
3         target-fetch-policy: "0 0 0 0 0"
4         log-time-ascii: yes
5         fake-sha1: yes
6 stub-zone:
7         name: "."
8         stub-addr: 193.0.14.129         # K.ROOT-SERVERS.NET.
9 ; initial content (say from dig example.com DNSKEY > example.com.key) 
10 AUTOTRUST_FILE example.com
11 example.com.    10800   IN      DNSKEY  257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b}
12 example.com.    10800   IN      DNSKEY  256 3 5 AQPQ41chR9DEHt/aIzIFAqanbDlRflJoRs5yz1jFsoRIT7dWf0r+PeDuewdxkszNH6wnU4QL8pfKFRh5PIYVBLK3 ;{id = 30899 (zsk), size = 512b}
13 AUTOTRUST_END
14 CONFIG_END
15
16 SCENARIO_BEGIN Test autotrust with using a valid key for validation
17
18 ; K-ROOT
19 RANGE_BEGIN 0 100
20         ADDRESS 193.0.14.129
21 ENTRY_BEGIN
22 MATCH opcode qname qtype
23 ADJUST copy_id copy_query
24 REPLY QR AA
25 SECTION QUESTION
26 . IN NS
27 SECTION ANSWER
28 . IN NS k.root-servers.net.
29 SECTION ADDITIONAL
30 k.root-servers.net IN A 193.0.14.129
31 ENTRY_END
32
33 ENTRY_BEGIN
34 MATCH opcode subdomain
35 ADJUST copy_id copy_query
36 REPLY QR
37 SECTION QUESTION
38 com. IN NS
39 SECTION AUTHORITY
40 com. IN NS a.gtld-servers.net.
41 SECTION ADDITIONAL
42 a.gtld-servers.net. IN A 192.5.6.30
43 ENTRY_END
44 RANGE_END
45
46 ; a.gtld-servers.net.
47 RANGE_BEGIN 0 100
48         ADDRESS 192.5.6.30
49 ENTRY_BEGIN
50 MATCH opcode subdomain
51 ADJUST copy_id copy_query
52 REPLY QR
53 SECTION QUESTION
54 example.com. IN NS
55 SECTION AUTHORITY
56 example.com. IN NS ns.example.com.
57 SECTION ADDITIONAL
58 ns.example.com. IN A 1.2.3.4
59 ENTRY_END
60 RANGE_END
61
62 ; ns.example.com.  KSK 55582
63 RANGE_BEGIN 0 10
64         ADDRESS 1.2.3.4
65 ENTRY_BEGIN
66 MATCH opcode qname qtype
67 ADJUST copy_id
68 REPLY QR AA
69 SECTION QUESTION
70 www.example.com. IN A
71 SECTION ANSWER
72 www.example.com.        3600    IN      A       10.20.30.40
73 www.example.com.        3600    IN      RRSIG   A 5 3 3600 20090924111500 20090821111500 30899 example.com. pYGxVLsWUvOp1wSf0iwPap+JnECfC5GAm1lRqy3YEqecNGld7U7x/5Imo3CerbdZrVptUQs2oH0lcjwYJXMnsw== ;{id = 30899}
74 SECTION AUTHORITY
75 example.com.    3600    IN      NS      ns.example.com.
76 example.com.    3600    IN      RRSIG   NS 5 2 3600 20090924111500 20090821111500 30899 example.com. J5wxRq0jgwQL6yy530kvo9cHqNAUHV8IF4dvaYZL0bNraO2Oe6dVXqlJl4+cxNHI2TMsstwFPr2Zz8tv6Az2mQ== ;{id = 30899}
77 SECTION ADDITIONAL
78 ns.example.com. 3600    IN      A       1.2.3.4
79 ns.example.com. 3600    IN      RRSIG   A 5 3 3600 20090924111500 20090821111500 30899 example.com. JsXbS18oyc0zkVaOWGSFdIQuOsZKflT0GraT9afDPoWLCgH4ApF7jNgfJV7Pqy1sTBRajME5IUAhpANwGBuW4A== ;{id = 30899}
80 ENTRY_END
81
82 ENTRY_BEGIN
83 MATCH opcode qname qtype
84 ADJUST copy_id
85 REPLY QR AA
86 SECTION QUESTION
87 example.com. IN DNSKEY
88 SECTION ANSWER
89 ; KSK 1
90 example.com.    10800   IN      DNSKEY  257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b}
91 ; ZSK 1
92 example.com.    10800   IN      DNSKEY  256 3 5 AQPQ41chR9DEHt/aIzIFAqanbDlRflJoRs5yz1jFsoRIT7dWf0r+PeDuewdxkszNH6wnU4QL8pfKFRh5PIYVBLK3 ;{id = 30899 (zsk), size = 512b}
93 ; signatures
94 example.com.    10800   IN      RRSIG   DNSKEY 5 2 10800 20090924111500 20090821111500 30899 example.com. b/HK231jIQLX8IhlZfup3r0yhpXaasbPE6LzxoEVVvWaTZWcLmeV8jDIcn0qO7Yvs7bIJN20lwVAV0GcHH3hWQ== ;{id = 30899}
95 example.com.    10800   IN      RRSIG   DNSKEY 5 2 10800 20090924111500 20090821111500 55582 example.com. PCHme1QLoULxqjhg5tMlpR0qJlBfstEUVq18TtNoKQe9le1YhJ9caheXcTWoK+boLhXxg9u6Yyvq8FboQh0OjA== ;{id = 55582}
96 ENTRY_END
97 RANGE_END
98
99 ; ns.example.com.  KSK 55582 and 60946
100 RANGE_BEGIN 11 30
101         ADDRESS 1.2.3.4
102 ENTRY_BEGIN
103 MATCH opcode qname qtype
104 ADJUST copy_id
105 REPLY QR AA
106 SECTION QUESTION
107 example.com. IN DNSKEY
108 SECTION ANSWER
109 ; KSK 1
110 example.com.    10800   IN      DNSKEY  257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b}
111 ; KSK 2
112 example.com.    10800   IN      DNSKEY  257 3 5 AwEAAeiaUiUIpWMfYz5L0sfJTZWnuN9IyBX4em9VjsoqQTsOD1HDQpNb4buvJo7pN2aBCxNS7e0OL8e2mVB6CLZ+8ek= ;{id = 60946 (ksk), size = 512b}
113 ; ZSK 1
114 example.com.    10800   IN      DNSKEY  256 3 5 AQPQ41chR9DEHt/aIzIFAqanbDlRflJoRs5yz1jFsoRIT7dWf0r+PeDuewdxkszNH6wnU4QL8pfKFRh5PIYVBLK3 ;{id = 30899 (zsk), size = 512b}
115 ; signatures
116 example.com.    10800   IN      RRSIG   DNSKEY 5 2 10800 20091024111500 20090921111500 30899 example.com. rkaCUpTFPWVu4Om5oMTR+39Mct6ZMs56xrE0rbxMMOokfvIQheIxsAEc5BFJeA/2y5WTewl6diCD6yQXCybrDg== ;{id = 30899}
117 example.com.    10800   IN      RRSIG   DNSKEY 5 2 10800 20091024111500 20090921111500 55582 example.com. CoMon+lWPAsUvgfpCTDPx8Zn8dQpky3lu2O6T+oJ2Mat9a/u1YwGhSQHGPn7ZNG/4vKM97tx84sSlUGz3geD1w== ;{id = 55582}
118 example.com.    10800   IN      RRSIG   DNSKEY 5 2 10800 20091024111500 20090921111500 60946 example.com. o+Cbs7DcYPYlSLd4hi3vkSVQpXGnKgKSi9MpHGfu1Uahv5190U2DUOxP1du/HOYbf+IHYL8zLbMZjVEG5wgnTg== ;{id = 60946}
119 ENTRY_END
120 RANGE_END
121
122 ; probe failures
123 RANGE_BEGIN 31 40
124         ADDRESS 1.2.3.4
125 ENTRY_BEGIN
126 MATCH opcode qname qtype
127 ADJUST copy_id
128 REPLY QR AA SERVFAIL
129 SECTION QUESTION
130 example.com. IN DNSKEY
131 ENTRY_END
132
133 ENTRY_BEGIN
134 MATCH opcode qname qtype
135 ADJUST copy_id
136 REPLY QR AA SERVFAIL
137 SECTION QUESTION
138 ns.example.com. IN AAAA
139 ENTRY_END
140 RANGE_END
141
142 ; ns.example.com.  KSK 55582 and 60946 (signatures updated)
143 RANGE_BEGIN 41 50
144         ADDRESS 1.2.3.4
145 ENTRY_BEGIN
146 MATCH opcode qname qtype
147 ADJUST copy_id
148 REPLY QR AA
149 SECTION QUESTION
150 ns.example.com. IN A
151 SECTION ANSWER
152 ns.example.com. 3600    IN      A       1.2.3.4
153 ns.example.com. 3600    IN      RRSIG   A 5 3 3600 20090924111500 20090821111500 30899 example.com. JsXbS18oyc0zkVaOWGSFdIQuOsZKflT0GraT9afDPoWLCgH4ApF7jNgfJV7Pqy1sTBRajME5IUAhpANwGBuW4A== ;{id = 30899}
154 SECTION AUTHORITY
155 example.com.    3600    IN      NS      ns.example.com.
156 example.com.    3600    IN      RRSIG   NS 5 2 3600 20090924111500 20090821111500 30899 example.com. J5wxRq0jgwQL6yy530kvo9cHqNAUHV8IF4dvaYZL0bNraO2Oe6dVXqlJl4+cxNHI2TMsstwFPr2Zz8tv6Az2mQ== ;{id = 30899}
157 SECTION ADDITIONAL
158 ENTRY_END
159
160 ENTRY_BEGIN
161 MATCH opcode qname qtype
162 ADJUST copy_id
163 REPLY QR AA
164 SECTION QUESTION
165 ns.example.com. IN AAAA
166 SECTION ANSWER
167 SECTION AUTHORITY
168 example.com.    3600    IN      NS      ns.example.com.
169 example.com.    3600    IN      RRSIG   NS 5 2 3600 20090924111500 20090821111500 30899 example.com. J5wxRq0jgwQL6yy530kvo9cHqNAUHV8IF4dvaYZL0bNraO2Oe6dVXqlJl4+cxNHI2TMsstwFPr2Zz8tv6Az2mQ== ;{id = 30899}
170 SECTION ADDITIONAL
171 ns.example.com. 3600    IN      A       1.2.3.4
172 ns.example.com. 3600    IN      RRSIG   A 5 3 3600 20090924111500 20090821111500 30899 example.com. JsXbS18oyc0zkVaOWGSFdIQuOsZKflT0GraT9afDPoWLCgH4ApF7jNgfJV7Pqy1sTBRajME5IUAhpANwGBuW4A== ;{id = 30899}
173 ENTRY_END
174
175 ENTRY_BEGIN
176 MATCH opcode qname qtype
177 ADJUST copy_id
178 REPLY QR AA
179 SECTION QUESTION
180 example.com. IN DNSKEY
181 SECTION ANSWER
182 ; KSK 1
183 example.com.    10800   IN      DNSKEY  257 3 5 AwEAAc3Z5DQDJpH4oPdNtC4BUQHk50XMD+dHr4r8psHmivIa83hxR5CRgCtd9sENCW9Ae8OIO19xw9t/RPaEAqQa+OE= ;{id = 55582 (ksk), size = 512b}
184 ; KSK 2
185 example.com.    10800   IN      DNSKEY  257 3 5 AwEAAeiaUiUIpWMfYz5L0sfJTZWnuN9IyBX4em9VjsoqQTsOD1HDQpNb4buvJo7pN2aBCxNS7e0OL8e2mVB6CLZ+8ek= ;{id = 60946 (ksk), size = 512b}
186 ; ZSK 1
187 example.com.    10800   IN      DNSKEY  256 3 5 AQPQ41chR9DEHt/aIzIFAqanbDlRflJoRs5yz1jFsoRIT7dWf0r+PeDuewdxkszNH6wnU4QL8pfKFRh5PIYVBLK3 ;{id = 30899 (zsk), size = 512b}
188 ; signatures
189 example.com.    10800   IN      RRSIG   DNSKEY 5 2 10800 20091124111500 20091018111500 30899 example.com. rkaCUpTFPWVu4Om5oMTR+39Mct6ZMs56xrE0rbxMMOokfvIQheIxsAEc5BFJeA/2y5WTewl6diCD6yQXCybrDg== ;{id = 30899}
190 example.com.    10800   IN      RRSIG   DNSKEY 5 2 10800 20091124111500 20091018111500 55582 example.com. v/HJbdpeVMpbhwYXrT1EDGpAFMvEgdKQII1cAbP6o8KHYNKDh8TIJ25/pXe3daEXfej6/Z5kpqJ79okPKUoi1Q== ;{id = 55582}
191 example.com.    10800   IN      RRSIG   DNSKEY 5 2 10800 20091124111500 20091018111500 60946 example.com. HgXol1hdvbomOM1CFRW8qsHd3D0qOnN72EeMHTcpxIBBiuNLKZn4n1M14Voxj3vo0eAMNuG/y7EjQkxKvSsaDA== ;{id = 60946}
192 ENTRY_END
193
194 ENTRY_BEGIN
195 MATCH opcode qname qtype
196 ADJUST copy_id
197 REPLY QR AA
198 SECTION QUESTION
199 www.example.com. IN A
200 SECTION ANSWER
201 www.example.com.        3600    IN      A       10.20.30.40
202 www.example.com.        3600    IN      RRSIG   A 5 3 3600 20091124111500 20091018111500 60946 example.com. pI3iwElQXjhje3SnAfwAG/VwdRskQcLdiApbKdUbR7MIsDUpqVjxIUtSIRu/aXNt8EVA8SwZQXNmTYA2SrrBhA== ;{id = 60946}
203 ENTRY_END
204
205 RANGE_END
206
207 ; set date/time to Aug 24 07:46:40  (2009).
208 STEP 5 TIME_PASSES ELAPSE 1251100000
209 STEP 6 TRAFFIC   ; the initial probe
210 STEP 7 ASSIGN t0 = ${time}
211 STEP 8 ASSIGN probe0 = ${range 4800 ${timeout} 5400}
212
213 ; the auto probing should have been done now.
214 STEP 10 CHECK_AUTOTRUST example.com
215 FILE_BEGIN
216 ; autotrust trust anchor file
217 ;;id: example.com. 1
218 ;;last_queried: ${$t0} ;;${ctime $t0}
219 ;;last_success: ${$t0} ;;${ctime $t0}
220 ;;next_probe_time: ${$t0 + $probe0} ;;${ctime $t0 + $probe0}
221 ;;query_failed: 0
222 ;;query_interval: 5400
223 ;;retry_time: 3600
224 example.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}
225 FILE_END
226
227 ; key prepublished.  First poll. 30 days later
228 STEP 11 TIME_PASSES EVAL ${30*24*3600}
229 STEP 12 TRAFFIC
230 STEP 13 ASSIGN t1 = ${time}
231 STEP 14 ASSIGN probe1 = ${range 4800 ${timeout} 5400}
232 STEP 15 CHECK_AUTOTRUST example.com
233 FILE_BEGIN
234 ; autotrust trust anchor file
235 ;;id: example.com. 1
236 ;;last_queried: ${$t1} ;;${ctime $t1}
237 ;;last_success: ${$t1} ;;${ctime $t1}
238 ;;next_probe_time: ${$t1 + $probe1} ;;${ctime $t1 + $probe1}
239 ;;query_failed: 0
240 ;;query_interval: 5400
241 ;;retry_time: 3600
242 example.com.    10800   IN      DNSKEY  257 3 5 AwEAAeiaUiUIpWMfYz5L0sfJTZWnuN9IyBX4em9VjsoqQTsOD1HDQpNb4buvJo7pN2aBCxNS7e0OL8e2mVB6CLZ+8ek= ;{id = 60946 (ksk), size = 512b} ;;state=1 [ ADDPEND ] ;;count=1 ;;lastchange=${$t1} ;;${ctime $t1}
243 example.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}
244 FILE_END
245
246 ; Second poll. 10 days later
247 STEP 21 TIME_PASSES EVAL ${10*24*3600}
248 STEP 22 TRAFFIC
249 STEP 23 ASSIGN t2 = ${time}
250 STEP 24 ASSIGN probe2 = ${range 4800 ${timeout} 5400}
251 STEP 25 CHECK_AUTOTRUST example.com
252 FILE_BEGIN
253 ; autotrust trust anchor file
254 ;;id: example.com. 1
255 ;;last_queried: ${$t2} ;;${ctime $t2}
256 ;;last_success: ${$t2} ;;${ctime $t2}
257 ;;next_probe_time: ${$t2 + $probe2} ;;${ctime $t2 + $probe2}
258 ;;query_failed: 0
259 ;;query_interval: 5400
260 ;;retry_time: 3600
261 example.com.    10800   IN      DNSKEY  257 3 5 AwEAAeiaUiUIpWMfYz5L0sfJTZWnuN9IyBX4em9VjsoqQTsOD1HDQpNb4buvJo7pN2aBCxNS7e0OL8e2mVB6CLZ+8ek= ;{id = 60946 (ksk), size = 512b} ;;state=1 [ ADDPEND ] ;;count=2 ;;lastchange=${$t1} ;;${ctime $t1}
262 example.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}
263 FILE_END
264
265 ; put this almost one hour before expiration so that the next query arrives
266 ; before the next poll timer.  
267 ; Make this probe fail to keep DNSKEY out of the cache
268 ; Third poll. 10 days later
269 STEP 31 TIME_PASSES EVAL ${ ${20*24*3600} - 3000 }
270 STEP 32 TRAFFIC
271 STEP 33 ASSIGN t3 = ${time}
272 STEP 34 ASSIGN probe3 = ${range 3200 ${timeout} 3600}
273 STEP 35 CHECK_AUTOTRUST example.com
274 FILE_BEGIN
275 ; autotrust trust anchor file
276 ;;id: example.com. 1
277 ;;last_queried: ${$t2} ;;${ctime $t2}
278 ;;last_success: ${$t2} ;;${ctime $t2}
279 ;;next_probe_time: ${$t2 + $probe2} ;;${ctime $t2 + $probe2}
280 ;;query_failed: 0
281 ;;query_interval: 5400
282 ;;retry_time: 3600
283 example.com.    10800   IN      DNSKEY  257 3 5 AwEAAeiaUiUIpWMfYz5L0sfJTZWnuN9IyBX4em9VjsoqQTsOD1HDQpNb4buvJo7pN2aBCxNS7e0OL8e2mVB6CLZ+8ek= ;{id = 60946 (ksk), size = 512b} ;;state=1 [ ADDPEND ] ;;count=2 ;;lastchange=${$t1} ;;${ctime $t1}
284 example.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}
285 FILE_END
286
287 ; 3010 seconds later, hold down has lapsed.
288 ; but the probe timer does not expire yet!
289 ; key 60946 becomes valid.  Use it.
290 ; check this with a data query.
291 STEP 41 TIME_PASSES EVAL ${3010}
292 STEP 42 QUERY
293 ENTRY_BEGIN
294 REPLY RD DO
295 SECTION QUESTION
296 www.example.com. IN A
297 ENTRY_END
298
299 ; Note the data is signed with the newly valid KSK to make sure it can be used.
300 STEP 43 CHECK_ANSWER
301 ENTRY_BEGIN
302 MATCH all
303 REPLY QR RD RA AD DO NOERROR
304 SECTION QUESTION
305 www.example.com. IN A
306 SECTION ANSWER
307 www.example.com.        3600    IN      A       10.20.30.40
308 www.example.com.        3600    IN      RRSIG   A 5 3 3600 20091124111500 20091018111500 60946 example.com. pI3iwElQXjhje3SnAfwAG/VwdRskQcLdiApbKdUbR7MIsDUpqVjxIUtSIRu/aXNt8EVA8SwZQXNmTYA2SrrBhA== ;{id = 60946}
309 ENTRY_END
310
311 SCENARIO_END