1 ; config options 2 server: 3 target-fetch-policy: "0 0 0 0 0" 4 minimal-responses: no 5 iter-scrub-promiscuous: no 6 tcp-upstream: no 7 #tls-upstream:no # same case but not testable in rpl. 8 9 # Builtin hints work similar to this explicit '.' stub-zone. 10 stub-zone: 11 name: "." 12 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 13 14 forward-zone: 15 name: "." 16 forward-addr: 1.2.3.6 # failing resolver 17 forward-first: yes 18 forward-tcp-upstream: yes 19 #forward-tls-upstream:yes # same case but not testable in rpl. 20 21 CONFIG_END 22 23 SCENARIO_BEGIN Test forward-first directive in forward zone configured with explicit tcp upstream next to an equal stub name. 24 25 ; K.ROOT-SERVERS.NET. 26 RANGE_BEGIN 0 100 27 ADDRESS 193.0.14.129 28 ENTRY_BEGIN 29 MATCH UDP opcode qtype qname 30 ADJUST copy_id 31 REPLY QR NOERROR 32 SECTION QUESTION 33 . IN NS 34 SECTION ANSWER 35 . IN NS K.ROOT-SERVERS.NET. 36 SECTION ADDITIONAL 37 K.ROOT-SERVERS.NET. IN A 193.0.14.129 38 ENTRY_END 39 40 ENTRY_BEGIN 41 MATCH UDP opcode subdomain 42 ADJUST copy_id copy_query 43 REPLY QR NOERROR 44 SECTION QUESTION 45 com. IN A 46 SECTION AUTHORITY 47 com. IN NS a.gtld-servers.net. 48 SECTION ADDITIONAL 49 a.gtld-servers.net. IN A 192.5.6.30 50 ENTRY_END 51 RANGE_END 52 53 ; a.gtld-servers.net. 54 RANGE_BEGIN 0 100 55 ADDRESS 192.5.6.30 56 ENTRY_BEGIN 57 MATCH UDP opcode qtype qname 58 ADJUST copy_id 59 REPLY QR NOERROR 60 SECTION QUESTION 61 com. IN NS 62 SECTION ANSWER 63 com. IN NS a.gtld-servers.net. 64 SECTION ADDITIONAL 65 a.gtld-servers.net. IN A 192.5.6.30 66 ENTRY_END 67 68 ENTRY_BEGIN 69 MATCH UDP opcode subdomain 70 ADJUST copy_id copy_query 71 REPLY QR NOERROR 72 SECTION QUESTION 73 example.com. IN A 74 SECTION AUTHORITY 75 example.com. IN NS ns.example.com. 76 SECTION ADDITIONAL 77 ns.example.com. IN A 1.2.3.4 78 ENTRY_END 79 RANGE_END 80 81 ; ns.example.com. 82 RANGE_BEGIN 0 100 83 ADDRESS 1.2.3.4 84 ENTRY_BEGIN 85 MATCH UDP opcode qtype qname 86 ADJUST copy_id 87 REPLY QR NOERROR 88 SECTION QUESTION 89 example.com. IN NS 90 SECTION ANSWER 91 example.com. IN NS ns.example.com. 92 SECTION ADDITIONAL 93 ns.example.com. IN A 1.2.3.4 94 ENTRY_END 95 96 ENTRY_BEGIN 97 MATCH UDP opcode qtype qname 98 ADJUST copy_id 99 REPLY QR NOERROR 100 SECTION QUESTION 101 www.example.com. IN A 102 SECTION ANSWER 103 www.example.com. IN A 10.20.30.40 104 SECTION AUTHORITY 105 example.com. IN NS ns.example.com. 106 SECTION ADDITIONAL 107 ns.example.com. IN A 1.2.3.4 108 ENTRY_END 109 RANGE_END 110 111 ; local resolver (that fails a lot) 112 RANGE_BEGIN 0 100 113 ADDRESS 1.2.3.6 114 115 ENTRY_BEGIN 116 MATCH TCP opcode qtype qname 117 ADJUST copy_id 118 REPLY QR RA SERVFAIL 119 SECTION QUESTION 120 example.com. IN NS 121 SECTION ANSWER 122 ;example.com. IN NS ns.example.com. 123 SECTION ADDITIONAL 124 ;ns.example.com. IN A 1.2.3.4 125 ENTRY_END 126 127 ENTRY_BEGIN 128 MATCH TCP opcode qtype qname 129 ADJUST copy_id 130 REPLY QR RA SERVFAIL 131 SECTION QUESTION 132 www.example.com. IN A 133 SECTION ANSWER 134 ;www.example.com. IN A 10.20.30.50 135 SECTION AUTHORITY 136 ;example.com. IN NS ns.example.com. 137 SECTION ADDITIONAL 138 ;ns.example.com. IN A 1.2.3.4 139 ENTRY_END 140 RANGE_END 141 142 STEP 1 QUERY 143 ENTRY_BEGIN 144 REPLY RD 145 SECTION QUESTION 146 www.example.com. IN A 147 ENTRY_END 148 149 ; recursion happens here. 150 STEP 10 CHECK_ANSWER 151 ENTRY_BEGIN 152 MATCH all 153 REPLY QR RD RA NOERROR 154 SECTION QUESTION 155 www.example.com. IN A 156 SECTION ANSWER 157 www.example.com. IN A 10.20.30.40 158 SECTION AUTHORITY 159 example.com. IN NS ns.example.com. 160 SECTION ADDITIONAL 161 ns.example.com. IN A 1.2.3.4 162 ENTRY_END 163 164 SCENARIO_END 165