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 Query receives answer from the cache 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 www.example.com. 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 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 www.example.com. 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, same, so it must be answered from the cache 54 STEP 5 QUERY 55 ENTRY_BEGIN 56 REPLY RD 57 SECTION QUESTION 58 www.example.com. IN A 59 ENTRY_END 60 ; immediate answer without an OUT_QUERY happening (checked on exit) 61 ; also, the answer does not have AA set 62 STEP 6 CHECK_ANSWER 63 ENTRY_BEGIN 64 MATCH all 65 REPLY QR RD RA 66 SECTION QUESTION 67 www.example.com. IN A 68 SECTION ANSWER 69 www.example.com. IN A 10.20.30.40 70 SECTION AUTHORITY 71 www.example.com. IN NS ns.example.com. 72 SECTION ADDITIONAL 73 ns.example.com. IN A 10.20.30.50 74 ENTRY_END 75 76 SCENARIO_END 77