1 ; This is a comment. 2 ; config options go here. 3 server: 4 minimal-responses: no 5 iter-scrub-promiscuous: no 6 forward-zone: name: "." forward-addr: 216.0.0.1 7 CONFIG_END 8 9 SCENARIO_BEGIN RRset TTL is not greedily updated from message. 10 11 STEP 1 QUERY 12 ENTRY_BEGIN 13 REPLY RD 14 SECTION QUESTION 15 www.example.com. IN A 16 ENTRY_END 17 ; the query is sent to the forwarder - no cache yet. 18 STEP 2 CHECK_OUT_QUERY 19 ENTRY_BEGIN 20 MATCH qname qtype opcode 21 SECTION QUESTION 22 www.example.com. IN A 23 ENTRY_END 24 STEP 3 REPLY 25 ENTRY_BEGIN 26 MATCH opcode qtype qname 27 ADJUST copy_id 28 ; authoritative answer 29 REPLY QR AA RD RA NOERROR 30 SECTION QUESTION 31 www.example.com. IN A 32 SECTION ANSWER 33 www.example.com. IN A 10.20.30.40 34 SECTION AUTHORITY 35 example.com. 100 IN NS ns.example.com. 36 SECTION ADDITIONAL 37 ns.example.com. IN A 10.20.30.50 38 ENTRY_END 39 STEP 4 CHECK_ANSWER 40 ENTRY_BEGIN 41 MATCH all ttl 42 REPLY QR RD RA 43 SECTION QUESTION 44 www.example.com. IN A 45 SECTION ANSWER 46 www.example.com. IN A 10.20.30.40 47 SECTION AUTHORITY 48 example.com. 100 IN NS ns.example.com. 49 SECTION ADDITIONAL 50 ns.example.com. IN A 10.20.30.50 51 ENTRY_END 52 53 ; another query passes along 54 STEP 6 QUERY 55 ENTRY_BEGIN 56 REPLY RD 57 SECTION QUESTION 58 bla.example.com. IN A 59 ENTRY_END 60 STEP 7 CHECK_OUT_QUERY 61 ENTRY_BEGIN 62 MATCH qname qtype opcode 63 SECTION QUESTION 64 bla.example.com. IN A 65 ENTRY_END 66 STEP 8 REPLY 67 ; This answer has a fresh TTL 68 ENTRY_BEGIN 69 MATCH opcode qtype qname 70 ADJUST copy_id 71 ; authoritative answer 72 REPLY QR AA RD RA NOERROR 73 SECTION QUESTION 74 bla.example.com. IN A 75 SECTION ANSWER 76 bla.example.com. IN A 10.20.30.140 77 SECTION AUTHORITY 78 example.com. 200 IN NS ns.example.com. 79 SECTION ADDITIONAL 80 ns.example.com. IN A 10.20.30.50 81 ENTRY_END 82 STEP 9 CHECK_ANSWER 83 ENTRY_BEGIN 84 MATCH all ttl 85 REPLY QR RD RA 86 SECTION QUESTION 87 bla.example.com. IN A 88 SECTION ANSWER 89 bla.example.com. IN A 10.20.30.140 90 SECTION AUTHORITY 91 example.com. 100 IN NS ns.example.com. 92 SECTION ADDITIONAL 93 ns.example.com. IN A 10.20.30.50 94 ENTRY_END 95 96 ; original www.example.com query 97 STEP 10 QUERY 98 ENTRY_BEGIN 99 REPLY RD 100 SECTION QUESTION 101 www.example.com. IN A 102 ENTRY_END 103 104 ; immediate answer without an OUT_QUERY happening (checked on exit) 105 ; also, the answer does not have AA set 106 ; NS rrset has not been updated. No greedy TTL has happened. 107 STEP 11 CHECK_ANSWER 108 ENTRY_BEGIN 109 MATCH all ttl 110 REPLY QR RD RA 111 SECTION QUESTION 112 www.example.com. IN A 113 SECTION ANSWER 114 www.example.com. IN A 10.20.30.40 115 SECTION AUTHORITY 116 example.com. 100 IN NS ns.example.com. 117 SECTION ADDITIONAL 118 ns.example.com. IN A 10.20.30.50 119 ENTRY_END 120 121 SCENARIO_END 122