mirror of
https://github.com/NLnetLabs/unbound.git
synced 2026-01-17 12:12:55 -05:00
get an extra second. That makes the TTL not 0, since they are from cache and can be cached by the client.
110 lines
2.3 KiB
Text
110 lines
2.3 KiB
Text
; config options
|
|
server:
|
|
module-config: "validator iterator"
|
|
qname-minimisation: "no"
|
|
minimal-responses: no
|
|
serve-expired: yes
|
|
serve-expired-client-timeout: 1
|
|
serve-expired-reply-ttl: 123
|
|
ede: yes
|
|
ede-serve-expired: yes
|
|
|
|
stub-zone:
|
|
name: "example.com"
|
|
stub-addr: 1.2.3.4
|
|
CONFIG_END
|
|
|
|
SCENARIO_BEGIN Test that no prefetch is triggered for 0TTL records with serve-expired and client-timeout enabled
|
|
; Scenario overview:
|
|
; - query for example.com. IN A
|
|
; - check that we get an answer for example.com. IN A with the correct TTL
|
|
; - query again right at the 0TTL cached entry
|
|
; - check that we get the cached answer with no prefetching triggered
|
|
|
|
; ns.example.com.
|
|
RANGE_BEGIN 0 100
|
|
ADDRESS 1.2.3.4
|
|
ENTRY_BEGIN
|
|
MATCH opcode qtype qname
|
|
ADJUST copy_id
|
|
REPLY QR NOERROR
|
|
SECTION QUESTION
|
|
example.com. IN NS
|
|
SECTION ANSWER
|
|
example.com. IN NS ns.example.com.
|
|
SECTION ADDITIONAL
|
|
ns.example.com. IN A 1.2.3.4
|
|
ENTRY_END
|
|
RANGE_END
|
|
|
|
; ns.example.com.
|
|
RANGE_BEGIN 0 10
|
|
ADDRESS 1.2.3.4
|
|
; response to A query
|
|
ENTRY_BEGIN
|
|
MATCH opcode qtype qname
|
|
ADJUST copy_id
|
|
REPLY QR NOERROR
|
|
SECTION QUESTION
|
|
example.com. IN A
|
|
SECTION ANSWER
|
|
example.com. 10 IN A 5.6.7.8
|
|
SECTION AUTHORITY
|
|
example.com. IN NS ns.example.com.
|
|
SECTION ADDITIONAL
|
|
ns.example.com. IN A 1.2.3.4
|
|
ENTRY_END
|
|
RANGE_END
|
|
|
|
; Query with RD flag
|
|
STEP 0 QUERY
|
|
ENTRY_BEGIN
|
|
REPLY RD
|
|
SECTION QUESTION
|
|
example.com. IN A
|
|
ENTRY_END
|
|
|
|
; Check that we got the correct answer (should be cached)
|
|
STEP 1 CHECK_ANSWER
|
|
ENTRY_BEGIN
|
|
MATCH all ttl
|
|
REPLY QR RD RA NOERROR
|
|
SECTION QUESTION
|
|
example.com. IN A
|
|
SECTION ANSWER
|
|
example.com. 10 IN A 5.6.7.8
|
|
SECTION AUTHORITY
|
|
example.com. IN NS ns.example.com.
|
|
SECTION ADDITIONAL
|
|
ns.example.com. IN A 1.2.3.4
|
|
ENTRY_END
|
|
|
|
; Wait for the TTL to expire and produce a 0 TTL cached record.
|
|
STEP 10 TIME_PASSES ELAPSE 10
|
|
|
|
; Query again
|
|
STEP 20 QUERY
|
|
ENTRY_BEGIN
|
|
REPLY RD DO
|
|
SECTION QUESTION
|
|
example.com. IN A
|
|
ENTRY_END
|
|
|
|
; This should come from the cache with no prefetch triggered (earlier bug).
|
|
STEP 21 CHECK_ANSWER
|
|
ENTRY_BEGIN
|
|
MATCH all ttl
|
|
REPLY QR RD RA DO NOERROR
|
|
SECTION QUESTION
|
|
example.com. IN A
|
|
SECTION ANSWER
|
|
example.com. 1 IN A 5.6.7.8
|
|
SECTION AUTHORITY
|
|
example.com. 3591 IN NS ns.example.com.
|
|
SECTION ADDITIONAL
|
|
ns.example.com. 3591 IN A 1.2.3.4
|
|
ENTRY_END
|
|
|
|
; If a prefetch triggers the test will fail with 'messages pending'.
|
|
|
|
SCENARIO_END
|