1; This is a comment. 2; config options go here. 3server: 4 serve-expired: yes 5forward-zone: name: "." forward-addr: 216.0.0.1 6CONFIG_END 7 8SCENARIO_BEGIN Zero ttl answer needs to override servfail in cache. 9RANGE_BEGIN 0 100 10 ENTRY_BEGIN 11 MATCH opcode qtype qname 12 ADJUST copy_id 13 REPLY QR RD RA SERVFAIL 14 SECTION QUESTION 15www.example.com. IN A 16 SECTION ANSWER 17 ENTRY_END 18RANGE_END 19RANGE_BEGIN 200 300 20 ENTRY_BEGIN 21 MATCH opcode qtype qname 22 ADJUST copy_id 23 REPLY QR RD RA NOERROR 24 SECTION QUESTION 25www.example.com. IN A 26 SECTION ANSWER 27www.example.com. 0 IN A 10.20.30.40 28 ENTRY_END 29RANGE_END 30 31STEP 1 QUERY 32ENTRY_BEGIN 33REPLY RD 34SECTION QUESTION 35www.example.com. IN A 36ENTRY_END 37 38STEP 10 CHECK_ANSWER 39ENTRY_BEGIN 40MATCH all 41REPLY QR RD RA SERVFAIL 42SECTION QUESTION 43www.example.com. IN A 44SECTION ANSWER 45ENTRY_END 46 47; enough to pass by the TTL of the servfail answer in cache 48STEP 50 TIME_PASSES ELAPSE 40 49 50; this query triggers a prefetch 51STEP 210 QUERY 52ENTRY_BEGIN 53REPLY RD 54SECTION QUESTION 55www.example.com. IN A 56ENTRY_END 57 58STEP 220 CHECK_ANSWER 59ENTRY_BEGIN 60MATCH all 61REPLY QR RD RA SERVFAIL 62SECTION QUESTION 63www.example.com. IN A 64SECTION ANSWER 65ENTRY_END 66 67; this query gets the 0ttl answer 68STEP 230 QUERY 69ENTRY_BEGIN 70REPLY RD 71SECTION QUESTION 72www.example.com. IN A 73ENTRY_END 74 75STEP 240 CHECK_ANSWER 76ENTRY_BEGIN 77MATCH all 78REPLY QR RD RA NOERROR 79SECTION QUESTION 80www.example.com. IN A 81SECTION ANSWER 82www.example.com. 0 IN A 10.20.30.40 83ENTRY_END 84 85SCENARIO_END 86