1; Ask the same question twice. Check to see second is answered
2; from cache
3
4server:
5	trust-anchor: "example.com.    3600    IN      DS      2854 3 1 46e4ffc6e9a4793b488954bd3f0cc6af0dfb201b"
6	val-override-date: "20070916134226"
7	trust-anchor-signaling: no
8	target-fetch-policy: "0 0 0 0 0"
9	send-client-subnet: 1.2.3.4
10	max-client-subnet-ipv4: 17
11	module-config: "subnetcache validator iterator"
12	verbosity: 3
13	fake-sha1: yes
14	fake-dsa: yes
15	access-control: 127.0.0.0/8 allow_snoop
16	qname-minimisation: "no"
17	minimal-responses: no
18	; the size for the edns subnet cache
19	msg-cache-size: 1500
20
21stub-zone:
22	name: "."
23	stub-addr: 193.0.14.129 	# K.ROOT-SERVERS.NET.
24CONFIG_END
25
26SCENARIO_BEGIN Test subnet cached response size
27
28; K.ROOT-SERVERS.NET.
29RANGE_BEGIN 0 100
30	ADDRESS 193.0.14.129
31	ENTRY_BEGIN
32		MATCH opcode qtype qname ednsdata
33		ADJUST copy_id
34		REPLY QR NOERROR
35		SECTION QUESTION
36			. IN NS
37		SECTION ANSWER
38			. IN NS	K.ROOT-SERVERS.NET.
39		SECTION ADDITIONAL
40			HEX_EDNSDATA_BEGIN
41				;; we expect to receive empty
42			HEX_EDNSDATA_END
43			K.ROOT-SERVERS.NET.	IN	A	193.0.14.129
44	ENTRY_END
45
46	ENTRY_BEGIN
47		MATCH opcode qtype qname
48		ADJUST copy_id
49		REPLY QR NOERROR
50		SECTION QUESTION
51			www.example.com. IN A
52		SECTION AUTHORITY
53			com.	IN NS	a.gtld-servers.net.
54		SECTION ADDITIONAL
55			a.gtld-servers.net.	IN 	A	192.5.6.30
56	ENTRY_END
57RANGE_END
58
59; a.gtld-servers.net.
60RANGE_BEGIN 0 100
61	ADDRESS 192.5.6.30
62	ENTRY_BEGIN
63		MATCH opcode qtype qname ednsdata
64		ADJUST copy_id
65		REPLY QR NOERROR
66		SECTION QUESTION
67			com. IN NS
68		SECTION ANSWER
69			com.    IN NS   a.gtld-servers.net.
70		SECTION ADDITIONAL
71			HEX_EDNSDATA_BEGIN
72				;; we expect to receive empty
73			HEX_EDNSDATA_END
74			a.gtld-servers.net.     IN      A       192.5.6.30
75	ENTRY_END
76
77	ENTRY_BEGIN
78		MATCH opcode qtype qname
79		ADJUST copy_id
80		REPLY QR NOERROR
81		SECTION QUESTION
82			www.example.com. IN A
83		SECTION AUTHORITY
84			example.com.	IN NS	ns.example.com.
85		SECTION ADDITIONAL
86			ns.example.com.		IN 	A	1.2.3.4
87	ENTRY_END
88RANGE_END
89
90; ns.example.com.
91RANGE_BEGIN 0 100
92	ADDRESS 1.2.3.4
93	ENTRY_BEGIN
94		MATCH opcode qtype qname ednsdata
95		ADJUST copy_id
96		REPLY QR NOERROR
97		SECTION QUESTION
98			example.com. IN NS
99		SECTION ANSWER
100			example.com.    IN NS   ns.example.com.
101			example.com.    3600    IN      RRSIG   NS 3 2 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCN+qHdJxoI/2tNKwsb08pra/G7aAIUAWA5sDdJTbrXA1/3OaesGBAO3sI= ;{id = 2854}
102		SECTION ADDITIONAL
103			HEX_EDNSDATA_BEGIN
104				;; we expect to receive empty
105			HEX_EDNSDATA_END
106			ns.example.com.         IN      A       1.2.3.4
107			ns.example.com. 3600    IN      RRSIG   A 3 3 3600 20070926135752 20070829135752 2854 example.com. MC0CFQCMSWxVehgOQLoYclB9PIAbNP229AIUeH0vNNGJhjnZiqgIOKvs1EhzqAo= ;{id = 2854}
108	ENTRY_END
109
110	; response to DNSKEY priming query
111	ENTRY_BEGIN
112		MATCH opcode qtype qname ednsdata
113		ADJUST copy_id
114		REPLY QR NOERROR
115		SECTION QUESTION
116			example.com. IN DNSKEY
117		SECTION ANSWER
118			example.com.    3600    IN      DNSKEY  256 3 3 ALXLUsWqUrY3JYER3T4TBJII s70j+sDS/UT2QRp61SE7S3E EXopNXoFE73JLRmvpi/UrOO/Vz4Se 6wXv/CYCKjGw06U4WRgR YXcpEhJROyNapmdIKSx hOzfLVE1gqA0PweZR8d tY3aNQSRn3sPpwJr6Mi /PqQKAMMrZ9ckJpf1+b QMOOvxgzz2U1GS18b3y ZKcgTMEaJzd/GZYzi/B N2DzQ0MsrSwYXfsNLFO Bbs8PJMW4LYIxeeOe6rUgkWOF 7CC9Dh/dduQ1QrsJhmZAEFfd6ByYV+ ;{id = 2854 (zsk), size = 1688b}
119			example.com.    3600    IN      RRSIG   DNSKEY 3 2 3600 20070926134802 20070829134802 2854 example.com. MCwCFG1yhRNtTEa3Eno2zhVVuy2EJX3wAhQeLyUp6+UXcpC5qGNu9tkrTEgPUg== ;{id = 2854}
120		SECTION AUTHORITY
121			example.com.	IN NS	ns.example.com.
122			example.com.    3600    IN      RRSIG   NS 3 2 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCN+qHdJxoI/2tNKwsb08pra/G7aAIUAWA5sDdJTbrXA1/3OaesGBAO3sI= ;{id = 2854}
123		SECTION ADDITIONAL
124			HEX_EDNSDATA_BEGIN
125				;; we expect to receive empty
126			HEX_EDNSDATA_END
127			ns.example.com.		IN 	A	1.2.3.4
128			ns.example.com. 3600    IN      RRSIG   A 3 3 3600 20070926135752 20070829135752 2854 example.com. MC0CFQCMSWxVehgOQLoYclB9PIAbNP229AIUeH0vNNGJhjnZiqgIOKvs1EhzqAo= ;{id = 2854}
129	ENTRY_END
130
131	; response to query of interest
132	ENTRY_BEGIN
133		MATCH opcode qtype qname ednsdata
134		ADJUST copy_id copy_ednsdata_assume_clientsubnet
135		REPLY QR NOERROR
136		SECTION QUESTION
137			www.example.com. IN A
138		SECTION ANSWER
139			www.example.com. IN A	10.20.30.40
140			ns.example.com. 3600    IN      RRSIG   A 3 3 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCQMyTjn7WWwpwAR1LlVeLpRgZGuQIUCcJDEkwAuzytTDRlYK7nIMwH1CM= ;{id = 2854}
141		SECTION AUTHORITY
142			example.com.	IN NS	ns.example.com.
143			example.com.    3600    IN      RRSIG   NS 3 2 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCN+qHdJxoI/2tNKwsb08pra/G7aAIUAWA5sDdJTbrXA1/3OaesGBAO3sI= ;{id = 2854}
144		SECTION ADDITIONAL
145			HEX_EDNSDATA_BEGIN
146							; client is 127.0.0.1
147				00 08 		; OPC
148				00 07 		; option length
149				00 01 		; Family
150				11 00 		; source mask, scopemask
151				7f 00 00 	; address
152			HEX_EDNSDATA_END
153			ns.example.com.		IN 	A	1.2.3.4
154			www.example.com.        3600    IN      RRSIG   A 3 3 3600 20070926134150 20070829134150 2854 example.com. MC0CFC99iE9K5y2WNgI0gFvBWaTi9wm6AhUAoUqOpDtG5Zct+Qr9F3mSdnbc6V4= ;{id = 2854}
155	ENTRY_END
156
157	ENTRY_BEGIN
158		MATCH opcode qtype qname ednsdata
159		ADJUST copy_id copy_ednsdata_assume_clientsubnet
160		REPLY QR NOERROR
161		SECTION QUESTION
162			www.example.com. IN A
163		SECTION ANSWER
164			www.example.com. IN A	10.20.30.43
165			www.example.com.	3600	IN	RRSIG	A 3 3 3600 20070926134150 20070829134150 2854 example.com. AFC5G+z0jWt132hDuTIFOva59cZ7MTd+ex/osuoiQhIIuWFAr9xoZz8=
166		SECTION AUTHORITY
167			example.com.	IN NS	ns.example.com.
168			example.com.    3600    IN      RRSIG   NS 3 2 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCN+qHdJxoI/2tNKwsb08pra/G7aAIUAWA5sDdJTbrXA1/3OaesGBAO3sI= ;{id = 2854}
169		SECTION ADDITIONAL
170			HEX_EDNSDATA_BEGIN
171							; client is 127.3.0.1
172				00 08 		; OPC
173				00 07 		; option length
174				00 01 		; Family
175				11 00 		; source mask, scopemask
176				7f 03 00 	; address
177			HEX_EDNSDATA_END
178			ns.example.com.		IN 	A	1.2.3.4
179			ns.example.com. 3600    IN      RRSIG   A 3 3 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCQMyTjn7WWwpwAR1LlVeLpRgZGuQIUCcJDEkwAuzytTDRlYK7nIMwH1CM= ;{id = 2854}
180	ENTRY_END
181RANGE_END
182
183STEP 1 QUERY
184ENTRY_BEGIN
185	HEX_ANSWER_BEGIN;
186		00 00 01 00 00 01 00 00		;ID 0
187		00 00 00 01 03 77 77 77		; www.example.com A? (DO)
188		07 65 78 61 6d 70 6c 65
189		03 63 6f 6d 00 00 01 00
190		01 00 00 29 10 00 00 00
191		80 00 00 0b
192
193		00 08 00 07					; OPC, optlen
194		00 01 11 00					; ip4, scope 17, source 0
195		7f 00 00   					;127.0.0.0/17
196	HEX_ANSWER_END
197ENTRY_END
198
199STEP 10 CHECK_ANSWER
200ENTRY_BEGIN
201	MATCH all ednsdata
202	REPLY QR RD RA AD NOERROR
203	SECTION QUESTION
204		www.example.com. IN A
205	SECTION ANSWER
206		www.example.com. IN A	10.20.30.40
207		www.example.com.        3600    IN      RRSIG   A 3 3 3600 20070926134150 20070829134150 2854 example.com. MC0CFC99iE9K5y2WNgI0gFvBWaTi9wm6AhUAoUqOpDtG5Zct+Qr9F3mSdnbc6V4= ;{id = 2854}
208	SECTION AUTHORITY
209		example.com.	IN NS	ns.example.com.
210		example.com.    3600    IN      RRSIG   NS 3 2 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCN+qHdJxoI/2tNKwsb08pra/G7aAIUAWA5sDdJTbrXA1/3OaesGBAO3sI= ;{id = 2854}
211	SECTION ADDITIONAL
212		HEX_EDNSDATA_BEGIN
213						; client is 127.0.0.1
214			00 08 		; OPC
215			00 07 		; option length
216			00 01 		; Family
217			11 11 		; source mask, scopemask
218			7f 00 00 	; address
219		HEX_EDNSDATA_END
220		ns.example.com.		IN 	A	1.2.3.4
221		ns.example.com. 3600    IN      RRSIG   A 3 3 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCQMyTjn7WWwpwAR1LlVeLpRgZGuQIUCcJDEkwAuzytTDRlYK7nIMwH1CM= ;{id = 2854}
222ENTRY_END
223
224STEP 11 QUERY
225
226ENTRY_BEGIN
227	HEX_ANSWER_BEGIN;
228		00 00 00 00 00 01 00 00		;ID 0, no RD
229		00 00 00 01 03 77 77 77		; www.example.com A? (DO)
230		07 65 78 61 6d 70 6c 65
231		03 63 6f 6d 00 00 01 00
232		01 00 00 29 10 00 00 00
233		80 00 00 0b
234
235		00 08 00 07					; OPC, optlen
236		00 01 12 00					; ip4, scope 18, source 0
237		7f 00 00   					;127.0.0.0/18
238	HEX_ANSWER_END
239ENTRY_END
240
241STEP 20 CHECK_ANSWER
242ENTRY_BEGIN
243	MATCH all ednsdata
244	REPLY QR RA AD NOERROR
245	SECTION QUESTION
246		www.example.com. IN A
247	SECTION ANSWER
248		www.example.com. IN A	10.20.30.40
249		www.example.com.        3600    IN      RRSIG   A 3 3 3600 20070926134150 20070829134150 2854 example.com. MC0CFC99iE9K5y2WNgI0gFvBWaTi9wm6AhUAoUqOpDtG5Zct+Qr9F3mSdnbc6V4= ;{id = 2854}
250	SECTION AUTHORITY
251		example.com.	IN NS	ns.example.com.
252		example.com.    3600    IN      RRSIG   NS 3 2 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCN+qHdJxoI/2tNKwsb08pra/G7aAIUAWA5sDdJTbrXA1/3OaesGBAO3sI= ;{id = 2854}
253	SECTION ADDITIONAL
254		HEX_EDNSDATA_BEGIN
255						; client is 127.0.0.1
256			00 08 		; OPC
257			00 07 		; option length
258			00 01 		; Family
259			12 11 		; source mask, scopemask
260			7f 00 00 	; address
261		HEX_EDNSDATA_END
262		ns.example.com.		IN 	A	1.2.3.4
263		ns.example.com. 3600    IN      RRSIG   A 3 3 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCQMyTjn7WWwpwAR1LlVeLpRgZGuQIUCcJDEkwAuzytTDRlYK7nIMwH1CM= ;{id = 2854}
264ENTRY_END
265
266; update the cache entry
267STEP 30 QUERY
268ENTRY_BEGIN
269	HEX_ANSWER_BEGIN;
270		00 00 01 00 00 01 00 00		;ID 0
271		00 00 00 01 03 77 77 77		; www.example.com A? (DO)
272		07 65 78 61 6d 70 6c 65
273		03 63 6f 6d 00 00 01 00
274		01 00 00 29 10 00 00 00
275		80 00 00 0b
276
277		00 08 00 07					; OPC, optlen
278		00 01 11 00					; ip4, scope 17, source 0
279		7f 03 00   					;127.3.0.0/17
280	HEX_ANSWER_END
281ENTRY_END
282
283STEP 40 CHECK_ANSWER
284ENTRY_BEGIN
285	MATCH all ednsdata
286	REPLY QR RD RA AD NOERROR
287	SECTION QUESTION
288		www.example.com. IN A
289	SECTION ANSWER
290		www.example.com. IN A	10.20.30.43
291		www.example.com.	3600	IN	RRSIG	A 3 3 3600 20070926134150 20070829134150 2854 example.com. AFC5G+z0jWt132hDuTIFOva59cZ7MTd+ex/osuoiQhIIuWFAr9xoZz8=
292	SECTION AUTHORITY
293		example.com.	IN NS	ns.example.com.
294		example.com.    3600    IN      RRSIG   NS 3 2 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCN+qHdJxoI/2tNKwsb08pra/G7aAIUAWA5sDdJTbrXA1/3OaesGBAO3sI= ;{id = 2854}
295	SECTION ADDITIONAL
296		HEX_EDNSDATA_BEGIN
297						; client is 127.3.0.1
298			00 08 		; OPC
299			00 07 		; option length
300			00 01 		; Family
301			11 11 		; source mask, scopemask
302			7f 03 00 	; address
303		HEX_EDNSDATA_END
304		ns.example.com.		IN 	A	1.2.3.4
305		ns.example.com. 3600    IN      RRSIG   A 3 3 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCQMyTjn7WWwpwAR1LlVeLpRgZGuQIUCcJDEkwAuzytTDRlYK7nIMwH1CM= ;{id = 2854}
306ENTRY_END
307
308SCENARIO_END
309