$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