; config options
server:
	target-fetch-policy: "0 0 0 0 0"
	qname-minimisation: no
	minimal-responses: no
	module-config: "cachedb validator iterator"
	trust-anchor-signaling: no
	verbosity: 4
	ede: yes
	val-log-level: 2
        trust-anchor: "example.nl. DS 50602 8 2 FA8EE175C47325F4BD46D8A4083C3EBEB11C977D689069F2B41F1A29B22446B1"
	

cachedb:
	backend: "testframe"
	secret-seed: "testvalue"

stub-zone:
	name: "example.nl"
	stub-addr: 193.0.14.129
CONFIG_END

SCENARIO_BEGIN Test cachedb support for caching EDEs.

RANGE_BEGIN 0 10
	ADDRESS 193.0.14.129
ENTRY_BEGIN
MATCH opcode qtype qname
ADJUST copy_id
REPLY QR AA NOERROR
SECTION QUESTION
example.nl.	IN	DNSKEY
SECTION ANSWER
ENTRY_END

ENTRY_BEGIN
MATCH opcode qtype qname
ADJUST copy_id
REPLY QR AA NOERROR
SECTION QUESTION
example.nl.	IN	A
SECTION ANSWER
example.nl.	IN	A	1.2.3.4
ENTRY_END
RANGE_END

; get the entry in cache.
STEP 1 QUERY
ENTRY_BEGIN
REPLY RD DO
SECTION QUESTION
example.nl. IN A
SECTION ADDITIONAL
	HEX_EDNSDATA_BEGIN
		FF FE 		; option code = 65534 (LDNS_EDNS_UNBOUND_CACHEDB_TESTFRAME_TEST)
		00 00 		; option length
	HEX_EDNSDATA_END
ENTRY_END

; get the answer for it
STEP 10 CHECK_ANSWER
ENTRY_BEGIN
MATCH all ede=9
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
example.nl. IN A
ENTRY_END

; query again for the cached entry
STEP 20 QUERY
ENTRY_BEGIN
REPLY RD
SECTION QUESTION
example.nl. IN A
SECTION ADDITIONAL
	HEX_EDNSDATA_BEGIN
		FF FE 		; option code = 65534 (LDNS_EDNS_UNBOUND_CACHEDB_TESTFRAME_TEST)
		00 00 		; option length
	HEX_EDNSDATA_END
ENTRY_END

; this must be a cached answer since stub is not answering in this range
STEP 30 CHECK_ANSWER
ENTRY_BEGIN
MATCH all ede=9
REPLY QR RD RA DO SERVFAIL
SECTION QUESTION
example.nl. IN A
ENTRY_END

SCENARIO_END
