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