1; config options
2server:
3	target-fetch-policy: "0 0 0 0 0"
4	do-ip6: no
5	minimal-responses: no
6
7stub-zone:
8	name: "."
9	stub-addr: 193.0.14.129 	# K.ROOT-SERVERS.NET.
10CONFIG_END
11
12SCENARIO_BEGIN Test cache ttls where parent child differ in ttl
13; and the lameness for parent suddenly becomes the only information point.
14
15; K.ROOT-SERVERS.NET.
16RANGE_BEGIN 0 100
17	ADDRESS 193.0.14.129 
18ENTRY_BEGIN
19MATCH opcode qtype qname
20ADJUST copy_id
21REPLY QR NOERROR
22SECTION QUESTION
23. IN NS
24SECTION ANSWER
25. IN NS	K.ROOT-SERVERS.NET.
26SECTION ADDITIONAL
27K.ROOT-SERVERS.NET.	IN	A	193.0.14.129
28ENTRY_END
29
30ENTRY_BEGIN
31MATCH opcode subdomain
32ADJUST copy_id copy_query
33REPLY QR NOERROR
34SECTION QUESTION
35com. IN NS
36SECTION AUTHORITY
37com.	IN NS	a.gtld-servers.net.
38SECTION ADDITIONAL
39a.gtld-servers.net.	IN 	A	192.5.6.30
40ENTRY_END
41
42ENTRY_BEGIN
43MATCH opcode subdomain
44ADJUST copy_id copy_query
45REPLY QR NOERROR
46SECTION QUESTION
47net. IN NS
48SECTION AUTHORITY
49net.	IN NS	e.gtld-servers.net.
50SECTION ADDITIONAL
51e.gtld-servers.net.	IN 	A	192.12.94.30
52ENTRY_END
53
54RANGE_END
55
56; a.gtld-servers.net.
57RANGE_BEGIN 0 100
58	ADDRESS 192.5.6.30
59ENTRY_BEGIN
60MATCH opcode qtype qname
61ADJUST copy_id
62REPLY QR NOERROR
63SECTION QUESTION
64com. IN NS
65SECTION ANSWER
66com.	IN NS	a.gtld-servers.net.
67SECTION ADDITIONAL
68a.gtld-servers.net.	IN 	A	192.5.6.30
69ENTRY_END
70
71ENTRY_BEGIN
72MATCH opcode subdomain
73ADJUST copy_id copy_query
74REPLY QR NOERROR
75SECTION QUESTION
76example.com. IN NS
77SECTION AUTHORITY
78example.com.	IN NS	ns.foo.com.
79SECTION ADDITIONAL
80;ns.foo.com.	200 	IN 	A	1.2.3.44
81ENTRY_END
82
83ENTRY_BEGIN
84MATCH opcode subdomain
85ADJUST copy_id copy_query
86REPLY QR NOERROR
87SECTION QUESTION
88foo.com. IN NS
89SECTION AUTHORITY
90foo.com.	200 IN NS	ns.foo.com.
91SECTION ADDITIONAL
92ns.foo.com.	200 	IN 	A	1.2.3.44
93ENTRY_END
94
95RANGE_END
96
97; e.gtld-servers.net.
98RANGE_BEGIN 0 100
99	ADDRESS 192.12.94.30
100ENTRY_BEGIN
101MATCH opcode qtype qname
102ADJUST copy_id
103REPLY QR NOERROR
104SECTION QUESTION
105net. IN NS
106SECTION ANSWER
107net.	IN NS	e.gtld-servers.net.
108SECTION ADDITIONAL
109e.gtld-servers.net.	IN 	A	192.12.94.30
110ENTRY_END
111
112RANGE_END
113
114; ns.foo.com.
115; The parent-IP version
116RANGE_BEGIN 0 100
117	ADDRESS 1.2.3.44
118ENTRY_BEGIN
119MATCH opcode qtype qname
120ADJUST copy_id
121REPLY AA QR NOERROR
122SECTION QUESTION
123foo.com. IN NS
124SECTION ANSWER
125foo.com.	200 IN NS	ns.foo.com.
126SECTION ADDITIONAL
127ns.foo.com.	100 	IN 	A	1.2.3.44
128ENTRY_END
129
130ENTRY_BEGIN
131MATCH opcode qtype qname
132ADJUST copy_id
133REPLY AA QR NOERROR
134SECTION QUESTION
135ns.foo.com. IN A
136SECTION ANSWER
137ns.foo.com. 100 IN A	1.2.3.44
138SECTION AUTHORITY
139foo.com.	200 IN NS	ns.foo.com.
140ENTRY_END
141
142ENTRY_BEGIN
143MATCH opcode qtype qname
144ADJUST copy_id
145REPLY AA QR NOERROR
146SECTION QUESTION
147ns.foo.com. IN AAAA
148SECTION AUTHORITY
149foo.com.    100 IN SOA . . 1 2 3 4 5
150ENTRY_END
151
152ENTRY_BEGIN
153MATCH opcode qtype qname
154ADJUST copy_id
155REPLY AA QR NOERROR
156SECTION QUESTION
157example.com. IN NS
158SECTION ANSWER
159example.com.	200 IN NS	ns.foo.com.
160ENTRY_END
161
162ENTRY_BEGIN
163MATCH opcode qtype qname
164ADJUST copy_id
165REPLY AA QR NOERROR
166SECTION QUESTION
167www.example.com. IN A
168SECTION ANSWER
169www.example.com. 100 IN A	10.20.30.40
170SECTION AUTHORITY
171example.com.	200 IN NS	ns.foo.com.
172SECTION ADDITIONAL
173ns.foo.com 	100 IN A 	1.2.3.44
174ENTRY_END
175RANGE_END
176
177; NOT USED.  The parent side equals child side but not in the cache.
178; and they have different TTLs only.
179; ns.foo.com
180; The child IP version.   Does not respond to anything (servfail instead
181; of timeouts since this is easier to encode in .rpl file format).
182RANGE_BEGIN 0 100
183	ADDRESS 1.2.3.55
184ENTRY_BEGIN
185MATCH opcode 
186ADJUST copy_id copy_query
187REPLY QR SERVFAIL
188SECTION QUESTION
189foo.com. IN NS
190SECTION ANSWER
191ENTRY_END
192
193RANGE_END
194
195STEP 1 QUERY
196ENTRY_BEGIN
197REPLY RD
198SECTION QUESTION
199www.example.com. IN A
200ENTRY_END
201
202; recursion happens here.
203STEP 20 CHECK_ANSWER
204ENTRY_BEGIN
205MATCH all
206REPLY QR RD RA NOERROR
207SECTION QUESTION
208www.example.com. IN A
209SECTION ANSWER
210www.example.com. 100 IN A	10.20.30.40
211SECTION AUTHORITY
212example.com.	100 IN NS	ns.foo.com.
213; scrubbed off
214;SECTION ADDITIONAL
215;ns.foo.com 	IN A 	1.2.3.44
216ENTRY_END
217
218; Now we wait 101 seconds, and the child data is gone,
219; but the parent-side was cached for 200 and it still there.
220
221STEP 30 TIME_PASSES ELAPSE 101
222
223STEP 40 QUERY
224ENTRY_BEGIN
225REPLY RD
226SECTION QUESTION
227www.example.com. IN A
228ENTRY_END
229
230; recursion happens here.
231STEP 50 CHECK_ANSWER
232ENTRY_BEGIN
233MATCH all
234REPLY QR RD RA NOERROR
235SECTION QUESTION
236www.example.com. IN A
237SECTION ANSWER
238www.example.com. 100 IN A	10.20.30.40
239SECTION AUTHORITY
240example.com.	100 IN NS	ns.foo.com.
241; scrubbed off
242;SECTION ADDITIONAL
243;ns.foo.com 	IN A 	1.2.3.44
244ENTRY_END
245
246SCENARIO_END
247