feat: add full Zonemaster stack with Docker and Spanish UI

- Clone all 5 Zonemaster component repos (LDNS, Engine, CLI, Backend, GUI)
- Dockerfile.backend: 8-stage multi-stage build LDNS→Engine→CLI→Backend
- Dockerfile.gui: Astro static build served via nginx
- docker-compose.yml: backend (internal) + frontend (port 5353)
- nginx.conf: root redirects to /es/, /api/ proxied to backend
- zonemaster-gui/config.ts: defaultLanguage set to 'es' (Spanish)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-21 08:19:24 +02:00
commit 8d4eaa1489
1567 changed files with 204155 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
; $ORIGIN not set.
; This zone file is used by several zones, delegated or undelegated, where
; ns1 and ns2 in-bailiwick name servers are used with default IP addresses.
$TTL 3600
; All names must be relative
@ SOA ns1 admin. (
2025040700 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 A 127.12.2.31
ns1 AAAA fda1:b2:c3:0:127:12:2:31
ns2 A 127.12.2.32
ns2 AAAA fda1:b2:c3:0:127:12:2:32
; EOF

View File

@@ -0,0 +1,26 @@
; $ORIGIN not set.
; This zone file is used by several zones, delegated or undelegated, where
; ns3 and ns4 in-bailiwick name servers are used with default IP addresses.
$TTL 3600
; All names must be relative
@ SOA ns1 admin. (
2025040703 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns3
@ NS ns4
ns3 A 127.12.2.33
ns3 AAAA fda1:b2:c3:0:127:12:2:33
ns4 A 127.12.2.34
ns5 AAAA fda1:b2:c3:0:127:12:2:34
; EOF

View File

@@ -0,0 +1,13 @@
[This directory](.), i.e. the same directory as this README file, holds zone
files and configuration files to implement the test zones for the scenarios
defined in [Basic02 test scenario specification].
For these test zones the following files are found in [This directory](.):
* Zone files for `basic02.xa` and other related zones.
* CoreDNS configuration file
* Zone file and hint file for local root zone.
* Output from `zonemaster-cli` on all test scenarios in
[test-zones-output.md](test-zones-output.md).
[Basic02 test scenario specification]: ../../../docs/public/specifications/test-zones/Basic-TP/basic02.md

View File

@@ -0,0 +1,422 @@
# 127.12.2.0/24 | Basic02 scenarios |
# 127.12.2.21 | ns1.basic02.xa |
# 127.12.2.22 | ns2.basic02.xa |
# 127.12.2.23 | root-ns1.xa |
# 127.12.2.24 | root-ns1.xa |
# 127.12.2.25 | ns1.basic02.xa |
# 127.12.2.26 | ns2.basic02.xa |
# 127.12.2.31 | ns1 child zone |
# 127.12.2.32 | ns2 child zone |
# 127.12.2.33 | ns3 child zone |
# 127.12.2.34 | ns4 child zone |
# 127.12.2.53 | resolver with test case local hint |
## root
.:53 {
bind 127.12.2.23 # ns1
bind fda1:b2:c3:0:127:12:2:23 # ns1
bind 127.12.2.24 # ns2
bind fda1:b2:c3:0:127:12:2:24 # ns2
log
file Basic-TP/basic02/root-zone.zone .
}
# Resolver using test case local root
. {
bind 127.12.2.53
unbound {
option root-hints Basic-TP/basic02/hintfile.zone
}
log
}
basic02.xa:53 {
bind 127.12.2.21 # ns1
bind fda1:b2:c3:0:127:12:2:21 # ns1
bind 127.12.2.22 # ns2
bind fda1:b2:c3:0:127:12:2:22 # ns2
log
file Basic-TP/basic02/basic02.xa.zone basic02.xa
}
basic02.xb:53 { # xb
bind 127.12.2.25 # ns1
bind fda1:b2:c3:0:127:12:2:25 # ns1
bind 127.12.2.26 # ns2
bind fda1:b2:c3:0:127:12:2:26 # ns2
log
file Basic-TP/basic02/basic02.xb.zone basic02.xb
}
### Child zones
good-1.basic02.xa:53 {
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
file Basic-TP/basic02/CHILD-ns1-ns2-IB.basic02.xa.zone good-1.basic02.xa
}
good-2.basic02.xa:53 {
bind 127.12.2.31 # ns1.good-2.basic02.xb.
bind fda1:b2:c3:0:127:12:2:31 # ns1.good-2.basic02.xb.
bind 127.12.2.32 # ns2.good-2.basic02.xb.
bind fda1:b2:c3:0:127:12:2:32 # ns2.good-2.basic02.xb.
log
file Basic-TP/basic02/good-2.basic02.xa.zone good-2.basic02.xa
}
good-undel-1.basic02.xa:53 {
# Undelegated
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
file Basic-TP/basic02/CHILD-ns1-ns2-IB.basic02.xa.zone good-undel-1.basic02.xa
}
good-undel-2.basic02.xa:53 {
# Undelegated
bind 127.12.2.31 # ns1.good-undel-2.basic02.xb.
bind fda1:b2:c3:0:127:12:2:31 # ns1.good-undel-2.basic02.xb.
bind 127.12.2.32 # ns2.good-undel-2.basic02.xb.
bind fda1:b2:c3:0:127:12:2:32 # ns2.good-undel-2.basic02.xb.
log
file Basic-TP/basic02/good-undel-2.basic02.xa.zone good-undel-2.basic02.xa
}
good-undel-3.basic02.xa:53 {
# Delegated
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
acl good-undel-3.basic02.xa {
drop
}
}
good-undel-3.basic02.xa:53 {
# Undelegated
bind 127.12.2.33 # ns3.good-undel-3.basic02.xb.
bind fda1:b2:c3:0:127:12:2:33 # ns3.good-undel-3.basic02.xb.
bind 127.12.2.34 # ns4.good-undel-3.basic02.xb.
bind fda1:b2:c3:0:127:12:2:34 # ns4.good-undel-3.basic02.xb.
log
file Basic-TP/basic02/good-undel-3.basic02.xa.zone good-undel-3.basic02.xa
}
# good-undel-4.basic02.xa, delegated IB without glue
#
good-undel-4.basic02.xa:53 {
# Undelegated
bind 127.12.2.31 # ns1.good-undel-4.basic02.xb.
bind fda1:b2:c3:0:127:12:2:31 # ns1.good-undel-4.basic02.xb.
bind 127.12.2.32 # ns2.good-undel-4.basic02.xb.
bind fda1:b2:c3:0:127:12:2:32 # ns2.good-undel-4.basic02.xb.
log
file Basic-TP/basic02/good-undel-4.basic02.xa.zone good-undel-4.basic02.xa
}
# good-undel-5.basic02.xa, delegated IB without glue
#
good-undel-5.basic02.xa:53 {
# Undelegated
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
file Basic-TP/basic02/CHILD-ns1-ns2-IB.basic02.xa.zone good-undel-5.basic02.xa
}
good-undel-6.basic02.xa:53 {
# Delegated
bind 127.12.2.31 # ns1.good-undel-6.basic02.xb.
bind fda1:b2:c3:0:127:12:2:31 # ns1.good-undel-6.basic02.xb.
bind 127.12.2.32 # ns2.good-undel-6.basic02.xb.
bind fda1:b2:c3:0:127:12:2:32 # ns2.good-undel-6.basic02.xb.
log
acl good-undel-6.basic02.xa {
drop
}
}
good-undel-6.basic02.xa:53 {
# Undelegated
bind 127.12.2.33 # ns3
bind fda1:b2:c3:0:127:12:2:33 # ns3
bind 127.12.2.34 # ns4
bind fda1:b2:c3:0:127:12:2:34 # ns4
log
file Basic-TP/basic02/CHILD-ns3-ns4-IB.basic02.xa.zone good-undel-6.basic02.xa
}
# good-undel-7.basic02.xa, delegated OOB with no address records
#
good-undel-7.basic02.xa:53 {
# Undelegated
bind 127.12.2.33 # ns3.good-undel-7.basic02.xb
bind fda1:b2:c3:0:127:12:2:33 # ns3.good-undel-7.basic02.xb
bind 127.12.2.34 # ns4.good-undel-7.basic02.xb
bind fda1:b2:c3:0:127:12:2:34 # ns4.good-undel-7.basic02.xb
log
file Basic-TP/basic02/good-undel-7.basic02.xa.zone good-undel-7.basic02.xa
}
good-undel-8.basic02.xa:53 {
# Delegated
bind 127.12.2.31 # dns1, IP of ns1
bind fda1:b2:c3:0:127:12:2:31 # dns1, IP of ns1
bind 127.12.2.32 # dns2, IP of ns2
bind fda1:b2:c3:0:127:12:2:32 # dns2, IP of ns2
log
acl good-undel-8.basic02.xa {
drop
}
}
good-undel-8.basic02.xa:53 {
# Undelegated
bind 127.12.2.33 # dns1, IP of ns3
bind fda1:b2:c3:0:127:12:2:33 # dns1, IP of ns3
bind 127.12.2.34 # dns2, IP of ns4
bind fda1:b2:c3:0:127:12:2:34 # dns2, IP of ns4
log
file Basic-TP/basic02/good-undel-8.basic02.xa.zone good-undel-8.basic02.xa
}
good-undel-9.basic02.xa:53 {
# Delegated
bind 127.12.2.31 # dns1.good-undel-9.basic02.xb, IP of ns1
bind fda1:b2:c3:0:127:12:2:31 # dns1.good-undel-9.basic02.xb, IP of ns1
bind 127.12.2.32 # dns2.good-undel-9.basic02.xb, IP of ns2
bind fda1:b2:c3:0:127:12:2:32 # dns2.good-undel-9.basic02.xb, IP of ns2
log
acl good-undel-9.basic02.xa {
drop
}
}
good-undel-9.basic02.xa:53 {
# Undelegated
bind 127.12.2.33 # dns1.good-undel-9.basic02.xb, IP of ns3
bind fda1:b2:c3:0:127:12:2:33 # dns1.good-undel-9.basic02.xb, IP of ns3
bind 127.12.2.34 # dns2.good-undel-9.basic02.xb, IP of ns4
bind fda1:b2:c3:0:127:12:2:34 # dns2.good-undel-9.basic02.xb, IP of ns4
log
file Basic-TP/basic02/good-undel-9.basic02.xa.zone good-undel-9.basic02.xa
}
# no-delegation.basic02.xa, not delegated and no zone exists
good-undel-10.basic02.xa:53 {
# Delegated
bind 127.12.2.31 # ns1.good-undel-10.basic02.xb.
bind fda1:b2:c3:0:127:12:2:31 # ns1.good-undel-10.basic02.xb.
log
template IN ANY good-undel-10.basic02.xa {
rcode SERVFAIL
}
}
good-undel-10.basic02.xa:53 {
# Delegated
bind 127.12.2.32 # ns2.good-undel-10.basic02.xb.
bind fda1:b2:c3:0:127:12:2:32 # ns2.good-undel-10.basic02.xb.
log
template IN ANY good-undel-10.basic02.xa {
rcode REFUSED
}
header {
response clear aa
}
}
good-undel-10.basic02.xa:53 {
# Undelegated
bind 127.12.2.33 # ns3.good-undel-10.basic02.xb
bind fda1:b2:c3:0:127:12:2:33 # ns3.good-undel-10.basic02.xb
bind 127.12.2.34 # ns4.good-undel-10.basic02.xb
bind fda1:b2:c3:0:127:12:2:34 # ns4.good-undel-10.basic02.xb
log
file Basic-TP/basic02/good-undel-10.basic02.xa.zone good-undel-10.basic02.xa
}
# good-undel-11.basic02.xa, delegated, cannot be reached.
delegated.good-undel-11.basic02.xb:53 {
# Zone to "hide" the resolution of the NS for the delegated zone
bind 127.12.2.31 # dns1
bind fda1:b2:c3:0:127:12:2:31 # dns1
bind 127.12.2.32 # dns2
bind fda1:b2:c3:0:127:12:2:32 # dns2
log
acl delegated.good-undel-11.basic02.xb {
drop
}
}
good-undel-11.basic02.xa:53 {
# Undelegated
bind 127.12.2.33 # ns3.good-undel-11.basic02.xb
bind fda1:b2:c3:0:127:12:2:33 # ns3.good-undel-11.basic02.xb
bind 127.12.2.34 # ns4.good-undel-11.basic02.xb
bind fda1:b2:c3:0:127:12:2:34 # ns4.good-undel-11.basic02.xb
log
file Basic-TP/basic02/good-undel-11.basic02.xa.zone good-undel-11.basic02.xa
}
mixed-1.basic02.xa:53 {
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
log
file Basic-TP/basic02/mixed-1.basic02.xa.zone mixed-1.basic02.xa
}
mixed-1.basic02.xa:53 {
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
acl mixed-1..basic02.xb {
drop
}
}
mixed-1.basic02.xa:53 {
bind 127.12.2.33 # ns3
bind fda1:b2:c3:0:127:12:2:33 # ns3
log
template IN ANY mixed-1.basic02.xb {
rcode SERVFAIL
}
}
mixed-1.basic02.xa:53 {
bind 127.12.2.34 # ns4
bind fda1:b2:c3:0:127:12:2:34 # ns4
log
file Basic-TP/basic02/mixed-1.basic02.xa.zone mixed-1.basic02.xa
header {
response clear aa
}
}
ns-broken-1.basic02.xa:53 {
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
template IN ANY ns-broken-1.basic02.xa {
authority "ns-broken-1.basic02.xa. 3600 IN NS ns1.ns-broken-1.basic02.xa."
authority "ns-broken-1.basic02.xa. 3600 IN NS ns2.ns-broken-1.basic02.xa."
additional "ns1.ns-broken-1.basic02.xa 3600 IN A 127.12.2.31"
additional "ns1.ns-broken-1.basic02.xa 3600 IN AAAA fda1:b2:c3:0:127:12:2:31"
additional "ns2.ns-broken-1.basic02.xa 3600 IN A 127.12.2.32"
additional "ns2.ns-broken-1.basic02.xa 3600 IN AAAA fda1:b2:c3:0:127:12:2:32"
}
header {
response set aa
}
}
ns-not-auth-1.basic02.xa:53 {
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
file Basic-TP/basic02/CHILD-ns1-ns2-IB.basic02.xa.zone ns-not-auth-1.basic02.xa
header {
response clear aa
}
}
# ns-no-ip-1.basic02.xa, IB NS, no glue, no zone
# ns-no-ip-2.basic02.xa, OOB NS, no IP for NS, no zone
# ns-no-ip-3.basic02.xa. OOB NS, no NS names, no zone
ns-no-ip-undel-1.basic02.xa:53 {
# Delegated
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
file Basic-TP/basic02/CHILD-ns1-ns2-IB.basic02.xa.zone ns-no-ip-undel-1.basic02.xa
}
# Undelegated IB NS without glue, no zone
ns-no-ip-undel-2.basic02.xa:53 {
# Delegated
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
file Basic-TP/basic02/CHILD-ns1-ns2-IB.basic02.xa.zone ns-no-ip-undel-2.basic02.xa
}
# Undelegated OOB NS without glue, no zone
ns-no-response-1.basic02.xa:53 {
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
acl ns-no-response-1.basic02.xa {
drop
}
}
unexpected-rcode-1.basic02.xa:53 {
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
log
template IN ANY unexpected-rcode-1.basic02.xa {
authority "basic02.xa. SOA ns1.basic.xa. admin. 2025040906 6h 1h 1w 1d"
rcode NXDOMAIN
}
}
unexpected-rcode-1.basic02.xa:53 {
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
template IN ANY unexpected-rcode-1.basic02.xa {
rcode REFUSED
}
header {
response clear aa
}
}
unexpected-rcode-1.basic02.xa:53 {
bind 127.12.2.33 # ns3
bind fda1:b2:c3:0:127:12:2:33 # ns3
log
template IN ANY unexpected-rcode-1.basic02.xa {
rcode SERVFAIL
}
}

View File

@@ -0,0 +1,159 @@
$ORIGIN basic02.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2025041102 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 A 127.12.2.21
ns1 AAAA fda1:b2:c3:0:127:12:2:21
ns2 A 127.12.2.22
ns2 AAAA fda1:b2:c3:0:127:12:2:22
$ORIGIN good-1.basic02.xa.
@ NS ns1
@ NS ns2
ns1 A 127.12.2.31
ns1 AAAA fda1:b2:c3:0:127:12:2:31
ns2 A 127.12.2.32
ns2 AAAA fda1:b2:c3:0:127:12:2:32
$ORIGIN good-2.basic02.xa.
@ NS ns1.good-2.basic02.xb.
@ NS ns2.good-2.basic02.xb.
; good-undel-1.basic02.xa, not delegated
; good-undel-2.basic02.xa, not delegated
$ORIGIN good-undel-3.basic02.xa.
@ NS ns1
@ NS ns2
ns1 A 127.12.2.31
ns1 AAAA fda1:b2:c3:0:127:12:2:31
ns2 A 127.12.2.32
ns2 AAAA fda1:b2:c3:0:127:12:2:32
$ORIGIN good-undel-4.basic02.xa.
@ NS ns1
@ NS ns2
$ORIGIN good-undel-5.basic02.xa.
@ NS ns1
@ NS ns2
$ORIGIN good-undel-6.basic02.xa.
@ NS ns1.good-undel-6.basic02.xb.
@ NS ns2.good-undel-6.basic02.xb.
$ORIGIN good-undel-7.basic02.xa.
@ NS ns1.good-undel-7.basic02.xb.
@ NS ns2.good-undel-7.basic02.xb.
$ORIGIN good-undel-8.basic02.xa.
@ NS dns1
@ NS dns2
dns1 A 127.12.2.31
dns1 AAAA fda1:b2:c3:0:127:12:2:31
dns2 A 127.12.2.32
dns2 AAAA fda1:b2:c3:0:127:12:2:32
$ORIGIN good-undel-9.basic02.xa.
@ NS dns1.good-undel-9.basic02.xb.
@ NS dns2.good-undel-9.basic02.xb.
$ORIGIN good-undel-10.basic02.xa.
@ NS ns1.good-undel-10.basic02.xb.
@ NS ns2.good-undel-10.basic02.xb.
$ORIGIN good-undel-11.basic02.xa.
@ NS ns1.delegated.good-undel-11.basic02.xb.
@ NS ns2.delegated.good-undel-11.basic02.xb.
; no-delegation.basic02.xa, not delegated
$ORIGIN mixed-1.basic02.xa.
@ NS ns1
@ NS ns2
@ NS ns3
@ NS ns4
ns1 A 127.12.2.31
ns1 AAAA fda1:b2:c3:0:127:12:2:31
ns2 A 127.12.2.32
ns2 AAAA fda1:b2:c3:0:127:12:2:32
ns3 A 127.12.2.33
ns3 AAAA fda1:b2:c3:0:127:12:2:33
ns4 A 127.12.2.34
ns4 AAAA fda1:b2:c3:0:127:12:2:34
$ORIGIN ns-broken-1.basic02.xa.
@ NS ns1
@ NS ns2
ns1 A 127.12.2.31
ns1 AAAA fda1:b2:c3:0:127:12:2:31
ns2 A 127.12.2.32
ns2 AAAA fda1:b2:c3:0:127:12:2:32
$ORIGIN ns-not-auth-1.basic02.xa.
@ NS ns1
@ NS ns2
ns1 A 127.12.2.31
ns1 AAAA fda1:b2:c3:0:127:12:2:31
ns2 A 127.12.2.32
ns2 AAAA fda1:b2:c3:0:127:12:2:32
$ORIGIN ns-no-ip-1.basic02.xa.
@ NS ns1
@ NS ns2
$ORIGIN ns-no-ip-2.basic02.xa.
@ NS ns1.ns-no-ip-2.basic02.xb.
@ NS ns2.ns-no-ip-2.basic02.xb.
$ORIGIN ns-no-ip-3.basic02.xa.
@ NS ns1.ns-no-ip-3.basic02.xb.
@ NS ns2.ns-no-ip-3.basic02.xb.
$ORIGIN ns-no-ip-undel-1.basic02.xa.
@ NS ns1
@ NS ns2
ns1 A 127.12.2.31
ns1 AAAA fda1:b2:c3:0:127:12:2:31
ns2 A 127.12.2.32
ns2 AAAA fda1:b2:c3:0:127:12:2:32
$ORIGIN ns-no-ip-undel-2.basic02.xa.
@ NS ns1
@ NS ns2
ns1 A 127.12.2.31
ns1 AAAA fda1:b2:c3:0:127:12:2:31
ns2 A 127.12.2.32
ns2 AAAA fda1:b2:c3:0:127:12:2:32
$ORIGIN ns-no-response-1.basic02.xa.
@ NS ns1
@ NS ns2
ns1 A 127.12.2.31
ns1 AAAA fda1:b2:c3:0:127:12:2:31
ns2 A 127.12.2.32
ns2 AAAA fda1:b2:c3:0:127:12:2:32
$ORIGIN unexpected-rcode-1.basic02.xa.
@ NS ns1
@ NS ns2
@ NS ns3
ns1 A 127.12.2.31
ns1 AAAA fda1:b2:c3:0:127:12:2:31
ns2 A 127.12.2.32
ns2 AAAA fda1:b2:c3:0:127:12:2:32
ns3 A 127.12.2.33
ns3 AAAA fda1:b2:c3:0:127:12:2:33

View File

@@ -0,0 +1,84 @@
$ORIGIN basic02.xb. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2025041103 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 A 127.12.2.25
ns1 AAAA fda1:b2:c3:0:127:12:2:25
ns2 A 127.12.2.26
ns2 AAAA fda1:b2:c3:0:127:12:2:26
; Name servers for basic02.xa child zones.
ns1.good-2 A 127.12.2.31
ns1.good-2 AAAA fda1:b2:c3:0:127:12:2:31
ns2.good-2 A 127.12.2.32
ns2.good-2 AAAA fda1:b2:c3:0:127:12:2:32
ns1.good-undel-2 A 127.12.2.31
ns1.good-undel-2 AAAA fda1:b2:c3:0:127:12:2:31
ns2.good-undel-2 A 127.12.2.32
ns2.good-undel-2 AAAA fda1:b2:c3:0:127:12:2:32
ns3.good-undel-3 A 127.12.2.33
ns3.good-undel-3 AAAA fda1:b2:c3:0:127:12:2:33
ns4.good-undel-3 A 127.12.2.34
ns4.good-undel-3 AAAA fda1:b2:c3:0:127:12:2:34
ns1.good-undel-4 A 127.12.2.31
ns1.good-undel-4 AAAA fda1:b2:c3:0:127:12:2:31
ns2.good-undel-4 A 127.12.2.32
ns2.good-undel-4 AAAA fda1:b2:c3:0:127:12:2:32
ns1.good-undel-6 A 127.12.2.31
ns1.good-undel-6 AAAA fda1:b2:c3:0:127:12:2:31
ns2.good-undel-6 A 127.12.2.32
ns2.good-undel-6 AAAA fda1:b2:c3:0:127:12:2:32
ns1.good-undel-7 TXT "No address records"
ns2.good-undel-7 TXT "No address records"
dns1.good-undel-9 A 127.12.2.31
dns1.good-undel-9 AAAA fda1:b2:c3:0:127:12:2:31
dns2.good-undel-9 A 127.12.2.32
dns2.good-undel-9 AAAA fda1:b2:c3:0:127:12:2:32
ns1.good-undel-10 A 127.12.2.31
ns1.good-undel-10 AAAA fda1:b2:c3:0:127:12:2:31
ns2.good-undel-10 A 127.12.2.32
ns2.good-undel-10 AAAA fda1:b2:c3:0:127:12:2:32
ns3.good-undel-10 A 127.12.2.33
ns3.good-undel-10 AAAA fda1:b2:c3:0:127:12:2:33
ns4.good-undel-10 A 127.12.2.34
ns4.good-undel-10 AAAA fda1:b2:c3:0:127:12:2:34
ns3.good-undel-11 A 127.12.2.33
ns3.good-undel-11 AAAA fda1:b2:c3:0:127:12:2:33
ns4.good-undel-11 A 127.12.2.34
ns4.good-undel-11 AAAA fda1:b2:c3:0:127:12:2:34
; good-undel-11, also see below
ns1.ns-no-ip-2 TXT "No address records"
ns2.ns-no-ip-2 TXT "No address records"
ns1.ns-no-ip-undel-2 TXT "No address records"
ns2.ns-no-ip-undel-2 TXT "No address records"
$ORIGIN delegated.good-undel-11.basic02.xb.
@ NS dns1
@ NS dns2
dns1 A 127.12.2.31
dns1 AAAA fda1:b2:c3:0:127:12:2:31
dns2 A 127.12.2.32
dns2 AAAA fda1:b2:c3:0:127:12:2:32

View File

@@ -0,0 +1,16 @@
$ORIGIN good-2.basic02.xa.
$TTL 3600
@ SOA ns1 admin. (
2025040702 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1.good-2.basic02.xb.
@ NS ns2.good-2.basic02.xb.
; EOF

View File

@@ -0,0 +1,16 @@
$ORIGIN good-undel-10.basic02.xa.
$TTL 3600
; All names must be relative
@ SOA ns1 admin. (
2025041101 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns3.good-undel-10.basic02.xb.
@ NS ns4.good-undel-10.basic02.xb.
; EOF

View File

@@ -0,0 +1,16 @@
$ORIGIN good-undel-11.basic02.xa.
$TTL 3600
; All names must be relative
@ SOA ns1 admin. (
2025041103 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns3.good-undel-11.basic02.xb.
@ NS ns4.good-undel-11.basic02.xb.
; EOF

View File

@@ -0,0 +1,16 @@
$ORIGIN good-undel-2.basic02.xa.
$TTL 3600
@ SOA ns1 admin. (
2025040703 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1.good-undel-2.basic02.xb.
@ NS ns2.good-undel-2.basic02.xb.
; EOF

View File

@@ -0,0 +1,16 @@
$ORIGIN good-undel-3.basic02.xa.
$TTL 3600
@ SOA ns1 admin. (
2025040705 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns3.good-undel-3.basic02.xb.
@ NS ns4.good-undel-3.basic02.xb.
; EOF

View File

@@ -0,0 +1,16 @@
$ORIGIN good-undel-4.basic02.xa.
$TTL 3600
@ SOA ns1 admin. (
2025051500 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1.good-undel-4.basic02.xb.
@ NS ns2.good-undel-4.basic02.xb.
; EOF

View File

@@ -0,0 +1,16 @@
$ORIGIN good-undel-7.basic02.xa.
$TTL 3600
@ SOA ns3.good-undel-7.basic02.xb. admin. (
2025042501 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns3.good-undel-7.basic02.xb.
@ NS ns4.good-undel-7.basic02.xb.
; EOF

View File

@@ -0,0 +1,25 @@
$ORIGIN good-undel-8.basic02.xa.
$TTL 3600
; All names must be relative
@ SOA ns1 admin. (
2025040800 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS dns1
@ NS dns2
; Using ns3 and ns4 addresses for dns1 and dns2
dns1 A 127.12.2.33
dns1 AAAA fda1:b2:c3:0:127:12:2:33
dns2 A 127.12.2.34
dns2 AAAA fda1:b2:c3:0:127:12:2:34
; EOF

View File

@@ -0,0 +1,16 @@
$ORIGIN good-undel-9.basic02.xa.
$TTL 3600
; All names must be relative
@ SOA ns1 admin. (
2025040802 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS dns1.good-undel-9.basic02.xb.
@ NS dns2.good-undel-9.basic02.xb.
; EOF

View File

@@ -0,0 +1,8 @@
; Hint file for Basic02 local root
. 3600 NS root-ns1.xa.
. 3600 NS root-ns2.xa.
root-ns1.xa. 3600 A 127.12.2.23
root-ns1.xa. 3600 AAAA fda1:b2:c3::127:12:2:23
root-ns2.xa. 3600 A 127.12.2.24
root-ns2.xa. 3600 AAAA fda1:b2:c3::127:12:2:24

View File

@@ -0,0 +1,29 @@
$ORIGIN mixed-1.basic02.xa.
$TTL 3600
; All names must be relative
@ SOA ns1 admin. (
2025041101 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
@ NS ns3
@ NS ns4
ns1 A 127.12.2.31
ns1 AAAA fda1:b2:c3:0:127:12:2:31
ns2 A 127.12.2.32
ns2 AAAA fda1:b2:c3:0:127:12:2:32
ns3 A 127.12.2.33
ns3 AAAA fda1:b2:c3:0:127:12:2:33
ns4 A 127.12.2.34
ns5 AAAA fda1:b2:c3:0:127:12:2:34
; EOF

View File

@@ -0,0 +1,43 @@
; Root zone for Basic02 test zones
$ORIGIN .
$TTL 3600
@ SOA ns1. admin.xa. (
2025040400 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
NS root-ns1.xa.
NS root-ns2.xa.
root-ns1.xa. A 127.12.2.23
root-ns1.xa. AAAA fda1:b2:c3::127:12:2:23
root-ns2.xa. A 127.12.2.24
root-ns2.xa. AAAA fda1:b2:c3::127:12:2:24
$ORIGIN basic02.xa.
@ NS ns1
@ NS ns2
ns1 A 127.12.2.21
ns1 AAAA fda1:b2:c3::127:12:2:21
ns2 A 127.12.2.22
ns1 AAAA fda1:b2:c3::127:12:2:22
$ORIGIN basic02.xb.
@ NS ns1
@ NS ns2
ns1 A 127.12.2.25
ns1 AAAA fda1:b2:c3::127:12:2:25
ns2 A 127.12.2.26
ns1 AAAA fda1:b2:c3::127:12:2:26
;EOF

View File

@@ -0,0 +1,463 @@
# Basic02 Test Zones Output
# Table of contents
* [Introduction](#introduction)
* [All message tags](#all-message-tags)
* [All scenarios](#all-scenarios)
* [zonemaster-cli commands and their output for each test scenario](#zonemaster-cli-commands-and-their-output-for-each-test-scenario)
## Introduction
In this file the output of running `zonemaster-cli` for every test zone is
found. This file is created during the development of the test zones and should
be updated as the implementation of the test case or the test scenarios or test
zones are updated or corrected.
During development and any update this document serves as tracking and log tool.
It also serves as a template for future development of test zones for
scenarios for other test cases.
## All message tags
* B02_AUTH_RESPONSE_SOA
* B02_NO_DELEGATION
* B02_NO_WORKING_NS
* B02_NS_BROKEN
* B02_NS_NOT_AUTH
* B02_NS_NO_IP_ADDR
* B02_NS_NO_RESPONSE
* B02_UNEXPECTED_RCODE
## All scenarios
Scenario name | Zone name
:----------------------|:---------------------------------------------
GOOD-1 | good-1.basic02.xa
GOOD-2 | good-1.basic02.xa
GOOD-UNDEL-1 | good-undel-1.basic02.xa
GOOD-UNDEL-2 | good-undel-2.basic02.xa
GOOD-UNDEL-3 | good-undel-3.basic02.xa
GOOD-UNDEL-4 | good-undel-4.basic02.xa
GOOD-UNDEL-5 | good-undel-5.basic02.xa
GOOD-UNDEL-6 | good-undel-6.basic02.xa
GOOD-UNDEL-7 | good-undel-7.basic02.xa
GOOD-UNDEL-8 | good-undel-8.basic02.xa
GOOD-UNDEL-9 | good-undel-9.basic02.xa
GOOD-UNDEL-10 | good-undel-10.basic02.xa
GOOD-UNDEL-11 | good-undel-11.basic02.xa
MIXED-1 | mixed-1.basic02.xa
NO-DELEGATION-1 | no-delegation.basic02.xa
NS-BROKEN-1 | ns-broken-1.basic02.xa
NS-NOT-AUTH-1 | ns-not-auth-1.basic02.xa
NS-NO-IP-1 | ns-no-ip-1.basic02.xa
NS-NO-IP-2 | ns-no-ip-2.basic02.xa
NS-NO-IP-3 | ns-no-ip-3.basic02.xa
NS-NO-IP-UNDEL-1 | ns-no-ip-undel-1.basic02.xa
NS-NO-IP-UNDEL-2 | ns-no-ip-undel-2.basic02.xa
NS-NO-RESPONSE-1 | ns-no-response-1.basic02.xa
UNEXPECTED-RCODE-1 | unexpected-rcode-1.basic02.xa
## zonemaster-cli commands and their output for each test scenario
For this test case it is only meaningful to test the test zones with `--level=info
--test=basic02`.
The test zones for these scenarios have a dedicated root zone, which means that
the hint files in the commands below must be used.
All commands are run from the same directory as this file is in.
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
GOOD-1 | B02_AUTH_RESPONSE_SOA | 2)
* (2) All tags except for those specified as "Mandatory message tags"
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw good-1.basic02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.04 INFO Basic02 B02_AUTH_RESPONSE_SOA domain="good-1.basic02.xa"; ns_list=ns1.good-1.basic02.xa/127.12.2.31;ns1.good-1.basic02.xa/fda1:b2:c3:0:127:12:2:31;ns2.good-1.basic02.xa/127.12.2.32;ns2.good-1.basic02.xa/fda1:b2:c3:0:127:12:2:32
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
GOOD-2 | B02_AUTH_RESPONSE_SOA | 2)
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw good-2.basic02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.05 INFO Basic02 B02_AUTH_RESPONSE_SOA domain="good-2.basic02.xa"; ns_list=ns1.good-2.basic02.xb/127.12.2.31;ns1.good-2.basic02.xb/fda1:b2:c3:0:127:12:2:31;ns2.good-2.basic02.xb/127.12.2.32;ns2.good-2.basic02.xb/fda1:b2:c3:0:127:12:2:32
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
GOOD-UNDEL-1 | B02_AUTH_RESPONSE_SOA | 2)
* Undelegated data:
* ns1.good-undel-1.basic02.xa/127.12.2.31
* ns1.good-undel-1.basic02.xa/fda1:b2:c3:0:127:12:2:31
* ns2.good-undel-1.basic02.xa/127.12.2.32
* ns2.good-undel-1.basic02.xa/fda1:b2:c3:0:127:12:2:32
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw good-undel-1.basic02.xa --ns ns1.good-undel-1.basic02.xa/127.12.2.31 --ns ns1.good-undel-1.basic02.xa/fda1:b2:c3:0:127:12:2:31 --ns ns2.good-undel-1.basic02.xa/127.12.2.32 --ns ns2.good-undel-1.basic02.xa/fda1:b2:c3:0:127:12:2:32
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.02 INFO Basic02 B02_AUTH_RESPONSE_SOA domain="good-undel-1.basic02.xa"; ns_list=ns1.good-undel-1.basic02.xa/127.12.2.31;ns1.good-undel-1.basic02.xa/fda1:b2:c3:0:127:12:2:31;ns2.good-undel-1.basic02.xa/127.12.2.32;ns2.good-undel-1.basic02.xa/fda1:b2:c3:0:127:12:2:32
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
GOOD-UNDEL-2 | B02_AUTH_RESPONSE_SOA | 2)
* Undelegated data:
* ns1.good-undel-2.basic02.xb
* ns2.good-undel-2.basic02.xb
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw good-undel-2.basic02.xa --ns ns1.good-undel-2.basic02.xb --ns ns2.good-undel-2.basic02.xb
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.02 INFO Basic02 B02_AUTH_RESPONSE_SOA domain="good-undel-2.basic02.xa"; ns_list=ns1.good-undel-2.basic02.xb/127.12.2.31;ns1.good-undel-2.basic02.xb/fda1:b2:c3:0:127:12:2:31;ns2.good-undel-2.basic02.xb/127.12.2.32;ns2.good-undel-2.basic02.xb/fda1:b2:c3:0:127:12:2:32
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
GOOD-UNDEL-3 | B02_AUTH_RESPONSE_SOA | 2)
* Undelegated data:
* ns3.good-undel-3.basic02.xb
* ns4.good-undel-3.basic02.xb
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw good-undel-3.basic02.xa --ns ns3.good-undel-3.basic02.xb --ns ns4.good-undel-3.basic02.xb
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.02 INFO Basic02 B02_AUTH_RESPONSE_SOA domain="good-undel-3.basic02.xa"; ns_list=ns3.good-undel-3.basic02.xb/127.12.2.33;ns3.good-undel-3.basic02.xb/fda1:b2:c3:0:127:12:2:33;ns4.good-undel-3.basic02.xb/127.12.2.34;ns4.good-undel-3.basic02.xb/fda1:b2:c3:0:127:12:2:34
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
GOOD-UNDEL-4 | B02_AUTH_RESPONSE_SOA | 2)
* Undelegated data:
* ns1.good-undel-4.basic02.xb
* ns2.good-undel-4.basic02.xb
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw good-undel-4.basic02.xa --ns ns1.good-undel-4.basic02.xb --ns ns2.good-undel-4.basic02.xb
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.03 INFO Basic02 B02_AUTH_RESPONSE_SOA domain="good-undel-4.basic02.xa"; ns_list=ns1.good-undel-4.basic02.xb/127.12.2.31;ns1.good-undel-4.basic02.xb/fda1:b2:c3:0:127:12:2:31;ns2.good-undel-4.basic02.xb/127.12.2.32;ns2.good-undel-4.basic02.xb/fda1:b2:c3:0:127:12:2:32
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
GOOD-UNDEL-5 | B02_AUTH_RESPONSE_SOA | 2)
* Undelegated data:
* ns1.good-undel-5.basic02.xa/127.12.2.31
* ns1.good-undel-5.basic02.xa/fda1:b2:c3:0:127:12:2:31
* ns2.good-undel-5.basic02.xa/127.12.2.32
* ns2.good-undel-5.basic02.xa/fda1:b2:c3:0:127:12:2:32
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw good-undel-5.basic02.xa --ns ns1.good-undel-5.basic02.xa/127.12.2.31 --ns ns1.good-undel-5.basic02.xa/fda1:b2:c3:0:127:12:2:31 --ns ns2.good-undel-5.basic02.xa/127.12.2.32 --ns ns2.good-undel-5.basic02.xa/fda1:b2:c3:0:127:12:2:32
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.02 INFO Basic02 B02_AUTH_RESPONSE_SOA domain="good-undel-5.basic02.xa"; ns_list=ns1.good-undel-5.basic02.xa/127.12.2.31;ns1.good-undel-5.basic02.xa/fda1:b2:c3:0:127:12:2:31;ns2.good-undel-5.basic02.xa/127.12.2.32;ns2.good-undel-5.basic02.xa/fda1:b2:c3:0:127:12:2:32
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
GOOD-UNDEL-6 | B02_AUTH_RESPONSE_SOA | 2)
* Undelegated data:
* ns3.good-undel-6.basic02.xa/127.12.2.33
* ns3.good-undel-6.basic02.xa/fda1:b2:c3:0:127:12:2:33
* ns4.good-undel-6.basic02.xa/127.12.2.34
* ns4.good-undel-6.basic02.xa/fda1:b2:c3:0:127:12:2:34
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw good-undel-6.basic02.xa --ns ns3.good-undel-6.basic02.xa/127.12.2.33 --ns ns3.good-undel-6.basic02.xa/fda1:b2:c3:0:127:12:2:33 --ns ns4.good-undel-6.basic02.xa/127.12.2.34 --ns ns4.good-undel-6.basic02.xa/fda1:b2:c3:0:127:12:2:34
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.03 INFO Basic02 B02_AUTH_RESPONSE_SOA domain="good-undel-6.basic02.xa"; ns_list=ns3.good-undel-6.basic02.xa/127.12.2.33;ns3.good-undel-6.basic02.xa/fda1:b2:c3:0:127:12:2:33;ns4.good-undel-6.basic02.xa/127.12.2.34;ns4.good-undel-6.basic02.xa/fda1:b2:c3:0:127:12:2:34
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
GOOD-UNDEL-7 | B02_AUTH_RESPONSE_SOA | 2)
* Undelegated data:
* ns3.good-undel-7.basic02.xb/127.12.2.33
* ns3.good-undel-7.basic02.xb/fda1:b2:c3:0:127:12:2:33
* ns4.good-undel-7.basic02.xb/127.12.2.34
* ns5.good-undel-7.basic02.xb/fda1:b2:c3:0:127:12:2:34
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw good-undel-7.basic02.xa --ns ns3.good-undel-7.basic02.xb/127.12.2.33 --ns ns3.good-undel-7.basic02.xb/fda1:b2:c3:0:127:12:2:33 --ns ns4.good-undel-7.basic02.xb/127.12.2.34 --ns ns5.good-undel-7.basic02.xb/fda1:b2:c3:0:127:12:2:34
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.02 INFO Basic02 B02_AUTH_RESPONSE_SOA domain="good-undel-7.basic02.xa"; ns_list=ns3.good-undel-7.basic02.xb/127.12.2.33;ns3.good-undel-7.basic02.xb/fda1:b2:c3:0:127:12:2:33;ns4.good-undel-7.basic02.xb/127.12.2.34;ns5.good-undel-7.basic02.xb/fda1:b2:c3:0:127:12:2:34
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
GOOD-UNDEL-8 | B02_AUTH_RESPONSE_SOA | 2)
* Undelegated data:
* dns1.good-undel-8.basic02.xa/127.12.2.33
* dns1.good-undel-8.basic02.xa/fda1:b2:c3:0:127:12:2:33
* dns2.good-undel-8.basic02.xa/127.12.2.34
* dns2.good-undel-8.basic02.xa/fda1:b2:c3:0:127:12:2:34
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw good-undel-8.basic02.xa --ns dns1.good-undel-8.basic02.xa/127.12.2.33 --ns dns1.good-undel-8.basic02.xa/fda1:b2:c3:0:127:12:2:33 --ns dns2.good-undel-8.basic02.xa/127.12.2.34 --ns dns2.good-undel-8.basic02.xa/fda1:b2:c3:0:127:12:2:34
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.02 INFO Basic02 B02_AUTH_RESPONSE_SOA domain="good-undel-8.basic02.xa"; ns_list=dns1.good-undel-8.basic02.xa/127.12.2.33;dns1.good-undel-8.basic02.xa/fda1:b2:c3:0:127:12:2:33;dns2.good-undel-8.basic02.xa/127.12.2.34;dns2.good-undel-8.basic02.xa/fda1:b2:c3:0:127:12:2:34
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
GOOD-UNDEL-9 | B02_AUTH_RESPONSE_SOA | 2)
* Undelegated data:
* dns1.good-undel-9.basic02.xb/127.12.2.33
* dns1.good-undel-9.basic02.xb/fda1:b2:c3:0:127:12:2:33
* dns2.good-undel-9.basic02.xb/127.12.2.34
* dns2.good-undel-9.basic02.xb/fda1:b2:c3:0:127:12:2:34
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw good-undel-9.basic02.xa --ns dns1.good-undel-9.basic02.xb/127.12.2.33 --ns dns1.good-undel-9.basic02.xb/fda1:b2:c3:0:127:12:2:33 --ns dns2.good-undel-9.basic02.xb/127.12.2.34 --ns dns2.good-undel-9.basic02.xb/fda1:b2:c3:0:127:12:2:34
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.03 INFO Basic02 B02_AUTH_RESPONSE_SOA domain="good-undel-9.basic02.xa"; ns_list=dns1.good-undel-9.basic02.xb/127.12.2.33;dns1.good-undel-9.basic02.xb/fda1:b2:c3:0:127:12:2:33;dns2.good-undel-9.basic02.xb/127.12.2.34;dns2.good-undel-9.basic02.xb/fda1:b2:c3:0:127:12:2:34
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
GOOD-UNDEL-10 | B02_AUTH_RESPONSE_SOA | 2)
* Undelegated data:
* ns3.good-undel-10.basic02.xb/127.12.2.33
* ns3.good-undel-10.basic02.xb/fda1:b2:c3:0:127:12:2:33
* ns4.good-undel-10.basic02.xb/127.12.2.34
* ns4.good-undel-10.basic02.xb/fda1:b2:c3:0:127:12:2:34
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw good-undel-10.basic02.xa --ns ns3.good-undel-10.basic02.xb/127.12.2.33 --ns ns3.good-undel-10.basic02.xb/fda1:b2:c3:0:127:12:2:33 --ns ns4.good-undel-10.basic02.xb/127.12.2.34 --ns ns4.good-undel-10.basic02.xb/fda1:b2:c3:0:127:12:2:34
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.02 INFO Basic02 B02_AUTH_RESPONSE_SOA domain="good-undel-10.basic02.xa"; ns_list=ns3.good-undel-10.basic02.xb/127.12.2.33;ns3.good-undel-10.basic02.xb/fda1:b2:c3:0:127:12:2:33;ns4.good-undel-10.basic02.xb/127.12.2.34;ns4.good-undel-10.basic02.xb/fda1:b2:c3:0:127:12:2:34
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
GOOD-UNDEL-11 | B02_AUTH_RESPONSE_SOA | 2)
* Undelegated data:
* ns3.good-undel-11.basic02.xb
* ns4.good-undel-11.basic02.xb
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw good-undel-11.basic02.xa --ns ns3.good-undel-11.basic02.xb --ns ns4.good-undel-11.basic02.xb
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.02 INFO Basic02 B02_AUTH_RESPONSE_SOA domain="good-undel-11.basic02.xa"; ns_list=ns3.good-undel-11.basic02.xb/127.12.2.33;ns3.good-undel-11.basic02.xb/fda1:b2:c3:0:127:12:2:33;ns4.good-undel-11.basic02.xb/127.12.2.34;ns4.good-undel-11.basic02.xb/fda1:b2:c3:0:127:12:2:34
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
MIXED-1 | B02_AUTH_RESPONSE_SOA | 2)
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw mixed-1.basic02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.11 INFO Basic02 B02_AUTH_RESPONSE_SOA domain="mixed-1.basic02.xa"; ns_list=ns1.mixed-1.basic02.xa/127.12.2.31;ns1.mixed-1.basic02.xa/fda1:b2:c3:0:127:12:2:31
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
NO-DELEGATION-1 | B02_NO_DELEGATION | 2)
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw no-delegation.basic02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.03 CRITICAL Basic02 B02_NO_DELEGATION domain="no-delegation.basic02.xa"
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
NS-BROKEN-1 | B02_NS_BROKEN, B02_NO_WORKING_NS | 2)
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw ns-broken-1.basic02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.11 CRITICAL Basic02 B02_NO_WORKING_NS domain="ns-broken-1.basic02.xa"
0.11 ERROR Basic02 B02_NS_BROKEN ns=ns1.ns-broken-1.basic02.xa/127.12.2.31
0.11 ERROR Basic02 B02_NS_BROKEN ns=ns2.ns-broken-1.basic02.xa/fda1:b2:c3:0:127:12:2:32
0.11 ERROR Basic02 B02_NS_BROKEN ns=ns1.ns-broken-1.basic02.xa/fda1:b2:c3:0:127:12:2:31
0.11 ERROR Basic02 B02_NS_BROKEN ns=ns2.ns-broken-1.basic02.xa/127.12.2.32
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
NS-NOT-AUTH-1 | B02_NS_NOT_AUTH, B02_NO_WORKING_NS | 2)
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw ns-not-auth-1.basic02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.04 CRITICAL Basic02 B02_NO_WORKING_NS domain="ns-not-auth-1.basic02.xa"
0.04 ERROR Basic02 B02_NS_NOT_AUTH ns=ns2.ns-not-auth-1.basic02.xa/fda1:b2:c3:0:127:12:2:32
0.04 ERROR Basic02 B02_NS_NOT_AUTH ns=ns1.ns-not-auth-1.basic02.xa/127.12.2.31
0.04 ERROR Basic02 B02_NS_NOT_AUTH ns=ns1.ns-not-auth-1.basic02.xa/fda1:b2:c3:0:127:12:2:31
0.04 ERROR Basic02 B02_NS_NOT_AUTH ns=ns2.ns-not-auth-1.basic02.xa/127.12.2.32
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
NS-NO-IP-1 | B02_NS_NO_IP_ADDR, B02_NO_WORKING_NS | 2)
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw ns-no-ip-1.basic02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.07 CRITICAL Basic02 B02_NO_WORKING_NS domain="ns-no-ip-1.basic02.xa"
0.07 ERROR Basic02 B02_NS_NO_IP_ADDR nsname=ns2.ns-no-ip-1.basic02.xa
0.07 ERROR Basic02 B02_NS_NO_IP_ADDR nsname=ns1.ns-no-ip-1.basic02.xa
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
NS-NO-IP-2 | B02_NS_NO_IP_ADDR, B02_NO_WORKING_NS | 2)
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw ns-no-ip-2.basic02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.04 CRITICAL Basic02 B02_NO_WORKING_NS domain="ns-no-ip-2.basic02.xa"
0.04 ERROR Basic02 B02_NS_NO_IP_ADDR nsname=ns2.ns-no-ip-2.basic02.xb
0.04 ERROR Basic02 B02_NS_NO_IP_ADDR nsname=ns1.ns-no-ip-2.basic02.xb
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
NS-NO-IP-3 | B02_NS_NO_IP_ADDR, B02_NO_WORKING_NS | 2)
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw ns-no-ip-3.basic02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.04 CRITICAL Basic02 B02_NO_WORKING_NS domain="ns-no-ip-3.basic02.xa"
0.04 ERROR Basic02 B02_NS_NO_IP_ADDR nsname=ns1.ns-no-ip-3.basic02.xb
0.04 ERROR Basic02 B02_NS_NO_IP_ADDR nsname=ns2.ns-no-ip-3.basic02.xb
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
NS-NO-IP-UNDEL-1 | B02_NS_NO_IP_ADDR, B02_NO_WORKING_NS | 2)
* Undelegated data:
* ns1.ns-no-ip-undel-1.basic02.xa
* ns2.ns-no-ip-undel-1.basic02.xa
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw ns-no-ip-undel-1.basic02.xa --ns ns1.ns-no-ip-undel-1.basic02.xa --ns ns2.ns-no-ip-undel-1.basic02.xa
0.35 ERROR Unspecified FAKE_DELEGATION_IN_ZONE_NO_IP domain=ns-no-ip-undel-1.basic02.xa; nsname=ns2.ns-no-ip-undel-1.basic02.xa
0.33 ERROR Unspecified FAKE_DELEGATION_IN_ZONE_NO_IP domain=ns-no-ip-undel-1.basic02.xa; nsname=ns1.ns-no-ip-undel-1.basic02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.03 CRITICAL Basic02 B02_NO_WORKING_NS domain="ns-no-ip-undel-1.basic02.xa"
0.03 ERROR Basic02 B02_NS_NO_IP_ADDR nsname=ns2.ns-no-ip-undel-1.basic02.xa
0.03 ERROR Basic02 B02_NS_NO_IP_ADDR nsname=ns1.ns-no-ip-undel-1.basic02.xa
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
NS-NO-IP-UNDEL-2 | B02_NS_NO_IP_ADDR, B02_NO_WORKING_NS | 2)
* Undelegated data:
* ns1.ns-no-ip-undel-2.basic02.xb
* ns2.ns-no-ip-undel-2.basic02.xb
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw ns-no-ip-undel-2.basic02.xa --ns ns1.ns-no-ip-undel-2.basic02.xb --ns ns2.ns-no-ip-undel-2.basic02.xb
0.23 ERROR Unspecified FAKE_DELEGATION_NO_IP domain=ns-no-ip-undel-2.basic02.xa; nsname=ns2.ns-no-ip-undel-2.basic02.xb
0.23 ERROR Unspecified FAKE_DELEGATION_NO_IP domain=ns-no-ip-undel-2.basic02.xa; nsname=ns1.ns-no-ip-undel-2.basic02.xb
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.02 CRITICAL Basic02 B02_NO_WORKING_NS domain="ns-no-ip-undel-2.basic02.xa"
0.02 ERROR Basic02 B02_NS_NO_IP_ADDR nsname=ns1.ns-no-ip-undel-2.basic02.xb
0.02 ERROR Basic02 B02_NS_NO_IP_ADDR nsname=ns2.ns-no-ip-undel-2.basic02.xb
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
NS-NO-RESPONSE-1 | B02_NS_NO_RESPONSE, B02_NO_WORKING_NS | 2)
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw ns-no-response-1.basic02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
40.09 CRITICAL Basic02 B02_NO_WORKING_NS domain="ns-no-response-1.basic02.xa"
40.09 WARNING Basic02 B02_NS_NO_RESPONSE ns=ns1.ns-no-response-1.basic02.xa/127.12.2.31
40.09 WARNING Basic02 B02_NS_NO_RESPONSE ns=ns2.ns-no-response-1.basic02.xa/fda1:b2:c3:0:127:12:2:32
40.09 WARNING Basic02 B02_NS_NO_RESPONSE ns=ns1.ns-no-response-1.basic02.xa/fda1:b2:c3:0:127:12:2:31
40.09 WARNING Basic02 B02_NS_NO_RESPONSE ns=ns2.ns-no-response-1.basic02.xa/127.12.2.32
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:------------------------------|:-------------------------------------------|:----------------------
UNEXPECTED-RCODE-1 | B02_UNEXPECTED_RCODE, B02_NO_WORKING_NS | 2)
* (2) All tags except for those specified as "Mandatory message tags"
```
$ zonemaster-cli --hints=hintfile.zone --test=basic02 --level=info --show-testcase --raw unexpected-rcode-1.basic02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v7.1.0
0.06 CRITICAL Basic02 B02_NO_WORKING_NS domain="unexpected-rcode-1.basic02.xa"
0.06 ERROR Basic02 B02_UNEXPECTED_RCODE ns=ns2.unexpected-rcode-1.basic02.xa/fda1:b2:c3:0:127:12:2:32; rcode=REFUSED
0.06 ERROR Basic02 B02_UNEXPECTED_RCODE ns=ns1.unexpected-rcode-1.basic02.xa/fda1:b2:c3:0:127:12:2:31; rcode=NXDOMAIN
0.06 ERROR Basic02 B02_UNEXPECTED_RCODE ns=ns3.unexpected-rcode-1.basic02.xa/127.12.2.33; rcode=SERVFAIL
0.06 ERROR Basic02 B02_UNEXPECTED_RCODE ns=ns2.unexpected-rcode-1.basic02.xa/127.12.2.32; rcode=REFUSED
0.06 ERROR Basic02 B02_UNEXPECTED_RCODE ns=ns3.unexpected-rcode-1.basic02.xa/fda1:b2:c3:0:127:12:2:33; rcode=SERVFAIL
0.06 ERROR Basic02 B02_UNEXPECTED_RCODE ns=ns1.unexpected-rcode-1.basic02.xa/127.12.2.31; rcode=NXDOMAIN
```
--> OK