]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - testdata/iter_prefetch_childns.rpl
Vendor import of Unbound 1.9.0.
[FreeBSD/FreeBSD.git] / testdata / iter_prefetch_childns.rpl
1 ; config options
2 server:
3         target-fetch-policy: "0 0 0 0 0"
4         qname-minimisation: "no"
5         prefetch: "yes"
6         minimal-responses: no
7
8 stub-zone:
9         name: "."
10         stub-addr: 193.0.14.129         # K.ROOT-SERVERS.NET.
11 CONFIG_END
12
13 SCENARIO_BEGIN Test resolver prefetch from child nameserver
14 ; child NS record has longer TTL than A record and is thus valid for prefetch.
15
16 ; K.ROOT-SERVERS.NET.
17 RANGE_BEGIN 0 100
18         ADDRESS 193.0.14.129 
19 ENTRY_BEGIN
20 MATCH opcode qtype qname
21 ADJUST copy_id
22 REPLY QR NOERROR
23 SECTION QUESTION
24 . IN NS
25 SECTION ANSWER
26 . IN NS K.ROOT-SERVERS.NET.
27 SECTION ADDITIONAL
28 K.ROOT-SERVERS.NET.     IN      A       193.0.14.129
29 ENTRY_END
30
31 ENTRY_BEGIN
32 MATCH opcode qtype qname
33 ADJUST copy_id
34 REPLY QR NOERROR
35 SECTION QUESTION
36 www.example.com. IN A
37 SECTION AUTHORITY
38 com.    IN NS   a.gtld-servers.net.
39 SECTION ADDITIONAL
40 a.gtld-servers.net.     IN      A       192.5.6.30
41 ENTRY_END
42 RANGE_END
43
44 ; a.gtld-servers.net.
45 RANGE_BEGIN 0 100
46         ADDRESS 192.5.6.30
47 ENTRY_BEGIN
48 MATCH opcode qtype qname
49 ADJUST copy_id
50 REPLY QR NOERROR
51 SECTION QUESTION
52 com. IN NS
53 SECTION ANSWER
54 com.    IN NS   a.gtld-servers.net.
55 SECTION ADDITIONAL
56 a.gtld-servers.net.     IN      A       192.5.6.30
57 ENTRY_END
58
59 ENTRY_BEGIN
60 MATCH opcode qtype qname
61 ADJUST copy_id
62 REPLY QR NOERROR
63 SECTION QUESTION
64 www.example.com. IN A
65 SECTION AUTHORITY
66 example.com.    IN NS   ns.example.com.
67 SECTION ADDITIONAL
68 ns.example.com.         IN      A       1.2.3.4
69 ENTRY_END
70 RANGE_END
71
72 ; ns.example.com.
73 RANGE_BEGIN 0 40
74         ADDRESS 1.2.3.4
75 ENTRY_BEGIN
76 MATCH opcode qtype qname
77 ADJUST copy_id
78 REPLY QR NOERROR
79 SECTION QUESTION
80 example.com. IN NS
81 SECTION ANSWER
82 example.com.    IN NS   ns.example.com.
83 SECTION ADDITIONAL
84 ns.example.com.         IN      A       1.2.3.4
85 ENTRY_END
86
87 ENTRY_BEGIN
88 MATCH opcode qtype qname
89 ADJUST copy_id
90 REPLY QR NOERROR
91 SECTION QUESTION
92 www.example.com. IN A
93 SECTION ANSWER
94 www.example.com. 1800 IN A      10.20.30.40
95 SECTION AUTHORITY
96 example.com.    3600 IN NS      ns.example.com.
97 SECTION ADDITIONAL
98 ns.example.com. 3600    IN      A       1.2.3.4
99 ENTRY_END
100 RANGE_END
101
102 ; ns.example.com.
103 RANGE_BEGIN 50 100
104         ADDRESS 1.2.3.4
105 ENTRY_BEGIN
106 MATCH opcode qtype qname
107 ADJUST copy_id
108 REPLY QR NOERROR
109 SECTION QUESTION
110 example.com. IN NS
111 SECTION ANSWER
112 example.com.    IN NS   ns.example.com.
113 SECTION ADDITIONAL
114 ns.example.com.         IN      A       1.2.3.4
115 ENTRY_END
116
117 ENTRY_BEGIN
118 MATCH opcode qtype qname
119 ADJUST copy_id
120 REPLY QR NOERROR
121 SECTION QUESTION
122 www.example.com. IN A
123 SECTION ANSWER
124 www.example.com. 1800 IN A      10.20.30.40
125 SECTION AUTHORITY
126 example.com.    3600 IN NS      ns.example.com.
127 SECTION ADDITIONAL
128 ns.example.com. 3600    IN      A       1.2.3.4
129 ENTRY_END
130 RANGE_END
131
132 STEP 1 QUERY
133 ENTRY_BEGIN
134 REPLY RD
135 SECTION QUESTION
136 www.example.com. IN A
137 ENTRY_END
138
139 ; recursion happens here.
140 STEP 10 CHECK_ANSWER
141 ENTRY_BEGIN
142 MATCH all ttl
143 REPLY QR RD RA NOERROR
144 SECTION QUESTION
145 www.example.com. IN A
146 SECTION ANSWER
147 www.example.com. 1800 IN A      10.20.30.40
148 SECTION AUTHORITY
149 example.com.    3600 IN NS      ns.example.com.
150 SECTION ADDITIONAL
151 ns.example.com. 3600    IN      A       1.2.3.4
152 ENTRY_END
153
154 ; after 900 secs still the cached answer
155 STEP 20 TIME_PASSES ELAPSE 900
156
157 STEP 30 QUERY
158 ENTRY_BEGIN
159 REPLY RD
160 SECTION QUESTION
161 www.example.com. IN A
162 ENTRY_END
163 ; recursion happens here.
164 STEP 40 CHECK_ANSWER
165 ENTRY_BEGIN
166 MATCH all ttl
167 REPLY QR RD RA NOERROR
168 SECTION QUESTION
169 www.example.com. IN A
170 SECTION ANSWER
171 www.example.com. 900 IN A       10.20.30.40
172 SECTION AUTHORITY
173 example.com.    2700 IN NS      ns.example.com.
174 SECTION ADDITIONAL
175 ns.example.com. 2700    IN      A       1.2.3.4
176 ENTRY_END
177
178 ; after 720 we are 180 seconds before the expiry
179 ; (the authority changes behind the scenes to detect new lookup)
180 STEP 50 TIME_PASSES ELAPSE 720
181
182 STEP 60 QUERY
183 ENTRY_BEGIN
184 REPLY RD
185 SECTION QUESTION
186 www.example.com. IN A
187 ENTRY_END
188 ; recursion happens here.
189 STEP 70 CHECK_ANSWER
190 ENTRY_BEGIN
191 MATCH all ttl
192 REPLY QR RD RA NOERROR
193 SECTION QUESTION
194 www.example.com. IN A
195 SECTION ANSWER
196 www.example.com. 180 IN A       10.20.30.40
197 SECTION AUTHORITY
198 example.com.    1980 IN NS      ns.example.com.
199 SECTION ADDITIONAL
200 ns.example.com. 1980    IN      A       1.2.3.4
201 ENTRY_END
202 STEP 80 TRAFFIC
203 ; let traffic flow for prefetch to happen
204
205 ; above a cache reply with 10% of the original TTL
206 ; but the actual cache is changed, try to get that
207 STEP 120 QUERY
208 ENTRY_BEGIN
209 REPLY RD
210 SECTION QUESTION
211 www.example.com. IN A
212 ENTRY_END
213 ; recursion happens here.
214 STEP 130 CHECK_ANSWER
215 ENTRY_BEGIN
216 MATCH all ttl
217 REPLY QR RD RA NOERROR
218 SECTION QUESTION
219 www.example.com. IN A
220 SECTION ANSWER
221 www.example.com. 1800 IN A      10.20.30.40
222 SECTION AUTHORITY
223 ; The NS rrset (from the child-side NS) is not updated but keeps counting down
224 example.com.    1980 IN NS      ns.example.com.
225 SECTION ADDITIONAL
226 ns.example.com. 1980    IN      A       1.2.3.4
227 ENTRY_END
228
229 SCENARIO_END