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