1; config options 2server: 3 target-fetch-policy: "0 0 0 0 0" 4 5stub-zone: 6 name: "." 7 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 8CONFIG_END 9 10SCENARIO_BEGIN Test parent-child dichotomy where dp turns useless 11 12; K.ROOT-SERVERS.NET. 13RANGE_BEGIN 0 100 14 ADDRESS 193.0.14.129 15ENTRY_BEGIN 16MATCH opcode qtype qname 17ADJUST copy_id 18REPLY QR NOERROR 19SECTION QUESTION 20. IN NS 21SECTION ANSWER 22. IN NS K.ROOT-SERVERS.NET. 23SECTION ADDITIONAL 24K.ROOT-SERVERS.NET. IN A 193.0.14.129 25ENTRY_END 26 27ENTRY_BEGIN 28MATCH opcode subdomain 29ADJUST copy_id copy_query 30REPLY QR NOERROR 31SECTION QUESTION 32com. IN NS 33SECTION AUTHORITY 34com. IN NS a.gtld-servers.net. 35SECTION ADDITIONAL 36a.gtld-servers.net. IN A 192.5.6.30 37ENTRY_END 38 39; data for ns-crap does not exist. 40ENTRY_BEGIN 41MATCH opcode qname 42ADJUST copy_id copy_query 43REPLY QR NXDOMAIN 44SECTION QUESTION 45ns-crap. IN NS 46SECTION AUTHORITY 47; very short TTL so it'll expire. 48. 2 SOA . . 1 2 3 4 5 49SECTION ADDITIONAL 50ENTRY_END 51RANGE_END 52 53; a.gtld-servers.net. 54RANGE_BEGIN 0 100 55 ADDRESS 192.5.6.30 56ENTRY_BEGIN 57MATCH opcode qtype qname 58ADJUST copy_id 59REPLY QR NOERROR 60SECTION QUESTION 61com. IN NS 62SECTION ANSWER 63com. IN NS a.gtld-servers.net. 64SECTION ADDITIONAL 65a.gtld-servers.net. IN A 192.5.6.30 66ENTRY_END 67 68ENTRY_BEGIN 69MATCH opcode subdomain 70ADJUST copy_id copy_query 71REPLY QR NOERROR 72SECTION QUESTION 73example.com. IN NS 74SECTION AUTHORITY 75; very short TTL so it can time out quickly. 76example.com. 2 IN NS ns.example.com. 77SECTION ADDITIONAL 78ns.example.com. IN A 1.2.3.4 79ENTRY_END 80RANGE_END 81 82; ns.example.com. 83RANGE_BEGIN 0 100 84 ADDRESS 1.2.3.4 85ENTRY_BEGIN 86MATCH opcode qtype qname 87ADJUST copy_id 88REPLY QR NOERROR 89SECTION QUESTION 90example.com. IN NS 91SECTION ANSWER 92example.com. IN NS ns-crap. 93SECTION ADDITIONAL 94ENTRY_END 95 96ENTRY_BEGIN 97MATCH opcode qtype qname 98ADJUST copy_id 99REPLY QR NOERROR 100SECTION QUESTION 101www.example.com. IN A 102SECTION ANSWER 103www.example.com. 2 IN A 10.20.30.40 104ENTRY_END 105RANGE_END 106 107STEP 1 QUERY 108ENTRY_BEGIN 109REPLY RD 110SECTION QUESTION 111example.com. IN NS 112ENTRY_END 113 114STEP 10 CHECK_ANSWER 115ENTRY_BEGIN 116MATCH all 117REPLY QR RD RA NOERROR 118SECTION QUESTION 119example.com. IN NS 120SECTION ANSWER 121example.com. IN NS ns-crap. 122SECTION AUTHORITY 123SECTION ADDITIONAL 124ENTRY_END 125 126STEP 20 QUERY 127ENTRY_BEGIN 128REPLY RD 129SECTION QUESTION 130www.example.com. IN A 131ENTRY_END 132 133STEP 30 CHECK_ANSWER 134ENTRY_BEGIN 135MATCH all 136REPLY QR RD RA NOERROR 137SECTION QUESTION 138www.example.com. IN A 139SECTION ANSWER 140www.example.com. 2 IN A 10.20.30.40 141ENTRY_END 142 143; parent side stuff times out 144STEP 40 TIME_PASSES ELAPSE 5.0 145 146; actual retry logic must fire 147STEP 50 QUERY 148ENTRY_BEGIN 149REPLY RD 150SECTION QUESTION 151www.example.com. IN A 152ENTRY_END 153 154STEP 60 CHECK_ANSWER 155ENTRY_BEGIN 156MATCH all 157REPLY QR RD RA NOERROR 158SECTION QUESTION 159www.example.com. IN A 160SECTION ANSWER 161www.example.com. 2 IN A 10.20.30.40 162ENTRY_END 163 164 165 166SCENARIO_END 167