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