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