]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - testdata/subnet_prezero.crpl
unbound: Vendor import 1.19.0
[FreeBSD/FreeBSD.git] / testdata / subnet_prezero.crpl
1 ; subnet unit test
2 server:
3         trust-anchor-signaling: no
4         send-client-subnet: 1.2.3.4
5         send-client-subnet: 1.2.3.5
6         target-fetch-policy: "0 0 0 0 0"
7         module-config: "subnetcache validator iterator"
8         qname-minimisation: no
9         minimal-responses: no
10
11 stub-zone:
12         name: "example.com"
13         stub-addr: 1.2.3.4
14 CONFIG_END
15
16 SCENARIO_BEGIN Test subnetcache source prefix zero from client.
17 ; In RFC7871 section-7.1.2 (para. 2).
18 ; It says that the recursor must send no EDNS subnet or its own address
19 ; in the EDNS subnet to the upstream server. And use that answer for the
20 ; source prefix length zero query. That type of query is for privacy.
21 ; The authority server is then going to use the resolver's IP, if any, to
22 ; tailor the answer to the query source address.
23
24 ; ns.example.com
25 RANGE_BEGIN 0 100
26         ADDRESS 1.2.3.4
27
28 ; reply with 0.0.0.0/0 in reply
29 ; For the test the answers for 0.0.0.0/0 queries are SERVFAIL, the normal
30 ; answers are NOERROR.
31 ENTRY_BEGIN
32 MATCH opcode qtype qname ednsdata
33 ADJUST copy_id
34 REPLY QR AA DO SERVFAIL
35 SECTION QUESTION
36 www.example.com. IN A
37 SECTION ANSWER
38 www.example.com. IN CNAME star.c10r.example.com.
39 SECTION ADDITIONAL
40 HEX_EDNSDATA_BEGIN
41         00 08 00 04     ; OPCODE=subnet, optlen
42         00 01 00 00     ; ip4, scope 0, source 0
43                         ; 0.0.0.0/0
44 HEX_EDNSDATA_END
45 ENTRY_END
46
47 ; reply without subnet
48 ENTRY_BEGIN
49 MATCH opcode qtype qname
50 ADJUST copy_id
51 REPLY QR AA DO NOERROR
52 SECTION QUESTION
53 www.example.com. IN A
54 SECTION ANSWER
55 www.example.com. IN CNAME star.c10r.example.com.
56 ENTRY_END
57
58 ; delegation answer for c10r.example.com, with subnet /0
59 ENTRY_BEGIN
60 MATCH opcode subdomain ednsdata
61 ADJUST copy_id copy_query
62 REPLY QR DO SERVFAIL
63 SECTION QUESTION
64 c10r.example.com. IN NS
65 SECTION AUTHORITY
66 c10r.example.com. IN NS ns.c10r.example.com.
67 SECTION ADDITIONAL
68 ns.c10r.example.com. IN A 1.2.3.5
69 HEX_EDNSDATA_BEGIN
70         00 08 00 04     ; OPCODE=subnet, optlen
71         00 01 00 00     ; ip4, scope 0, source 0
72                         ; 0.0.0.0/0
73 HEX_EDNSDATA_END
74 ENTRY_END
75
76 ; delegation answer for c10r.example.com, without subnet
77 ENTRY_BEGIN
78 MATCH opcode subdomain
79 ADJUST copy_id copy_query
80 REPLY QR DO NOERROR
81 SECTION QUESTION
82 c10r.example.com. IN NS
83 SECTION AUTHORITY
84 c10r.example.com. IN NS ns.c10r.example.com.
85 SECTION ADDITIONAL
86 ns.c10r.example.com. IN A 1.2.3.5
87 ENTRY_END
88 RANGE_END
89
90 ; ns.c10r.example.com
91 RANGE_BEGIN 0 100
92         ADDRESS 1.2.3.5
93
94 ; reply with 0.0.0.0/0 in reply
95 ENTRY_BEGIN
96 MATCH opcode qtype qname ednsdata
97 ADJUST copy_id
98 REPLY QR AA DO SERVFAIL
99 SECTION QUESTION
100 star.c10r.example.com. IN A
101 SECTION ANSWER
102 star.c10r.example.com. IN A 1.2.3.6
103 SECTION ADDITIONAL
104 HEX_EDNSDATA_BEGIN
105         00 08 00 04     ; OPCODE=subnet, optlen
106         00 01 00 00     ; ip4, scope 0, source 0
107                         ; 0.0.0.0/0
108 HEX_EDNSDATA_END
109 ENTRY_END
110
111 ; reply without subnet
112 ENTRY_BEGIN
113 MATCH opcode qtype qname
114 ADJUST copy_id
115 REPLY QR AA DO NOERROR
116 SECTION QUESTION
117 star.c10r.example.com. IN A
118 SECTION ANSWER
119 star.c10r.example.com. IN A 1.2.3.6
120 ENTRY_END
121 RANGE_END
122
123 ; ask for www.example.com
124 ; server answers with CNAME to a delegation, that then
125 ; returns a /24 answer.
126 STEP 1 QUERY
127 ENTRY_BEGIN
128 REPLY RD DO
129 SECTION QUESTION
130 www.example.com. IN A
131 SECTION ADDITIONAL
132 HEX_EDNSDATA_BEGIN
133         00 08 00 04     ; OPCODE=subnet, optlen
134         00 01 00 00     ; ip4, scope 0, source 0
135                         ; 0.0.0.0/0
136 HEX_EDNSDATA_END
137 ENTRY_END
138
139 STEP 10 CHECK_ANSWER
140 ENTRY_BEGIN
141 MATCH all ednsdata
142 REPLY QR RD RA DO NOERROR
143 SECTION QUESTION
144 www.example.com. IN A
145 SECTION ANSWER
146 www.example.com. IN CNAME star.c10r.example.com.
147 star.c10r.example.com. IN A 1.2.3.6
148 SECTION ADDITIONAL
149 HEX_EDNSDATA_BEGIN
150         00 08 00 04     ; OPCODE=subnet, optlen
151         00 01 00 00     ; ip4, scope 0, source 0
152                         ; 0.0.0.0/0
153 HEX_EDNSDATA_END
154 ENTRY_END
155 SCENARIO_END