$TTL 3600
$ORIGIN cname.recursor.engine.xa.

@                       SOA  (
                                   ns1
                                   root
                                   2023113001
                                   86400
                                   14400
                                   3600000
                                   3600
                                 )

@                       NS    ns1
ns1                     A     127.30.1.31
ns1                     AAAA  fda1:b2:c3:0:127:30:1:31

; For scenario GOOD-CNAME-1
good-cname-1                  CNAME good-cname-1-target 
good-cname-1-target           A     127.0.0.1

; For scenario GOOD-CNAME-2
good-cname-2                  CNAME good-cname-2-target
good-cname-2-target           A     127.0.0.1
good-cname-2-target           A     127.0.0.2

; For scenario GOOD-CNAME-CHAIN
good-cname-chain              CNAME good-cname-chain-two
good-cname-chain-two          CNAME good-cname-chain-three
good-cname-chain-three        CNAME good-cname-chain-target
good-cname-chain-target       A     127.0.0.1

; For scenario GOOD-CNAME-OUT-OF-ZONE
good-cname-out-of-zone        CNAME target.goodsub
goodsub                       NS    ns1.goodsub
ns1.goodsub                   A     127.30.1.34
ns1.goodsub                   AAAA  fda1:b2:c3::127:30:1:34

; For scenario NXDOMAIN-VIA-CNAME
nxdomain-via-cname            CNAME nxdomain-via-cname-target

; For scenario NODATA-VIA-CNAME
nodata-via-cname              CNAME nodata-via-cname-target
nodata-via-cname-target       HINFO No-CPU No-OS

; For scenario MULT-CNAME
mult-cname                    CNAME mult-cname-target-1
mult-cname                    CNAME mult-cname-target-2
mult-cname-target-1           A     127.0.0.1
mult-cname-target-2           A     127.0.0.2

; For scenario LOOPED-CNAME-IN-ZONE-1
looped-cname-in-zone-1        CNAME looped-cname-in-zone-1

; For scenario LOOPED-CNAME-IN-ZONE-2
; Defined in the cfg file
; looped-cname-in-zone-2        CNAME looped-cname-in-zone-2-a
; looped-cname-in-zone-2-a      CNAME looped-cname-in-zone-2-b
; looped-cname-in-zone-2-b      CNAME looped-cname-in-zone-2-a

; For scenario LOOPED-CNAME-IN-ZONE-3
looped-cname-in-zone-3        CNAME looped-cname-in-zone-3-next
looped-cname-in-zone-3-next   CNAME looped-cname-in-zone-3

; For scenario LOOPED-CNAME-OUT-OF-ZONE
sub2                          NS    ns1.sub2
ns1.sub2                      A     127.30.1.32
ns1.sub2                      AAAA  fda1:b2:c3:0:127:30:1:32

sub3                          NS    ns1.sub3
ns1.sub3                      A     127.30.1.33
ns1.sub3                      AAAA  fda1:b2:c3:0:127:30:1:33

; For scenario TOO-LONG-CNAME-CHAIN
; Defined in the cfg file
; too-long-cname-chain              CNAME too-long-cname-chain-two
; too-long-cname-chain-two          CNAME too-long-cname-chain-three
; too-long-cname-chain-three        CNAME too-long-cname-chain-four
; too-long-cname-chain-four         CNAME too-long-cname-chain-five
; too-long-cname-chain-five         CNAME too-long-cname-chain-six
; too-long-cname-chain-six          CNAME too-long-cname-chain-seven
; too-long-cname-chain-seven        CNAME too-long-cname-chain-eight
; too-long-cname-chain-eight        CNAME too-long-cname-chain-nine
; too-long-cname-chain-nine         CNAME too-long-cname-chain-ten
; too-long-cname-chain-ten          CNAME too-long-cname-chain-target
; too-long-cname-chain-target       A     127.0.0.1


; For scenario TARGET-NO-MATCH-CNAME
; Also defined in the cfg file
target-no-match-cname         CNAME  target-no-match-cname-two
target-no-match-cname-target  A      127.0.0.1


; For scenario BROKEN-CNAME-CHAIN
; Also defined in the cfg file
broken-cname-chain            CNAME broken-cname-chain-two
broken-cname-chain-three      CNAME broken-cname-chain-target
broken-cname-chain-target     A     127.0.0.1


; For scenario WRONG-CNAME-OWNER-NAME
; Also defined in the cfg file
wrong-cname-owner-name-1       CNAME wrong-cname-owner-name-target
wrong-cname-owner-name-target  A     127.0.0.1


; For scenario EXTRA-CNAME-IN-ANSWER
; Also defined in the cfg file
extra-cname-in-answer         A     127.0.0.1
extra-cname-in-answer-1       CNAME extra-cname-in-answer-2
