Home | History | Annotate | Line # | Download | only in testdata
      1 ; Check if the prefetch option works properly when serve-expired is combined
      2 ; with client-subnet-always-forward for non-ECS clients. The prefetch query
      3 ; needs to result in an outgoing query without ECS.
      4 
      5 server:
      6 	trust-anchor-signaling: no
      7 	target-fetch-policy: "0 0 0 0 0"
      8 	serve-expired: yes
      9 	serve-expired-client-timeout: 0
     10 	serve-expired-reply-ttl: 123
     11 	client-subnet-always-forward: yes
     12 	module-config: "subnetcache iterator"
     13 	verbosity: 3
     14 	access-control: 127.0.0.1 allow_snoop
     15 	qname-minimisation: no
     16 	minimal-responses: no
     17 	ede: yes
     18 	ede-serve-expired: yes
     19 	iter-scrub-promiscuous: no
     20 
     21 stub-zone:
     22 	name: "."
     23 	stub-addr: 193.0.14.129 	# K.ROOT-SERVERS.NET.
     24 CONFIG_END
     25 
     26 SCENARIO_BEGIN Test serve-expired and client-subnet-always-forward without ECS in the request
     27 
     28 ; K.ROOT-SERVERS.NET.
     29 RANGE_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 			K.ROOT-SERVERS.NET.	IN	A	193.0.14.129
     41 	ENTRY_END
     42 
     43 	ENTRY_BEGIN
     44 		MATCH opcode qtype qname
     45 		ADJUST copy_id
     46 		REPLY QR NOERROR
     47 		SECTION QUESTION
     48 			www.example.com. IN A
     49 		SECTION AUTHORITY
     50 			com.	IN NS	a.gtld-servers.net.
     51 		SECTION ADDITIONAL
     52 			a.gtld-servers.net.	IN 	A	192.5.6.30
     53 	ENTRY_END
     54 RANGE_END
     55 
     56 ; a.gtld-servers.net.
     57 RANGE_BEGIN 0 100
     58 	ADDRESS 192.5.6.30
     59 	ENTRY_BEGIN
     60 		MATCH opcode qtype qname ednsdata
     61 		ADJUST copy_id
     62 		REPLY QR NOERROR
     63 		SECTION QUESTION
     64 			com. IN NS
     65 		SECTION ANSWER
     66 			com.    IN NS   a.gtld-servers.net.
     67 		SECTION ADDITIONAL
     68 			a.gtld-servers.net.     IN      A       192.5.6.30
     69 	ENTRY_END
     70 
     71 	ENTRY_BEGIN
     72 		MATCH opcode qtype qname
     73 		ADJUST copy_id
     74 		REPLY QR NOERROR
     75 		SECTION QUESTION
     76 			www.example.com. IN A
     77 		SECTION AUTHORITY
     78 			example.com.	IN NS	ns.example.com.
     79 		SECTION ADDITIONAL
     80 			ns.example.com.		IN 	A	1.2.3.4
     81 	ENTRY_END
     82 RANGE_END
     83 
     84 ; ns.example.com.
     85 RANGE_BEGIN 0 100
     86 	ADDRESS 1.2.3.4
     87 	ENTRY_BEGIN
     88 		MATCH opcode qtype qname
     89 		ADJUST copy_id
     90 		REPLY QR NOERROR
     91 		SECTION QUESTION
     92 			example.com. IN NS
     93 		SECTION ANSWER
     94 			example.com.    IN NS   ns.example.com.
     95 		SECTION ADDITIONAL
     96 			ns.example.com.         IN      A       1.2.3.4
     97 	ENTRY_END
     98 
     99 	; response to query of interest
    100 	ENTRY_BEGIN
    101 		MATCH opcode qtype qname
    102 		ADJUST copy_id
    103 		REPLY QR NOERROR
    104 		SECTION QUESTION
    105 			www.example.com. IN A
    106 		SECTION ANSWER
    107 			www.example.com. 200 IN A	10.20.30.40
    108 		SECTION AUTHORITY
    109 			example.com.	IN NS	ns.example.com.
    110 		SECTION ADDITIONAL
    111 			ns.example.com.		IN 	A	1.2.3.4
    112 	ENTRY_END
    113 RANGE_END
    114 
    115 STEP 1 QUERY
    116 ENTRY_BEGIN
    117 REPLY RD
    118 SECTION QUESTION
    119 www.example.com. IN A
    120 ENTRY_END
    121 
    122 ; This answer should be in the global cache
    123 STEP 2 CHECK_ANSWER
    124 ENTRY_BEGIN
    125 MATCH all
    126 REPLY QR RD RA NOERROR
    127 SECTION QUESTION
    128 www.example.com.	IN A
    129 SECTION ANSWER
    130 www.example.com.	IN A	10.20.30.40
    131 SECTION AUTHORITY
    132 example.com.		IN NS	ns.example.com.
    133 SECTION ADDITIONAL
    134 ns.example.com.		IN A	1.2.3.4
    135 ENTRY_END
    136 
    137 ; Wait for the TTL to expire
    138 STEP 3 TIME_PASSES ELAPSE 200
    139 
    140 STEP 11 QUERY
    141 ENTRY_BEGIN
    142 REPLY RD DO
    143 SECTION QUESTION
    144 www.example.com. IN A
    145 ENTRY_END
    146 
    147 ; This record came from the global cache and a prefetch was triggered
    148 STEP 12 CHECK_ANSWER
    149 ENTRY_BEGIN
    150 MATCH all ttl ede=3
    151 REPLY QR RD RA DO NOERROR
    152 SECTION QUESTION
    153 www.example.com.		IN A
    154 SECTION ANSWER
    155 www.example.com.	123	IN A	10.20.30.40
    156 SECTION AUTHORITY
    157 example.com.		3400	IN NS	ns.example.com.
    158 SECTION ADDITIONAL
    159 ns.example.com.		3400	IN A	1.2.3.4
    160 ENTRY_END
    161 
    162 STEP 13 CHECK_OUT_QUERY
    163 ENTRY_BEGIN
    164         MATCH all
    165 	REPLY NOERROR DO
    166         SECTION QUESTION
    167                 www.example.com. IN A
    168 ENTRY_END
    169 
    170 STEP 14 TRAFFIC
    171 
    172 SCENARIO_END
    173