1 ; config options 2 server: 3 target-fetch-policy: "0 0 0 0 0" 4 minimal-responses: no 5 iter-scrub-promiscuous: no 6 stub-zone: 7 name: "." 8 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 9 CONFIG_END 10 11 SCENARIO_BEGIN Test trust in cname chain answer 12 13 ; K.ROOT-SERVERS.NET. 14 RANGE_BEGIN 0 100 15 ADDRESS 193.0.14.129 16 ENTRY_BEGIN 17 MATCH opcode qtype 18 ADJUST copy_id copy_query 19 REPLY QR NOERROR 20 SECTION QUESTION 21 . IN NS 22 SECTION ANSWER 23 . IN NS K.ROOT-SERVERS.NET. 24 SECTION ADDITIONAL 25 K.ROOT-SERVERS.NET. IN A 193.0.14.129 26 ENTRY_END 27 28 ENTRY_BEGIN 29 MATCH opcode qtype 30 ADJUST copy_id copy_query 31 REPLY QR NOERROR 32 SECTION QUESTION 33 www.example.com. IN A 34 SECTION AUTHORITY 35 com. IN NS a.gtld-servers.net. 36 SECTION ADDITIONAL 37 a.gtld-servers.net. IN A 192.5.6.30 38 ENTRY_END 39 RANGE_END 40 41 ; a.gtld-servers.net. 42 RANGE_BEGIN 0 100 43 ADDRESS 192.5.6.30 44 ENTRY_BEGIN 45 MATCH opcode qtype 46 ADJUST copy_id copy_query 47 REPLY QR NOERROR 48 SECTION QUESTION 49 com. IN NS 50 SECTION ANSWER 51 com. IN NS a.gtld-servers.net. 52 SECTION ADDITIONAL 53 a.gtld-servers.net. IN A 192.5.6.30 54 ENTRY_END 55 56 ENTRY_BEGIN 57 MATCH opcode qtype 58 ADJUST copy_id copy_query 59 REPLY QR NOERROR 60 SECTION QUESTION 61 www.example.com. IN A 62 SECTION AUTHORITY 63 example.com. IN NS ns.example.com. 64 SECTION ADDITIONAL 65 ns.example.com. IN A 1.2.3.4 66 ENTRY_END 67 RANGE_END 68 69 ; ns.example.com. 70 RANGE_BEGIN 0 100 71 ADDRESS 1.2.3.4 72 ENTRY_BEGIN 73 MATCH opcode qtype 74 ADJUST copy_id copy_query 75 REPLY QR NOERROR 76 SECTION QUESTION 77 example.com. IN NS 78 SECTION ANSWER 79 example.com. IN NS ns.example.com. 80 SECTION ADDITIONAL 81 ns.example.com. IN A 1.2.3.4 82 ENTRY_END 83 84 ENTRY_BEGIN 85 MATCH opcode qtype qname 86 ADJUST copy_id 87 REPLY QR AA NOERROR 88 SECTION QUESTION 89 www.example.com. IN A 90 SECTION ANSWER 91 www.example.com. IN CNAME xxx.example.com. 92 xxx.example.com. IN CNAME yyy.example.com. 93 yyy.example.com. IN A 10.20.30.40 94 SECTION AUTHORITY 95 example.com. IN NS ns.example.com. 96 SECTION ADDITIONAL 97 ns.example.com. IN A 1.2.3.4 98 ENTRY_END 99 ENTRY_BEGIN 100 MATCH opcode qtype qname 101 ADJUST copy_id 102 REPLY QR AA NOERROR 103 SECTION QUESTION 104 xxx.example.com. IN A 105 SECTION ANSWER 106 xxx.example.com. IN CNAME yyy.example.com. 107 yyy.example.com. 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 ENTRY_BEGIN 114 MATCH opcode qtype qname 115 ADJUST copy_id 116 REPLY QR AA NOERROR 117 SECTION QUESTION 118 yyy.example.com. IN A 119 SECTION ANSWER 120 yyy.example.com. IN A 10.20.30.42 121 SECTION AUTHORITY 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 RANGE_END 127 128 129 ; This stores it into cache. 130 STEP 1 QUERY 131 ENTRY_BEGIN 132 REPLY RD 133 SECTION QUESTION 134 www.example.com. IN A 135 ENTRY_END 136 137 ; recursion happens here. 138 STEP 10 CHECK_ANSWER 139 ENTRY_BEGIN 140 MATCH all 141 REPLY QR RD RA NOERROR 142 SECTION QUESTION 143 www.example.com. IN A 144 SECTION ANSWER 145 www.example.com. IN CNAME xxx.example.com. 146 xxx.example.com. IN CNAME yyy.example.com. 147 ;;; did not trust the remainder of the CNAME chain! 148 yyy.example.com. IN A 10.20.30.42 149 SECTION AUTHORITY 150 example.com. IN NS ns.example.com. 151 SECTION ADDITIONAL 152 ns.example.com. IN A 1.2.3.4 153 ENTRY_END 154 155 SCENARIO_END 156