Home | History | Annotate | Line # | Download | only in testdata
      1 ; scope of 0, if the query also had scope of 0, do not answer this
      2 ; to everyone, but only for scope 0 queries. Otherwise can answer cached.
      3 
      4 server:
      5 	target-fetch-policy: "0 0 0 0 0"
      6 	send-client-subnet: 1.2.3.4
      7 	module-config: "subnetcache validator iterator"
      8 	verbosity: 4
      9 	qname-minimisation: no
     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 CONFIG_END
     19 
     20 SCENARIO_BEGIN Test subnet cache with scope zero queries and responses.
     21 
     22 ; the upstream server.
     23 RANGE_BEGIN 0 100
     24 	ADDRESS 193.0.14.129
     25 
     26 ENTRY_BEGIN
     27 MATCH opcode qtype qname ednsdata
     28 ADJUST copy_id
     29 REPLY QR NOERROR
     30 SECTION QUESTION
     31 . IN NS
     32 SECTION ANSWER
     33 . IN NS K.ROOT-SERVERS.NET.
     34 SECTION ADDITIONAL
     35 HEX_EDNSDATA_BEGIN
     36 	;; we expect to receive empty
     37 HEX_EDNSDATA_END
     38 K.ROOT-SERVERS.NET.     IN      A       193.0.14.129
     39 ENTRY_END
     40 RANGE_END
     41 
     42 RANGE_BEGIN 0 11
     43 	ADDRESS 1.2.3.4
     44 ENTRY_BEGIN
     45 MATCH opcode qtype qname
     46 ADJUST copy_id
     47 ;copy_ednsdata_assume_clientsubnet
     48 REPLY QR NOERROR
     49 SECTION QUESTION
     50 www.example.com. IN A
     51 SECTION ANSWER
     52 www.example.com. IN A   10.20.30.40
     53 SECTION AUTHORITY
     54 SECTION ADDITIONAL
     55 HEX_EDNSDATA_BEGIN
     56 			; client is 127.0.0.1
     57 	00 08           ; OPC
     58 	00 07           ; option length
     59 	00 01           ; Family
     60 	18 11           ; source mask, scopemask
     61 	7f 00 00        ; address
     62 HEX_EDNSDATA_END
     63 ENTRY_END
     64 RANGE_END
     65 
     66 RANGE_BEGIN 20 31
     67 	ADDRESS 1.2.3.4
     68 ENTRY_BEGIN
     69 MATCH opcode qtype qname
     70 ADJUST copy_id
     71 ;copy_ednsdata_assume_clientsubnet
     72 REPLY QR NOERROR
     73 SECTION QUESTION
     74 www.example.com. IN A
     75 SECTION ANSWER
     76 www.example.com. IN A   10.20.30.41
     77 SECTION AUTHORITY
     78 SECTION ADDITIONAL
     79 HEX_EDNSDATA_BEGIN
     80 			; client is 127.0.0.1
     81 	00 08           ; OPC
     82 	00 07           ; option length
     83 	00 01           ; Family
     84 	18 11           ; source mask, scopemask
     85 	7f 01 00        ; address
     86 HEX_EDNSDATA_END
     87 ENTRY_END
     88 RANGE_END
     89 
     90 RANGE_BEGIN 40 51
     91 	ADDRESS 1.2.3.4
     92 ENTRY_BEGIN
     93 MATCH opcode qtype qname
     94 ADJUST copy_id
     95 ;copy_ednsdata_assume_clientsubnet
     96 REPLY QR NOERROR
     97 SECTION QUESTION
     98 www.example.com. IN A
     99 SECTION ANSWER
    100 www.example.com. IN A   10.20.30.42
    101 SECTION AUTHORITY
    102 SECTION ADDITIONAL
    103 HEX_EDNSDATA_BEGIN
    104 	00 08           ; OPC
    105 	00 04           ; option length
    106 	00 01           ; Family
    107 	00 00           ; source mask, scopemask
    108 	                ; address 0.0.0.0/0 scope 0
    109 HEX_EDNSDATA_END
    110 ENTRY_END
    111 RANGE_END
    112 
    113 RANGE_BEGIN 120 131
    114 	ADDRESS 1.2.3.4
    115 ENTRY_BEGIN
    116 MATCH opcode qtype qname
    117 ADJUST copy_id
    118 ;copy_ednsdata_assume_clientsubnet
    119 REPLY QR NOERROR
    120 SECTION QUESTION
    121 www.example.com. IN A
    122 SECTION ANSWER
    123 www.example.com. IN A   10.20.30.43
    124 SECTION AUTHORITY
    125 SECTION ADDITIONAL
    126 HEX_EDNSDATA_BEGIN
    127 	00 08           ; OPC
    128 	00 07           ; option length
    129 	00 01           ; Family
    130 	18 00           ; source mask, scopemask
    131 	7f 02 00        ; address 127.2.0.0/24 scope 0
    132 HEX_EDNSDATA_END
    133 ENTRY_END
    134 RANGE_END
    135 
    136 ; query for 127.0.0.0/24
    137 STEP 1 QUERY
    138 ENTRY_BEGIN
    139 HEX_ANSWER_BEGIN
    140 	00 00 01 00 00 01 00 00         ;ID 0
    141 	00 00 00 01 03 77 77 77         ; www.example.com A? (DO)
    142 	07 65 78 61 6d 70 6c 65
    143 	03 63 6f 6d 00 00 01 00
    144 	01 00 00 29 10 00 00 00
    145 	80 00 00 0b
    146 
    147 	00 08 00 07                     ; OPC, optlen
    148 	00 01 18 00                     ; ip4, scope 24, source 0
    149 	7f 00 00                        ;127.0.0.0/24
    150 HEX_ANSWER_END
    151 ENTRY_END
    152 
    153 ; answer is 10.20.30.40 for 127.0.0.0/24 scope 17
    154 STEP 10 CHECK_ANSWER
    155 ENTRY_BEGIN
    156 MATCH all ednsdata
    157 REPLY QR RD RA NOERROR
    158 SECTION QUESTION
    159 www.example.com. IN A
    160 SECTION ANSWER
    161 www.example.com. IN A   10.20.30.40
    162 SECTION AUTHORITY
    163 SECTION ADDITIONAL
    164 HEX_EDNSDATA_BEGIN
    165 			; client is 127.0.0.1
    166 	00 08           ; OPC
    167 	00 07           ; option length
    168 	00 01           ; Family
    169 	18 11           ; source mask, scopemask
    170 	7f 00 00        ; address
    171 HEX_EDNSDATA_END
    172 ENTRY_END
    173 
    174 ; query for 127.1.0.0/24
    175 STEP 20 QUERY
    176 ENTRY_BEGIN
    177 HEX_ANSWER_BEGIN
    178 	00 00 01 00 00 01 00 00         ;ID 0
    179 	00 00 00 01 03 77 77 77         ; www.example.com A? (DO)
    180 	07 65 78 61 6d 70 6c 65
    181 	03 63 6f 6d 00 00 01 00
    182 	01 00 00 29 10 00 00 00
    183 	80 00 00 0b
    184 
    185 	00 08 00 07                     ; OPC, optlen
    186 	00 01 18 00                     ; ip4, scope 24, source 0
    187 	7f 01 00                        ;127.1.0.0/24
    188 HEX_ANSWER_END
    189 ENTRY_END
    190 
    191 ; answer is 10.20.30.41 for 127.1.0.0/24 scope 17
    192 STEP 30 CHECK_ANSWER
    193 ENTRY_BEGIN
    194 MATCH all ednsdata
    195 REPLY QR RD RA NOERROR
    196 SECTION QUESTION
    197 www.example.com. IN A
    198 SECTION ANSWER
    199 www.example.com. IN A   10.20.30.41
    200 SECTION AUTHORITY
    201 SECTION ADDITIONAL
    202 HEX_EDNSDATA_BEGIN
    203 			; client is 127.1.0.1
    204 	00 08           ; OPC
    205 	00 07           ; option length
    206 	00 01           ; Family
    207 	18 11           ; source mask, scopemask
    208 	7f 01 00        ; address
    209 HEX_EDNSDATA_END
    210 ENTRY_END
    211 
    212 ; query for 0.0.0.0/0
    213 STEP 40 QUERY
    214 ENTRY_BEGIN
    215 HEX_ANSWER_BEGIN
    216 	00 00 01 00 00 01 00 00         ;ID 0
    217 	00 00 00 01 03 77 77 77         ; www.example.com A? (DO)
    218 	07 65 78 61 6d 70 6c 65
    219 	03 63 6f 6d 00 00 01 00
    220 	01 00 00 29 10 00 00 00
    221 	80 00 00 08
    222 
    223 	00 08 00 04                     ; OPC, optlen
    224 	00 01 00 00                     ; ip4, scope 0, source 0
    225 	                                ;0.0.0.0/0
    226 HEX_ANSWER_END
    227 ENTRY_END
    228 
    229 ; answer is 10.20.30.42 for 0.0.0.0/0 scope 0
    230 STEP 50 CHECK_ANSWER
    231 ENTRY_BEGIN
    232 MATCH all ednsdata
    233 REPLY QR RD RA NOERROR
    234 SECTION QUESTION
    235 www.example.com. IN A
    236 SECTION ANSWER
    237 www.example.com. IN A   10.20.30.42
    238 SECTION AUTHORITY
    239 SECTION ADDITIONAL
    240 HEX_EDNSDATA_BEGIN
    241 	00 08           ; OPC
    242 	00 04           ; option length
    243 	00 01           ; Family
    244 	00 00           ; source mask, scopemask
    245 	                ; address
    246 HEX_EDNSDATA_END
    247 ENTRY_END
    248 
    249 ; query for 127.0.0.0/24, again, it should be in cache.
    250 ; and not from the scope 0 answer.
    251 STEP 60 QUERY
    252 ENTRY_BEGIN
    253 HEX_ANSWER_BEGIN
    254 	00 00 01 00 00 01 00 00         ;ID 0
    255 	00 00 00 01 03 77 77 77         ; www.example.com A? (DO)
    256 	07 65 78 61 6d 70 6c 65
    257 	03 63 6f 6d 00 00 01 00
    258 	01 00 00 29 10 00 00 00
    259 	80 00 00 0b
    260 
    261 	00 08 00 07                     ; OPC, optlen
    262 	00 01 18 00                     ; ip4, scope 24, source 0
    263 	7f 00 00                        ;127.0.0.0/24
    264 HEX_ANSWER_END
    265 ENTRY_END
    266 
    267 ; answer should be 10.20.30.40 for 127.0.0.0/24 scope 17
    268 STEP 70 CHECK_ANSWER
    269 ENTRY_BEGIN
    270 MATCH all ednsdata
    271 REPLY QR RD RA NOERROR
    272 SECTION QUESTION
    273 www.example.com. IN A
    274 SECTION ANSWER
    275 www.example.com. IN A   10.20.30.40
    276 SECTION AUTHORITY
    277 SECTION ADDITIONAL
    278 HEX_EDNSDATA_BEGIN
    279 			; client is 127.0.0.1
    280 	00 08           ; OPC
    281 	00 07           ; option length
    282 	00 01           ; Family
    283 	18 11           ; source mask, scopemask
    284 	7f 00 00        ; address
    285 HEX_EDNSDATA_END
    286 ENTRY_END
    287 
    288 ; query for 127.1.0.0/24, again, it should be in cache.
    289 STEP 80 QUERY
    290 ENTRY_BEGIN
    291 HEX_ANSWER_BEGIN
    292 	00 00 01 00 00 01 00 00         ;ID 0
    293 	00 00 00 01 03 77 77 77         ; www.example.com A? (DO)
    294 	07 65 78 61 6d 70 6c 65
    295 	03 63 6f 6d 00 00 01 00
    296 	01 00 00 29 10 00 00 00
    297 	80 00 00 0b
    298 
    299 	00 08 00 07                     ; OPC, optlen
    300 	00 01 18 00                     ; ip4, scope 24, source 0
    301 	7f 01 00                        ;127.1.0.0/24
    302 HEX_ANSWER_END
    303 ENTRY_END
    304 
    305 ; answer should be 10.20.30.41 for 127.1.0.0/24 scope 17
    306 STEP 90 CHECK_ANSWER
    307 ENTRY_BEGIN
    308 MATCH all ednsdata
    309 REPLY QR RD RA NOERROR
    310 SECTION QUESTION
    311 www.example.com. IN A
    312 SECTION ANSWER
    313 www.example.com. IN A   10.20.30.41
    314 SECTION AUTHORITY
    315 SECTION ADDITIONAL
    316 HEX_EDNSDATA_BEGIN
    317 			; client is 127.1.0.1
    318 	00 08           ; OPC
    319 	00 07           ; option length
    320 	00 01           ; Family
    321 	18 11           ; source mask, scopemask
    322 	7f 01 00        ; address
    323 HEX_EDNSDATA_END
    324 ENTRY_END
    325 
    326 ; query for 0.0.0.0/0, again.
    327 STEP 100 QUERY
    328 ENTRY_BEGIN
    329 HEX_ANSWER_BEGIN
    330 	00 00 01 00 00 01 00 00         ;ID 0
    331 	00 00 00 01 03 77 77 77         ; www.example.com A? (DO)
    332 	07 65 78 61 6d 70 6c 65
    333 	03 63 6f 6d 00 00 01 00
    334 	01 00 00 29 10 00 00 00
    335 	80 00 00 08
    336 
    337 	00 08 00 04                     ; OPC, optlen
    338 	00 01 00 00                     ; ip4, scope 0, source 0
    339 	                                ;0.0.0.0/0
    340 HEX_ANSWER_END
    341 ENTRY_END
    342 
    343 ; answer should be 10.20.30.42 for 0.0.0.0/0 scope 0
    344 STEP 110 CHECK_ANSWER
    345 ENTRY_BEGIN
    346 MATCH all ednsdata
    347 REPLY QR RD RA NOERROR
    348 SECTION QUESTION
    349 www.example.com. IN A
    350 SECTION ANSWER
    351 www.example.com. IN A   10.20.30.42
    352 SECTION AUTHORITY
    353 SECTION ADDITIONAL
    354 HEX_EDNSDATA_BEGIN
    355 	00 08           ; OPC
    356 	00 04           ; option length
    357 	00 01           ; Family
    358 	00 00           ; source mask, scopemask
    359 	                ; address
    360 HEX_EDNSDATA_END
    361 ENTRY_END
    362 
    363 ; now a query for a /24 that gets an answer for a /0.
    364 STEP 120 QUERY
    365 ENTRY_BEGIN
    366 HEX_ANSWER_BEGIN
    367 	00 00 01 00 00 01 00 00         ;ID 0
    368 	00 00 00 01 03 77 77 77         ; www.example.com A? (DO)
    369 	07 65 78 61 6d 70 6c 65
    370 	03 63 6f 6d 00 00 01 00
    371 	01 00 00 29 10 00 00 00
    372 	80 00 00 0b
    373 
    374 	00 08 00 07                     ; OPC, optlen
    375 	00 01 18 00                     ; ip4, scope 24, source 0
    376 	7f 02 00                        ;127.2.0.0/24
    377 HEX_ANSWER_END
    378 ENTRY_END
    379 
    380 ; answer should be 10.20.30.43 for 127.2.0.0/24 scope 0
    381 STEP 130 CHECK_ANSWER
    382 ENTRY_BEGIN
    383 MATCH all ednsdata
    384 REPLY QR RD RA NOERROR
    385 SECTION QUESTION
    386 www.example.com. IN A
    387 SECTION ANSWER
    388 www.example.com. IN A   10.20.30.43
    389 SECTION AUTHORITY
    390 SECTION ADDITIONAL
    391 HEX_EDNSDATA_BEGIN
    392 			; client is 127.2.0.1
    393 	00 08           ; OPC
    394 	00 07           ; option length
    395 	00 01           ; Family
    396 	18 00           ; source mask, scopemask
    397 	7f 02 00        ; address
    398 HEX_EDNSDATA_END
    399 ENTRY_END
    400 
    401 ; the scope 0 answer is now used to answer queries from
    402 ; query for 127.0.0.0/24
    403 STEP 140 QUERY
    404 ENTRY_BEGIN
    405 HEX_ANSWER_BEGIN
    406 	00 00 01 00 00 01 00 00         ;ID 0
    407 	00 00 00 01 03 77 77 77         ; www.example.com A? (DO)
    408 	07 65 78 61 6d 70 6c 65
    409 	03 63 6f 6d 00 00 01 00
    410 	01 00 00 29 10 00 00 00
    411 	80 00 00 0b
    412 
    413 	00 08 00 07                     ; OPC, optlen
    414 	00 01 18 00                     ; ip4, scope 24, source 0
    415 	7f 00 00                        ;127.0.0.0/24
    416 HEX_ANSWER_END
    417 ENTRY_END
    418 
    419 STEP 150 CHECK_ANSWER
    420 ENTRY_BEGIN
    421 MATCH all ednsdata
    422 REPLY QR RD RA NOERROR
    423 SECTION QUESTION
    424 www.example.com. IN A
    425 SECTION ANSWER
    426 www.example.com. IN A   10.20.30.43
    427 SECTION AUTHORITY
    428 SECTION ADDITIONAL
    429 HEX_EDNSDATA_BEGIN
    430 			; client is 127.0.0.1
    431 	00 08           ; OPC
    432 	00 07           ; option length
    433 	00 01           ; Family
    434 	18 00           ; source mask, scopemask
    435 	7f 00 00        ; address
    436 HEX_EDNSDATA_END
    437 ENTRY_END
    438 
    439 SCENARIO_END
    440