Home | History | Annotate | Line # | Download | only in testdata
      1 ; config options
      2 server:
      3 	target-fetch-policy: "0 0 0 0 0"
      4 	module-config: "subnetcache validator iterator"
      5 	verbosity: 4
      6 	qname-minimisation: no
      7 	; the domain is not configured for edns-subnet
      8 	;send-client-subnet: 1.2.3.4
      9 	client-subnet-zone: "ex2.com"
     10 
     11 stub-zone:
     12 	name: "."
     13 	stub-addr: 193.0.14.129
     14 
     15 stub-zone:
     16 	name: "example.com"
     17 	stub-addr: 1.2.3.4
     18 stub-zone:
     19 	name: "ex2.com"
     20 	stub-addr: 1.2.3.5
     21 CONFIG_END
     22 
     23 SCENARIO_BEGIN Test subnet cache with scope zero for global cache store.
     24 
     25 ; the upstream server.
     26 RANGE_BEGIN 0 100
     27 	ADDRESS 193.0.14.129
     28 
     29 ENTRY_BEGIN
     30 MATCH opcode qtype qname ednsdata
     31 ADJUST copy_id
     32 REPLY QR NOERROR
     33 SECTION QUESTION
     34 . IN NS
     35 SECTION ANSWER
     36 . IN NS K.ROOT-SERVERS.NET.
     37 SECTION ADDITIONAL
     38 HEX_EDNSDATA_BEGIN
     39 	;; we expect to receive empty
     40 HEX_EDNSDATA_END
     41 K.ROOT-SERVERS.NET.     IN      A       193.0.14.129
     42 ENTRY_END
     43 RANGE_END
     44 
     45 RANGE_BEGIN 0 21
     46 	ADDRESS 1.2.3.4
     47 ENTRY_BEGIN
     48 MATCH opcode qtype qname
     49 ADJUST copy_id
     50 REPLY QR AA NOERROR
     51 SECTION QUESTION
     52 www.example.com. IN A
     53 SECTION ANSWER
     54 www.example.com. IN A   10.20.30.40
     55 SECTION AUTHORITY
     56 SECTION ADDITIONAL
     57 ENTRY_END
     58 RANGE_END
     59 
     60 RANGE_BEGIN 20 61
     61 	ADDRESS 1.2.3.5
     62 ENTRY_BEGIN
     63 MATCH opcode qtype qname
     64 ADJUST copy_id
     65 REPLY QR AA NOERROR
     66 SECTION QUESTION
     67 www.ex2.com. IN A
     68 SECTION ANSWER
     69 www.ex2.com. IN A   10.20.30.41
     70 SECTION AUTHORITY
     71 SECTION ADDITIONAL
     72 ENTRY_END
     73 RANGE_END
     74 
     75 RANGE_BEGIN 90 101
     76 	ADDRESS 1.2.3.5
     77 ENTRY_BEGIN
     78 	MATCH opcode qtype qname ednsdata
     79 	ADJUST copy_id copy_ednsdata_assume_clientsubnet
     80 	REPLY QR NOERROR
     81 	SECTION QUESTION
     82 		www.ex2.com. IN A
     83 	SECTION ANSWER
     84 		www.ex2.com. 10 IN A	10.20.30.42
     85 	SECTION AUTHORITY
     86 		ex2.com.	IN NS	ns.ex2.com.
     87 	SECTION ADDITIONAL
     88 		HEX_EDNSDATA_BEGIN
     89 					; client is 127.0.0.1
     90 			00 08 		; OPC
     91 			00 07 		; option length
     92 			00 01 		; Family
     93 			18 00 		; source mask, scopemask
     94 			7f 00 00 	; address
     95 		HEX_EDNSDATA_END
     96 		ns.ex2.com.		IN 	A	1.2.3.5
     97 ENTRY_END
     98 RANGE_END
     99 
    100 ; query for 0.0.0.0/0
    101 STEP 10 QUERY
    102 ENTRY_BEGIN
    103 HEX_ANSWER_BEGIN
    104 	00 00 01 00 00 01 00 00         ;ID 0
    105 	00 00 00 01 03 77 77 77         ; www.example.com A? (DO)
    106 	07 65 78 61 6d 70 6c 65
    107 	03 63 6f 6d 00 00 01 00
    108 	01 00 00 29 10 00 00 00
    109 	80 00 00 08
    110 
    111 	00 08 00 04                     ; OPC, optlen
    112 	00 01 00 00                     ; ip4, scope 0, source 0
    113 	                                ;0.0.0.0/0
    114 HEX_ANSWER_END
    115 ENTRY_END
    116 
    117 STEP 20 CHECK_ANSWER
    118 ENTRY_BEGIN
    119 MATCH all ednsdata
    120 REPLY QR RD RA NOERROR
    121 SECTION QUESTION
    122 www.example.com. IN A
    123 SECTION ANSWER
    124 www.example.com. IN A   10.20.30.40
    125 SECTION AUTHORITY
    126 SECTION ADDITIONAL
    127 HEX_EDNSDATA_BEGIN
    128 	00 08           ; OPC
    129 	00 04           ; option length
    130 	00 01           ; Family
    131 	00 00           ; source mask, scopemask
    132 	                ; address
    133 HEX_EDNSDATA_END
    134 ENTRY_END
    135 
    136 ; That that it is in global cache.
    137 STEP 30 QUERY
    138 ENTRY_BEGIN
    139 REPLY RD NOERROR
    140 SECTION QUESTION
    141 www.example.com. IN A
    142 ENTRY_END
    143 
    144 STEP 40 CHECK_ANSWER
    145 ENTRY_BEGIN
    146 MATCH all ednsdata
    147 REPLY QR RD RA NOERROR
    148 SECTION QUESTION
    149 www.example.com. IN A
    150 SECTION ANSWER
    151 www.example.com. IN A   10.20.30.40
    152 ENTRY_END
    153 
    154 ; With a query where the name is whitelisted, it should not be stored
    155 ; in global cache.
    156 STEP 50 QUERY
    157 ENTRY_BEGIN
    158 HEX_ANSWER_BEGIN
    159 	00 00 01 00 00 01 00 00         ;ID 0
    160 	00 00 00 01 03 77 77 77         ; www.ex2.com A? (DO)
    161 	03 65 78 32 03 63 6f 6d
    162 	00 00 01 00 01 00 00 29
    163 	10 00 00 00 80 00 00 08
    164 
    165 	00 08 00 04                     ; OPC, optlen
    166 	00 01 00 00                     ; ip4, scope 0, source 0
    167 	                                ;0.0.0.0/0
    168 HEX_ANSWER_END
    169 ENTRY_END
    170 
    171 STEP 60 CHECK_ANSWER
    172 ENTRY_BEGIN
    173 MATCH all ednsdata
    174 REPLY QR RD RA NOERROR
    175 SECTION QUESTION
    176 www.ex2.com. IN A
    177 SECTION ANSWER
    178 www.ex2.com. IN A   10.20.30.41
    179 SECTION AUTHORITY
    180 SECTION ADDITIONAL
    181 HEX_EDNSDATA_BEGIN
    182 	00 08           ; OPC
    183 	00 04           ; option length
    184 	00 01           ; Family
    185 	00 00           ; source mask, scopemask
    186 	                ; address
    187 HEX_EDNSDATA_END
    188 ENTRY_END
    189 
    190 STEP 70 QUERY
    191 ENTRY_BEGIN
    192 HEX_ANSWER_BEGIN
    193 	00 00 01 00 00 01 00 00         ;ID 0
    194 	00 00 00 01 03 77 77 77         ; www.ex2.com A? (DO)
    195 	03 65 78 32 03 63 6f 6d
    196 	00 00 01 00 01 00 00 29
    197 	10 00 00 00 80 00 00 08
    198 
    199 	00 08 00 04                     ; OPC, optlen
    200 	00 01 00 00                     ; ip4, scope 0, source 0
    201 	                                ;0.0.0.0/0
    202 HEX_ANSWER_END
    203 ENTRY_END
    204 
    205 STEP 80 CHECK_ANSWER
    206 ENTRY_BEGIN
    207 MATCH all ednsdata
    208 REPLY QR RD RA NOERROR
    209 SECTION QUESTION
    210 www.ex2.com. IN A
    211 SECTION ANSWER
    212 www.ex2.com. IN A   10.20.30.41
    213 SECTION AUTHORITY
    214 SECTION ADDITIONAL
    215 HEX_EDNSDATA_BEGIN
    216 	00 08           ; OPC
    217 	00 04           ; option length
    218 	00 01           ; Family
    219 	00 00           ; source mask, scopemask
    220 	                ; address
    221 HEX_EDNSDATA_END
    222 ENTRY_END
    223 
    224 ; www.ex2.com is not in the global cache. and gets subnet treatment
    225 STEP 90 QUERY
    226 ENTRY_BEGIN
    227 REPLY RD NOERROR
    228 SECTION QUESTION
    229 www.ex2.com. IN A
    230 ENTRY_END
    231 
    232 STEP 100 CHECK_ANSWER
    233 ENTRY_BEGIN
    234 MATCH all ednsdata
    235 REPLY QR RD RA NOERROR
    236 SECTION QUESTION
    237 www.ex2.com. IN A
    238 SECTION ANSWER
    239 www.ex2.com. IN A   10.20.30.42
    240 ENTRY_END
    241 
    242 ; that result is in the subnet cache
    243 STEP 110 QUERY
    244 ENTRY_BEGIN
    245 HEX_ANSWER_BEGIN
    246 	00 00 01 00 00 01 00 00         ;ID 0
    247 	00 00 00 01 03 77 77 77         ; www.ex2.com A? (DO)
    248 	03 65 78 32 03 63 6f 6d
    249 	00 00 01 00 01 00 00 29
    250 	10 00 00 00 80 00 00 0b
    251 
    252 	00 08 00 07                     ; OPC, optlen
    253 			; ip4 127.0.0.0/24 scope /0
    254 	00 01 		; Family
    255 	18 00 		; source mask, scopemask
    256 	7f 00 00 	; address
    257 HEX_ANSWER_END
    258 ENTRY_END
    259 
    260 STEP 120 CHECK_ANSWER
    261 ENTRY_BEGIN
    262 MATCH all ednsdata
    263 REPLY QR RD RA NOERROR
    264 SECTION QUESTION
    265 www.ex2.com. IN A
    266 SECTION ANSWER
    267 www.ex2.com. IN A   10.20.30.42
    268 SECTION AUTHORITY
    269 SECTION ADDITIONAL
    270 HEX_EDNSDATA_BEGIN
    271 	00 08           ; OPC
    272 	00 07           ; option length
    273 			; ip4 127.0.0.0/24 scope /24
    274 	00 01 		; Family
    275 	18 18 		; source mask, scopemask
    276 	7f 00 00 	; address
    277 HEX_EDNSDATA_END
    278 ENTRY_END
    279 
    280 SCENARIO_END
    281