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,11 @@
[This directory](.), which contains this README file, also contains the
following files required for implementing the test zones specified in the
[Delegation01 test scenario specification]:
* Zone files for `delegation01.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).
[Delegation01 test scenario specification]: ../../../docs/public/specifications/test-zones/Delegation-TP/delegation01.md

View File

@@ -0,0 +1,211 @@
## root
.:53 {
bind 127.16.1.27 # ns1
bind fda1:b2:c3:0:127:16:1:27 # ns1
bind 127.16.1.28 # ns2
bind fda1:b2:c3:0:127:16:1:28 # ns2
log
file Delegation-TP/delegation01/root-zone.zone .
}
# Resolver using test case local root
. {
bind 127.16.1.53
unbound {
option root-hints Delegation-TP/delegation01/hintfile.zone
}
log
}
delegation01.xb:53 { # xb
bind 127.16.1.25 # ns1
bind fda1:b2:c3:0:127:16:1:25 # ns1
bind 127.16.1.26 # ns2
bind fda1:b2:c3:0:127:16:1:26 # ns2
log
file Delegation-TP/delegation01/delegation01.xb.zone delegation01.xb
}
delegation01.xa:53 { # xa
bind 127.16.1.21 # ns1
bind fda1:b2:c3:0:127:16:1:21 # ns1
bind 127.16.1.22 # ns2
bind fda1:b2:c3:0:127:16:1:22 # ns2
log
file Delegation-TP/delegation01/delegation01.xa.zone delegation01.xa
}
### Child zones
enough-1.delegation01.xa:53 {
bind 127.16.1.31 # ns1
bind fda1:b2:c3:0:127:16:1:31 # ns1
bind 127.16.1.32 # ns2
bind fda1:b2:c3:0:127:16:1:32 # ns2
log
file Delegation-TP/delegation01/enough-1.delegation01.xa.zone enough-1.delegation01.xa
}
enough-2.delegation01.xa:53 {
bind 127.16.1.33 # ns1.enough-2.delegation01.xb
bind fda1:b2:c3:0:127:16:1:33 # ns1.enough-2.delegation01.xb
bind 127.16.1.34 # ns2.enough-2.delegation01.xb
bind fda1:b2:c3:0:127:16:1:34 # ns2.enough-2.delegation01.xb
log
file Delegation-TP/delegation01/enough-2.delegation01.xa.zone enough-2.delegation01.xa
}
enough-3.delegation01.xa:53 { # Force sibling glue in referral from parent
bind 127.16.1.21 # ns1 (parent)
bind fda1:b2:c3:0:127:16:1:21 # ns1 (parent)
bind 127.16.1.22 # ns2 (parent)
bind fda1:b2:c3:0:127:16:1:22 # ns2 (parent)
log
template IN ANY enough-3.delegation01.xa {
authority "enough-3.delegation01.xa. 3600 IN NS ns1.enough-3.sibling.delegation01.xa."
authority "enough-3.delegation01.xa. 3600 IN NS ns2.enough-3.sibling.delegation01.xa."
additional "ns1.enough-3.sibling.delegation01.xa 3600 IN A 127.16.1.31"
additional "ns1.enough-3.sibling.delegation01.xa 3600 IN AAAA fda1:b2:c3:0:127:16:1:31"
additional "ns2.enough-3.sibling.delegation01.xa 3600 IN A 127.16.1.32"
additional "ns2.enough-3.sibling.delegation01.xa 3600 IN AAAA fda1:b2:c3:0:127:16:1:32"
}
header {
response clear aa
}
}
enough-3.delegation01.xa:53 {
bind 127.16.1.31 # ns1.enough-3.sibling.delegation01.xa
bind fda1:b2:c3:0:127:16:1:31 # ns1.enough-3.sibling.delegation01.xa
bind 127.16.1.32 # ns2.enough-3.sibling.delegation01.xa
bind fda1:b2:c3:0:127:16:1:32 # ns2.enough-3.sibling.delegation01.xa
log
file Delegation-TP/delegation01/enough-3.delegation01.xa.zone enough-3.delegation01.xa
}
enough-del-not-child.delegation01.xa:53 {
bind 127.16.1.31 # ns1
bind fda1:b2:c3:0:127:16:1:31 # ns1
bind 127.16.1.32 # ns2
bind fda1:b2:c3:0:127:16:1:32 # ns2
log
file Delegation-TP/delegation01/enough-del-not-child.delegation01.xa.zone enough-del-not-child.delegation01.xa
}
enough-child-not-del.delegation01.xa:53 {
bind 127.16.1.31 # ns1
bind fda1:b2:c3:0:127:16:1:31 # ns1
bind 127.16.1.32 # ns2
bind fda1:b2:c3:0:127:16:1:32 # ns2
log
file Delegation-TP/delegation01/enough-child-not-del.delegation01.xa.zone enough-child-not-del.delegation01.xa
}
ipv6-and-del-ok-no-ipv4-child.delegation01.xa:53 {
bind 127.16.1.31 # ns1
bind fda1:b2:c3:0:127:16:1:31 # ns1
bind 127.16.1.32 # ns2
bind fda1:b2:c3:0:127:16:1:32 # ns2
log
file Delegation-TP/delegation01/ipv6-and-del-ok-no-ipv4-child.delegation01.xa.zone ipv6-and-del-ok-no-ipv4-child.delegation01.xa
}
ipv4-and-del-ok-no-ipv6-child.delegation01.xa:53 {
bind 127.16.1.31 # ns1
bind fda1:b2:c3:0:127:16:1:31 # ns1
bind 127.16.1.32 # ns2
bind fda1:b2:c3:0:127:16:1:32 # ns2
log
file Delegation-TP/delegation01/ipv4-and-del-ok-no-ipv6-child.delegation01.xa.zone ipv4-and-del-ok-no-ipv6-child.delegation01.xa
}
no-ipv4-1.delegation01.xa:53 {
bind fda1:b2:c3:0:127:16:1:31 # ns1
bind fda1:b2:c3:0:127:16:1:32 # ns2
log
file Delegation-TP/delegation01/no-ipv4-1.delegation01.xa.zone no-ipv4-1.delegation01.xa
}
no-ipv4-2.delegation01.xa:53 {
bind fda1:b2:c3:0:127:16:1:33 # ns1.no-ipv4-2.delegation01.xb
bind fda1:b2:c3:0:127:16:1:34 # ns2.no-ipv4-2.delegation01.xb
log
file Delegation-TP/delegation01/no-ipv4-2.delegation01.xa.zone no-ipv4-2.delegation01.xa
}
no-ipv4-3.delegation01.xa:53 { # Force sibling glue in referral from parent
bind 127.16.1.21 # ns1 (parent)
bind fda1:b2:c3:0:127:16:1:21 # ns1 (parent)
bind 127.16.1.22 # ns2 (parent)
bind fda1:b2:c3:0:127:16:1:22 # ns2 (parent)
log
template IN ANY no-ipv4-3.delegation01.xa {
authority "no-ipv4-3.delegation01.xa. 3600 IN NS ns1.no-ipv4-3.sibling.delegation01.xa."
authority "no-ipv4-3.delegation01.xa. 3600 IN NS ns2.no-ipv4-3.sibling.delegation01.xa."
additional "ns1.no-ipv4-3.sibling.delegation01.xa 3600 IN AAAA fda1:b2:c3:0:127:16:1:31"
additional "ns1.no-ipv4-3.sibling.delegation01.xa 3600 IN AAAA fda1:b2:c3:0:127:16:1:32"
}
header {
response clear aa
}
}
no-ipv4-3.delegation01.xa:53 {
bind fda1:b2:c3:0:127:16:1:31 # ns1.no-ipv4-3.sibling.delegation01.xa
bind fda1:b2:c3:0:127:16:1:32 # ns2.no-ipv4-3.sibling.delegation01.xa
log
file Delegation-TP/delegation01/no-ipv4-3.delegation01.xa.zone no-ipv4-3.delegation01.xa
}
no-ipv6-1.delegation01.xa:53 {
bind 127.16.1.31 # ns1
bind 127.16.1.32 # ns2
log
file Delegation-TP/delegation01/no-ipv6-1.delegation01.xa.zone no-ipv6-1.delegation01.xa
}
no-ipv6-2.delegation01.xa:53 {
bind 127.16.1.33 # ns1.no-ipv6-2.delegation01.xb
bind 127.16.1.34 # ns2.no-ipv6-2.delegation01.xb
log
file Delegation-TP/delegation01/no-ipv6-2.delegation01.xa.zone no-ipv6-2.delegation01.xa
}
no-ipv6-3.delegation01.xa:53 { # Force sibling glue in referral from parent
bind 127.16.1.21 # ns1 (parent)
bind fda1:b2:c3:0:127:16:1:21 # ns1 (parent)
bind 127.16.1.22 # ns2 (parent)
bind fda1:b2:c3:0:127:16:1:22 # ns2 (parent)
log
template IN ANY no-ipv6-3.delegation01.xa {
authority "no-ipv6-3.delegation01.xa. 3600 IN NS ns1.no-ipv6-3.sibling.delegation01.xa."
authority "no-ipv6-3.delegation01.xa. 3600 IN NS ns2.no-ipv6-3.sibling.delegation01.xa."
additional "ns1.no-ipv6-3.sibling.delegation01.xa 3600 IN A 127.16.1.31"
additional "ns1.no-ipv6-3.sibling.delegation01.xa 3600 IN A 127.16.1.32"
}
header {
response clear aa
}
}
no-ipv6-3.delegation01.xa:53 {
bind 127.16.1.31 # ns1.no-ipv6-3.sibling.delegation01.xa
bind 127.16.1.32 # ns2.no-ipv6-3.sibling.delegation01.xa
log
file Delegation-TP/delegation01/no-ipv6-3.delegation01.xa.zone no-ipv6-3.delegation01.xa
}
mismatch-delegation-child-1.delegation01.xa:53 {
bind 127.16.1.31 # ns1
bind fda1:b2:c3:0:127:16:1:31 # ns1
bind 127.16.1.32 # ns2
bind fda1:b2:c3:0:127:16:1:32 # ns2
log
file Delegation-TP/delegation01/mismatch-delegation-child-1.delegation01.xa.zone mismatch-delegation-child-1.delegation01.xa
}
mismatch-delegation-child-2.delegation01.xa:53 {
bind 127.16.1.31 # ns1
bind fda1:b2:c3:0:127:16:1:31 # ns1
bind 127.16.1.32 # ns2
bind fda1:b2:c3:0:127:16:1:32 # ns2
log
file Delegation-TP/delegation01/mismatch-delegation-child-2.delegation01.xa.zone mismatch-delegation-child-2.delegation01.xa
}

View File

@@ -0,0 +1,119 @@
$ORIGIN delegation01.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024111400 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 A 127.16.1.21
ns1 AAAA fda1:b2:c3:0:127:16:1:21
ns2 A 127.16.1.22
ns2 AAAA fda1:b2:c3:0:127:16:1:22
; Also in template in .cfg file
ns1.enough-3.sibling A 127.16.1.31
ns1.enough-3.sibling AAAA fda1:b2:c3:0:127:16:1:31
ns2.enough-3.sibling A 127.16.1.32
ns2.enough-3.sibling AAAA fda1:b2:c3:0:127:16:1:32
ns1.no-ipv4-3.sibling AAAA fda1:b2:c3:0:127:16:1:31
ns2.no-ipv4-3.sibling AAAA fda1:b2:c3:0:127:16:1:32
ns1.no-ipv6-3.sibling A 127.16.1.31
ns2.no-ipv6-3.sibling A 127.16.1.32
$ORIGIN enough-1.delegation01.xa.
@ NS ns1
@ NS ns2
ns1 A 127.16.1.31
ns1 AAAA fda1:b2:c3:0:127:16:1:31
ns2 A 127.16.1.32
ns1 AAAA fda1:b2:c3:0:127:16:1:32
$ORIGIN enough-2.delegation01.xa.
@ NS ns1.enough-2.delegation01.xb.
@ NS ns2.enough-2.delegation01.xb.
; Also in template in .cfg file
$ORIGIN enough-3.delegation01.xa.
@ NS ns1.enough-3.sibling.delegation01.xa.
@ NS ns2.enough-3.sibling.delegation01.xa.
$ORIGIN enough-del-not-child.delegation01.xa.
@ NS ns1
@ NS ns2
ns1 A 127.16.1.31
ns1 AAAA fda1:b2:c3:0:127:16:1:31
ns2 A 127.16.1.32
ns2 AAAA fda1:b2:c3:0:127:16:1:32
$ORIGIN enough-child-not-del.delegation01.xa.
@ NS ns1
ns1 A 127.16.1.31
ns1 AAAA fda1:b2:c3:0:127:16:1:31
$ORIGIN ipv6-and-del-ok-no-ipv4-child.delegation01.xa.
@ NS ns1
@ NS ns2
ns1 A 127.16.1.31
ns1 AAAA fda1:b2:c3:0:127:16:1:31
ns2 A 127.16.1.32
ns2 AAAA fda1:b2:c3:0:127:16:1:32
$ORIGIN ipv4-and-del-ok-no-ipv6-child.delegation01.xa.
@ NS ns1
@ NS ns2
ns1 A 127.16.1.31
ns1 AAAA fda1:b2:c3:0:127:16:1:31
ns2 A 127.16.1.32
ns2 AAAA fda1:b2:c3:0:127:16:1:32
$ORIGIN no-ipv4-1.delegation01.xa.
@ NS ns1
@ NS ns2
ns1 AAAA fda1:b2:c3:0:127:16:1:31
ns2 AAAA fda1:b2:c3:0:127:16:1:32
$ORIGIN no-ipv4-2.delegation01.xa.
@ NS ns1.no-ipv4-2.delegation01.xb.
@ NS ns2.no-ipv4-2.delegation01.xb.
$ORIGIN no-ipv4-3.delegation01.xa.
@ NS ns1.no-ipv4-3.sibling.delegation01.xa.
@ NS ns2.no-ipv4-3.sibling.delegation01.xa.
$ORIGIN no-ipv6-1.delegation01.xa.
@ NS ns1
@ NS ns2
ns1 A 127.16.1.31
ns2 A 127.16.1.32
$ORIGIN no-ipv6-2.delegation01.xa.
@ NS ns1.no-ipv6-2.delegation01.xb.
@ NS ns2.no-ipv6-2.delegation01.xb.
$ORIGIN no-ipv6-3.delegation01.xa.
@ NS ns1.no-ipv6-3.sibling.delegation01.xa.
@ NS ns2.no-ipv6-3.sibling.delegation01.xa.
$ORIGIN mismatch-delegation-child-1.delegation01.xa.
@ NS ns1
@ NS ns2
ns1 A 127.16.1.31
ns2 AAAA fda1:b2:c3:0:127:16:1:32
$ORIGIN mismatch-delegation-child-2.delegation01.xa.
@ NS ns1
@ NS ns2
ns1 A 127.16.1.31
ns1 AAAA fda1:b2:c3:0:127:16:1:31
ns2 A 127.16.1.32
ns2 AAAA fda1:b2:c3:0:127:16:1:32

View File

@@ -0,0 +1,34 @@
$ORIGIN delegation01.xb. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110105 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 A 127.16.1.25
ns1 AAAA fda1:b2:c3:0:127:16:1:25
ns2 A 127.16.1.26
ns2 AAAA fda1:b2:c3:0:127:16:1:26
; No delegations, just definitions of address records (out-of-bailiwick)
$ORIGIN enough-2.delegation01.xb.
ns1 A 127.16.1.33
ns1 AAAA fda1:b2:c3:0:127:16:1:33
ns2 A 127.16.1.34
ns2 AAAA fda1:b2:c3:0:127:16:1:34
$ORIGIN no-ipv4-2.delegation01.xb.
ns1 AAAA fda1:b2:c3:0:127:16:1:33
ns2 AAAA fda1:b2:c3:0:127:16:1:34
$ORIGIN no-ipv6-2.delegation01.xb.
ns1 A 127.16.1.33
ns2 A 127.16.1.34

View File

@@ -0,0 +1,21 @@
$ORIGIN enough-1.delegation01.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110100 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 A 127.16.1.31
ns1 AAAA fda1:b2:c3:0:127:16:1:31
ns2 A 127.16.1.32
ns2 AAAA fda1:b2:c3:0:127:16:1:32
; EOF

View File

@@ -0,0 +1,14 @@
$ORIGIN enough-2.delegation01.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110103 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1.enough-2.delegation01.xb.
@ NS ns2.enough-2.delegation01.xb.
; EOF

View File

@@ -0,0 +1,14 @@
$ORIGIN enough-3.delegation01.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110106 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1.enough-3.sibling.delegation01.xa.
@ NS ns2.enough-3.sibling.delegation01.xa.
; EOF

View File

@@ -0,0 +1,19 @@
$ORIGIN enough-child-not-del.delegation01.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110105 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 A 127.16.1.31
ns1 AAAA fda1:b2:c3:0:127:16:1:31
ns2 A 127.16.1.32
ns2 AAAA fda1:b2:c3:0:127:16:1:32
; EOF

View File

@@ -0,0 +1,16 @@
$ORIGIN enough-del-not-child.delegation01.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110105 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
ns1 A 127.16.1.31
ns1 AAAA fda1:b2:c3:0:127:16:1:31
; EOF

View File

@@ -0,0 +1,8 @@
; Hint file for Delegation01 local root
. 3600 NS root-ns1.xa.
. 3600 NS root-ns2.xa.
root-ns1.xa. 3600 A 127.16.1.27
root-ns1.xa. 3600 AAAA fda1:b2:c3::127:16:1:27
root-ns2.xa. 3600 A 127.16.1.28
root-ns2.xa. 3600 AAAA fda1:b2:c3::127:16:1:28

View File

@@ -0,0 +1,17 @@
$ORIGIN ipv4-and-del-ok-no-ipv6-child.delegation01.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110106 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 A 127.16.1.31
ns1 A 127.16.1.32
; EOF

View File

@@ -0,0 +1,19 @@
$ORIGIN ipv6-and-del-ok-no-ipv4-child.delegation01.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110102 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 AAAA fda1:b2:c3:0:127:16:1:31
ns2 AAAA fda1:b2:c3:0:127:16:1:32
; EOF

View File

@@ -0,0 +1,21 @@
$ORIGIN mismatch-delegation-child-1.delegation01.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110102 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 A 127.16.1.31
ns1 AAAA fda1:b2:c3:0:127:16:1:31
ns2 A 127.16.1.32
ns2 AAAA fda1:b2:c3:0:127:16:1:32
; EOF

View File

@@ -0,0 +1,19 @@
$ORIGIN mismatch-delegation-child-2.delegation01.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110104 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 A 127.16.1.31
ns2 AAAA fda1:b2:c3:0:127:16:1:32
; EOF

View File

@@ -0,0 +1,17 @@
$ORIGIN no-ipv4-1.delegation01.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110107 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 AAAA fda1:b2:c3:0:127:16:1:31
ns2 AAAA fda1:b2:c3:0:127:16:1:32
; EOF

View File

@@ -0,0 +1,14 @@
$ORIGIN no-ipv4-2.delegation01.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110108 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1.no-ipv4-2.delegation01.xb.
@ NS ns2.no-ipv4-2.delegation01.xb.
; EOF

View File

@@ -0,0 +1,15 @@
$ORIGIN no-ipv4-3.delegation01.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110111 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1.no-ipv4-3.sibling.delegation01.xa.
@ NS ns2.no-ipv4-3.sibling.delegation01.xa.
; EOF

View File

@@ -0,0 +1,20 @@
$ORIGIN no-ipv6-1.delegation01.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110109 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 A 127.16.1.31
ns2 A 127.16.1.32
; EOF

View File

@@ -0,0 +1,16 @@
$ORIGIN no-ipv6-2.delegation01.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110110 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1.no-ipv6-2.delegation01.xb.
@ NS ns2.no-ipv6-2.delegation01.xb.
; EOF

View File

@@ -0,0 +1,15 @@
$ORIGIN no-ipv6-3.delegation01.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110112 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1.no-ipv6-3.sibling.delegation01.xa.
@ NS ns2.no-ipv6-3.sibling.delegation01.xa.
; EOF

View File

@@ -0,0 +1,41 @@
$ORIGIN .
$TTL 3600
@ SOA ns1. admin.xa. (
2025071600 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
NS root-ns1.xa.
NS root-ns2.xa.
root-ns1.xa. A 127.16.1.27
root-ns1.xa. AAAA fda1:b2:c3::127:16:1:27
root-ns2.xa. A 127.16.1.28
root-ns2.xa. AAAA fda1:b2:c3::127:16:1:28
$ORIGIN delegation01.xa.
@ NS ns1
@ NS ns2
ns1 A 127.16.1.21
ns1 AAAA fda1:b2:c3::127:16:1:21
ns2 A 127.16.1.22
ns1 AAAA fda1:b2:c3::127:16:1:22
$ORIGIN delegation01.xb.
@ NS ns1
@ NS ns2
ns1 A 127.16.1.25
ns1 AAAA fda1:b2:c3::127:16:1:25
ns2 A 127.16.1.26
ns1 AAAA fda1:b2:c3::127:16:1:26
;EOF

View File

@@ -0,0 +1,327 @@
# Delegation01 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
* ENOUGH_IPV4_NS_CHILD
* ENOUGH_IPV4_NS_DEL
* ENOUGH_IPV6_NS_CHILD
* ENOUGH_IPV6_NS_DEL
* ENOUGH_NS_CHILD
* ENOUGH_NS_DEL
* NOT_ENOUGH_IPV4_NS_CHILD
* NOT_ENOUGH_IPV4_NS_DEL
* NOT_ENOUGH_IPV6_NS_CHILD
* NOT_ENOUGH_IPV6_NS_DEL
* NOT_ENOUGH_NS_CHILD
* NOT_ENOUGH_NS_DEL
* NO_IPV4_NS_CHILD
* NO_IPV4_NS_DEL
* NO_IPV6_NS_CHILD
* NO_IPV6_NS_DEL
## All scenarios
Scenario name | Zone name
:-----------------------------|:---------------------------------------------
ENOUGH-1 | enough-1.delegation01.xa
ENOUGH-2 | enough-2.delegation01.xa
ENOUGH-3 | enough-3.delegation01.xa
ENOUGH-DEL-NOT-CHILD | enough-del-not-child.delegation01.xa
ENOUGH-CHILD-NOT-DEL | enough-child-not-del.delegation01.xa
IPV6-AND-DEL-OK-NO-IPV4-CHILD | ipv6-and-del-ok-no-ipv4-child.delegation01.xa
IPV4-AND-DEL-OK-NO-IPV6-CHILD | ipv4-and-del-ok-no-ipv6-child.delegation01.xa
NO-IPV4-1 | no-ipv4-1.delegation01.xa
NO-IPV4-2 | no-ipv4-2.delegation01.xa
NO-IPV4-3 | no-ipv4-3.delegation01.xa
NO-IPV6-1 | no-ipv6-1.delegation01.xa
NO-IPV6-2 | no-ipv6-2.delegation01.xa
NO-IPV6-3 | no-ipv6-3.delegation01.xa
MISMATCH-DELEGATION-CHILD-1 | mismatch-delegation-child-1.delegation01.xa
MISMATCH-DELEGATION-CHILD-2 | mismatch-delegation-child-2.delegation01.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=delegation01`.
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
:-----------------------------|:---------------------------------------------------------|:-------------------------------------------
ENOUGH-1 | ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV4_NS_DEL, ENOUGH_IPV6_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL | 2)
* (2) All tags except for those specified as "Mandatory message tags"
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation01 --level=info --show-testcase --raw ENOUGH-1.delegation01.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.03 INFO Delegation01 ENOUGH_NS_DEL count=2; minimum=2; nsname_list=ns1.enough-1.delegation01.xa;ns2.enough-1.delegation01.xa
0.06 INFO Delegation01 ENOUGH_NS_CHILD count=2; minimum=2; nsname_list=ns1.enough-1.delegation01.xa;ns2.enough-1.delegation01.xa
0.06 INFO Delegation01 ENOUGH_IPV4_NS_CHILD count=2; minimum=2; ns_list=ns1.enough-1.delegation01.xa/127.16.1.31;ns2.enough-1.delegation01.xa/127.16.1.32
0.06 INFO Delegation01 ENOUGH_IPV6_NS_CHILD count=2; minimum=2; ns_list=ns1.enough-1.delegation01.xa/fda1:b2:c3:0:127:16:1:31;ns2.enough-1.delegation01.xa/fda1:b2:c3:0:127:16:1:32
0.07 INFO Delegation01 ENOUGH_IPV4_NS_DEL count=2; minimum=2; ns_list=ns1.enough-1.delegation01.xa/127.16.1.31;ns2.enough-1.delegation01.xa/127.16.1.32
0.07 INFO Delegation01 ENOUGH_IPV6_NS_DEL count=2; minimum=2; ns_list=ns1.enough-1.delegation01.xa/fda1:b2:c3:0:127:16:1:31;ns2.enough-1.delegation01.xa/fda1:b2:c3:0:127:16:1:32
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:---------------------------------------------------------|:-------------------------------------------
ENOUGH-2 | ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV4_NS_DEL, ENOUGH_IPV6_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL | 2)
```
zonemaster-cli --hint=hintfile.zone --test=delegation01 --level=info --show-testcase --raw ENOUGH-2.delegation01.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.07 INFO Delegation01 ENOUGH_NS_DEL count=2; minimum=2; nsname_list=ns1.enough-2.delegation01.xb;ns2.enough-2.delegation01.xb
0.08 INFO Delegation01 ENOUGH_NS_CHILD count=2; minimum=2; nsname_list=ns1.enough-2.delegation01.xb;ns2.enough-2.delegation01.xb
0.08 INFO Delegation01 ENOUGH_IPV4_NS_CHILD count=2; minimum=2; ns_list=ns1.enough-2.delegation01.xb/127.16.1.33;ns2.enough-2.delegation01.xb/127.16.1.34
0.08 INFO Delegation01 ENOUGH_IPV6_NS_CHILD count=2; minimum=2; ns_list=ns1.enough-2.delegation01.xb/fda1:b2:c3:0:127:16:1:33;ns2.enough-2.delegation01.xb/fda1:b2:c3:0:127:16:1:34
0.09 INFO Delegation01 ENOUGH_IPV4_NS_DEL count=2; minimum=2; ns_list=ns1.enough-2.delegation01.xb/127.16.1.33;ns2.enough-2.delegation01.xb/127.16.1.34
0.09 INFO Delegation01 ENOUGH_IPV6_NS_DEL count=2; minimum=2; ns_list=ns1.enough-2.delegation01.xb/fda1:b2:c3:0:127:16:1:33;ns2.enough-2.delegation01.xb/fda1:b2:c3:0:127:16:1:34
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:---------------------------------------------------------|:-------------------------------------------
ENOUGH-3 | ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV4_NS_DEL, ENOUGH_IPV6_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation01 --level=info --show-testcase --raw ENOUGH-3.delegation01.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.04 INFO Delegation01 ENOUGH_NS_DEL count=2; minimum=2; nsname_list=ns1.enough-3.sibling.delegation01.xa;ns2.enough-3.sibling.delegation01.xa
0.07 INFO Delegation01 ENOUGH_NS_CHILD count=2; minimum=2; nsname_list=ns1.enough-3.sibling.delegation01.xa;ns2.enough-3.sibling.delegation01.xa
0.07 INFO Delegation01 ENOUGH_IPV4_NS_CHILD count=2; minimum=2; ns_list=ns1.enough-3.sibling.delegation01.xa/127.16.1.31;ns2.enough-3.sibling.delegation01.xa/127.16.1.32
0.07 INFO Delegation01 ENOUGH_IPV6_NS_CHILD count=2; minimum=2; ns_list=ns1.enough-3.sibling.delegation01.xa/fda1:b2:c3:0:127:16:1:31;ns2.enough-3.sibling.delegation01.xa/fda1:b2:c3:0:127:16:1:32
0.07 INFO Delegation01 ENOUGH_IPV4_NS_DEL count=2; minimum=2; ns_list=ns1.enough-3.sibling.delegation01.xa/127.16.1.31;ns2.enough-3.sibling.delegation01.xa/127.16.1.32
0.07 INFO Delegation01 ENOUGH_IPV6_NS_DEL count=2; minimum=2; ns_list=ns1.enough-3.sibling.delegation01.xa/fda1:b2:c3:0:127:16:1:31;ns2.enough-3.sibling.delegation01.xa/fda1:b2:c3:0:127:16:1:32
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:---------------------------------------------------------|:-------------------------------------------
ENOUGH-DEL-NOT-CHILD | ENOUGH_IPV4_NS_DEL, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_DEL, NOT_ENOUGH_IPV4_NS_CHILD, NOT_ENOUGH_IPV6_NS_CHILD, NOT_ENOUGH_NS_CHILD | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation01 --level=info --show-testcase --raw ENOUGH-DEL-NOT-CHILD.delegation01.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.04 INFO Delegation01 ENOUGH_NS_DEL count=2; minimum=2; nsname_list=ns1.enough-del-not-child.delegation01.xa;ns2.enough-del-not-child.delegation01.xa
0.06 ERROR Delegation01 NOT_ENOUGH_NS_CHILD count=1; minimum=2; nsname_list=ns1.enough-del-not-child.delegation01.xa
0.06 ERROR Delegation01 NOT_ENOUGH_IPV4_NS_CHILD count=1; minimum=2; ns_list=ns1.enough-del-not-child.delegation01.xa/127.16.1.31
0.06 ERROR Delegation01 NOT_ENOUGH_IPV6_NS_CHILD count=1; minimum=2; ns_list=ns1.enough-del-not-child.delegation01.xa/fda1:b2:c3:0:127:16:1:31
0.06 ERROR Delegation01 NOT_ENOUGH_IPV4_NS_DEL count=1; minimum=2; ns_list=ns1.enough-del-not-child.delegation01.xa/127.16.1.31
0.06 ERROR Delegation01 NOT_ENOUGH_IPV6_NS_DEL count=1; minimum=2; ns_list=ns1.enough-del-not-child.delegation01.xa/fda1:b2:c3:0:127:16:1:31
```
--> Unexpected
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:---------------------------------------------------------|:-------------------------------------------
ENOUGH-CHILD-NOT-DEL | ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV6_NS_CHILD, ENOUGH_NS_CHILD, NOT_ENOUGH_IPV4_NS_DEL, NOT_ENOUGH_IPV6_NS_DEL, NOT_ENOUGH_NS_DEL | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation01 --level=info --show-testcase --raw ENOUGH-CHILD-NOT-DEL.delegation01.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.03 ERROR Delegation01 NOT_ENOUGH_NS_DEL count=1; minimum=2; nsname_list=ns1.enough-child-not-del.delegation01.xa
0.06 INFO Delegation01 ENOUGH_NS_CHILD count=2; minimum=2; nsname_list=ns1.enough-child-not-del.delegation01.xa;ns2.enough-child-not-del.delegation01.xa
0.06 INFO Delegation01 ENOUGH_IPV4_NS_CHILD count=2; minimum=2; ns_list=ns1.enough-child-not-del.delegation01.xa/127.16.1.31;ns2.enough-child-not-del.delegation01.xa/127.16.1.32
0.06 INFO Delegation01 ENOUGH_IPV6_NS_CHILD count=2; minimum=2; ns_list=ns1.enough-child-not-del.delegation01.xa/fda1:b2:c3:0:127:16:1:31;ns2.enough-child-not-del.delegation01.xa/fda1:b2:c3:0:127:16:1:32
0.06 ERROR Delegation01 NOT_ENOUGH_IPV4_NS_DEL count=1; minimum=2; ns_list=ns1.enough-child-not-del.delegation01.xa/127.16.1.31
0.06 ERROR Delegation01 NOT_ENOUGH_IPV6_NS_DEL count=1; minimum=2; ns_list=ns1.enough-child-not-del.delegation01.xa/fda1:b2:c3:0:127:16:1:31
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:---------------------------------------------------------|:-------------------------------------------
IPV6-AND-DEL-OK-NO-IPV4-CHILD | ENOUGH_IPV4_NS_DEL, ENOUGH_IPV6_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL, NO_IPV4_NS_CHILD | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation01 --level=info --show-testcase --raw IPV6-AND-DEL-OK-NO-IPV4-CHILD.delegation01.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.03 INFO Delegation01 ENOUGH_NS_DEL count=2; minimum=2; nsname_list=ns1.ipv6-and-del-ok-no-ipv4-child.delegation01.xa;ns2.ipv6-and-del-ok-no-ipv4-child.delegation01.xa
0.06 INFO Delegation01 ENOUGH_NS_CHILD count=2; minimum=2; nsname_list=ns1.ipv6-and-del-ok-no-ipv4-child.delegation01.xa;ns2.ipv6-and-del-ok-no-ipv4-child.delegation01.xa
0.06 WARNING Delegation01 NO_IPV4_NS_CHILD count=0; minimum=2; ns_list=
0.06 INFO Delegation01 ENOUGH_IPV6_NS_CHILD count=2; minimum=2; ns_list=ns1.ipv6-and-del-ok-no-ipv4-child.delegation01.xa/fda1:b2:c3:0:127:16:1:31;ns2.ipv6-and-del-ok-no-ipv4-child.delegation01.xa/fda1:b2:c3:0:127:16:1:32
0.06 WARNING Delegation01 NO_IPV4_NS_DEL count=0; minimum=2; ns_list=
0.06 INFO Delegation01 ENOUGH_IPV6_NS_DEL count=2; minimum=2; ns_list=ns1.ipv6-and-del-ok-no-ipv4-child.delegation01.xa/fda1:b2:c3:0:127:16:1:31;ns2.ipv6-and-del-ok-no-ipv4-child.delegation01.xa/fda1:b2:c3:0:127:16:1:32
```
--> Unexpected
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:---------------------------------------------------------|:-------------------------------------------
IPV4-AND-DEL-OK-NO-IPV6-CHILD | ENOUGH_IPV4_NS_DEL, ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL, NO_IPV6_NS_CHILD | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation01 --level=info --show-testcase --raw IPV4-AND-DEL-OK-NO-IPV6-CHILD.delegation01.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.03 INFO Delegation01 ENOUGH_NS_DEL count=2; minimum=2; nsname_list=ns1.ipv4-and-del-ok-no-ipv6-child.delegation01.xa;ns2.ipv4-and-del-ok-no-ipv6-child.delegation01.xa
0.05 INFO Delegation01 ENOUGH_NS_CHILD count=2; minimum=2; nsname_list=ns1.ipv4-and-del-ok-no-ipv6-child.delegation01.xa;ns2.ipv4-and-del-ok-no-ipv6-child.delegation01.xa
0.05 ERROR Delegation01 NOT_ENOUGH_IPV4_NS_CHILD count=1; minimum=2; ns_list=ns1.ipv4-and-del-ok-no-ipv6-child.delegation01.xa/127.16.1.31;ns1.ipv4-and-del-ok-no-ipv6-child.delegation01.xa/127.16.1.32
0.05 NOTICE Delegation01 NO_IPV6_NS_CHILD count=0; minimum=2; ns_list=
0.05 ERROR Delegation01 NOT_ENOUGH_IPV4_NS_DEL count=1; minimum=2; ns_list=ns1.ipv4-and-del-ok-no-ipv6-child.delegation01.xa/127.16.1.31;ns1.ipv4-and-del-ok-no-ipv6-child.delegation01.xa/127.16.1.32
0.05 NOTICE Delegation01 NO_IPV6_NS_DEL count=0; minimum=2; ns_list=
```
--> Unexpected
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:---------------------------------------------------------|:-------------------------------------------
NO-IPV4-1 | ENOUGH_IPV6_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL, NO_IPV4_NS_CHILD, NO_IPV4_NS_DEL | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation01 --level=info --show-testcase --raw NO-IPV4-1.delegation01.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.03 INFO Delegation01 ENOUGH_NS_DEL count=2; minimum=2; nsname_list=ns1.no-ipv4-1.delegation01.xa;ns2.no-ipv4-1.delegation01.xa
0.05 INFO Delegation01 ENOUGH_NS_CHILD count=2; minimum=2; nsname_list=ns1.no-ipv4-1.delegation01.xa;ns2.no-ipv4-1.delegation01.xa
0.05 WARNING Delegation01 NO_IPV4_NS_CHILD count=0; minimum=2; ns_list=
0.05 INFO Delegation01 ENOUGH_IPV6_NS_CHILD count=2; minimum=2; ns_list=ns1.no-ipv4-1.delegation01.xa/fda1:b2:c3:0:127:16:1:31;ns2.no-ipv4-1.delegation01.xa/fda1:b2:c3:0:127:16:1:32
0.05 WARNING Delegation01 NO_IPV4_NS_DEL count=0; minimum=2; ns_list=
0.05 INFO Delegation01 ENOUGH_IPV6_NS_DEL count=2; minimum=2; ns_list=ns1.no-ipv4-1.delegation01.xa/fda1:b2:c3:0:127:16:1:31;ns2.no-ipv4-1.delegation01.xa/fda1:b2:c3:0:127:16:1:32
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:---------------------------------------------------------|:-------------------------------------------
NO-IPV4-2 | ENOUGH_IPV6_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL, NO_IPV4_NS_CHILD, NO_IPV4_NS_DEL | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation01 --level=info --show-testcase --raw NO-IPV4-2.delegation01.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.04 INFO Delegation01 ENOUGH_NS_DEL count=2; minimum=2; nsname_list=ns1.no-ipv4-2.delegation01.xb;ns2.no-ipv4-2.delegation01.xb
0.07 INFO Delegation01 ENOUGH_NS_CHILD count=2; minimum=2; nsname_list=ns1.no-ipv4-2.delegation01.xb;ns2.no-ipv4-2.delegation01.xb
0.07 WARNING Delegation01 NO_IPV4_NS_CHILD count=0; minimum=2; ns_list=
0.07 INFO Delegation01 ENOUGH_IPV6_NS_CHILD count=2; minimum=2; ns_list=ns1.no-ipv4-2.delegation01.xb/fda1:b2:c3:0:127:16:1:33;ns2.no-ipv4-2.delegation01.xb/fda1:b2:c3:0:127:16:1:34
0.07 WARNING Delegation01 NO_IPV4_NS_DEL count=0; minimum=2; ns_list=
0.07 INFO Delegation01 ENOUGH_IPV6_NS_DEL count=2; minimum=2; ns_list=ns1.no-ipv4-2.delegation01.xb/fda1:b2:c3:0:127:16:1:33;ns2.no-ipv4-2.delegation01.xb/fda1:b2:c3:0:127:16:1:34
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:---------------------------------------------------------|:-------------------------------------------
NO-IPV4-3 | ENOUGH_IPV6_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL, NO_IPV4_NS_CHILD, NO_IPV4_NS_DEL | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation01 --level=info --show-testcase --raw NO-IPV4-3.delegation01.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.03 INFO Delegation01 ENOUGH_NS_DEL count=2; minimum=2; nsname_list=ns1.no-ipv4-3.sibling.delegation01.xa;ns2.no-ipv4-3.sibling.delegation01.xa
0.05 INFO Delegation01 ENOUGH_NS_CHILD count=2; minimum=2; nsname_list=ns1.no-ipv4-3.sibling.delegation01.xa;ns2.no-ipv4-3.sibling.delegation01.xa
0.05 WARNING Delegation01 NO_IPV4_NS_CHILD count=0; minimum=2; ns_list=
0.05 INFO Delegation01 ENOUGH_IPV6_NS_CHILD count=2; minimum=2; ns_list=ns1.no-ipv4-3.sibling.delegation01.xa/fda1:b2:c3:0:127:16:1:31;ns2.no-ipv4-3.sibling.delegation01.xa/fda1:b2:c3:0:127:16:1:32
0.05 WARNING Delegation01 NO_IPV4_NS_DEL count=0; minimum=2; ns_list=
0.05 INFO Delegation01 ENOUGH_IPV6_NS_DEL count=2; minimum=2; ns_list=ns1.no-ipv4-3.sibling.delegation01.xa/fda1:b2:c3:0:127:16:1:31;ns2.no-ipv4-3.sibling.delegation01.xa/fda1:b2:c3:0:127:16:1:32
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:---------------------------------------------------------|:-------------------------------------------
NO-IPV6-1 | ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV4_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL, NO_IPV6_NS_CHILD, NO_IPV6_NS_DEL | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation01 --level=info --show-testcase --raw NO-IPV6-1.delegation01.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.02 INFO Delegation01 ENOUGH_NS_DEL count=2; minimum=2; nsname_list=ns1.no-ipv6-1.delegation01.xa;ns2.no-ipv6-1.delegation01.xa
0.05 INFO Delegation01 ENOUGH_NS_CHILD count=2; minimum=2; nsname_list=ns1.no-ipv6-1.delegation01.xa;ns2.no-ipv6-1.delegation01.xa
0.05 INFO Delegation01 ENOUGH_IPV4_NS_CHILD count=2; minimum=2; ns_list=ns1.no-ipv6-1.delegation01.xa/127.16.1.31;ns2.no-ipv6-1.delegation01.xa/127.16.1.32
0.05 NOTICE Delegation01 NO_IPV6_NS_CHILD count=0; minimum=2; ns_list=
0.05 INFO Delegation01 ENOUGH_IPV4_NS_DEL count=2; minimum=2; ns_list=ns1.no-ipv6-1.delegation01.xa/127.16.1.31;ns2.no-ipv6-1.delegation01.xa/127.16.1.32
0.05 NOTICE Delegation01 NO_IPV6_NS_DEL count=0; minimum=2; ns_list=
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:---------------------------------------------------------|:-------------------------------------------
NO-IPV6-2 | ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV4_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL, NO_IPV6_NS_CHILD, NO_IPV6_NS_DEL | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation01 --level=info --show-testcase --raw NO-IPV6-2.delegation01.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.03 INFO Delegation01 ENOUGH_NS_DEL count=2; minimum=2; nsname_list=ns1.no-ipv6-2.delegation01.xb;ns2.no-ipv6-2.delegation01.xb
0.04 INFO Delegation01 ENOUGH_NS_CHILD count=2; minimum=2; nsname_list=ns1.no-ipv6-2.delegation01.xb;ns2.no-ipv6-2.delegation01.xb
0.04 INFO Delegation01 ENOUGH_IPV4_NS_CHILD count=2; minimum=2; ns_list=ns1.no-ipv6-2.delegation01.xb/127.16.1.33;ns2.no-ipv6-2.delegation01.xb/127.16.1.34
0.04 NOTICE Delegation01 NO_IPV6_NS_CHILD count=0; minimum=2; ns_list=
0.05 INFO Delegation01 ENOUGH_IPV4_NS_DEL count=2; minimum=2; ns_list=ns1.no-ipv6-2.delegation01.xb/127.16.1.33;ns2.no-ipv6-2.delegation01.xb/127.16.1.34
0.05 NOTICE Delegation01 NO_IPV6_NS_DEL count=0; minimum=2; ns_list=
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:---------------------------------------------------------|:-------------------------------------------
NO-IPV6-3 | ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV4_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL, NO_IPV6_NS_CHILD, NO_IPV6_NS_DEL | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation01 --level=info --show-testcase --raw NO-IPV6-3.delegation01.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.04 INFO Delegation01 ENOUGH_NS_DEL count=2; minimum=2; nsname_list=ns1.no-ipv6-3.sibling.delegation01.xa;ns2.no-ipv6-3.sibling.delegation01.xa
0.05 INFO Delegation01 ENOUGH_NS_CHILD count=2; minimum=2; nsname_list=ns1.no-ipv6-3.sibling.delegation01.xa;ns2.no-ipv6-3.sibling.delegation01.xa
0.05 INFO Delegation01 ENOUGH_IPV4_NS_CHILD count=2; minimum=2; ns_list=ns1.no-ipv6-3.sibling.delegation01.xa/127.16.1.31;ns2.no-ipv6-3.sibling.delegation01.xa/127.16.1.32
0.05 NOTICE Delegation01 NO_IPV6_NS_CHILD count=0; minimum=2; ns_list=
0.05 INFO Delegation01 ENOUGH_IPV4_NS_DEL count=2; minimum=2; ns_list=ns1.no-ipv6-3.sibling.delegation01.xa/127.16.1.31;ns2.no-ipv6-3.sibling.delegation01.xa/127.16.1.32
0.05 NOTICE Delegation01 NO_IPV6_NS_DEL count=0; minimum=2; ns_list=
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:---------------------------------------------------------|:-------------------------------------------
MISMATCH-DELEGATION-CHILD-1 | ENOUGH_IPV4_NS_CHILD, NOT_ENOUGH_IPV4_NS_DEL, ENOUGH_IPV6_NS_CHILD, NOT_ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation01 --level=info --show-testcase --raw MISMATCH-DELEGATION-CHILD-1.delegation01.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.03 INFO Delegation01 ENOUGH_NS_DEL count=2; minimum=2; nsname_list=ns1.mismatch-delegation-child-1.delegation01.xa;ns2.mismatch-delegation-child-1.delegation01.xa
0.11 INFO Delegation01 ENOUGH_NS_CHILD count=2; minimum=2; nsname_list=ns1.mismatch-delegation-child-1.delegation01.xa;ns2.mismatch-delegation-child-1.delegation01.xa
0.11 INFO Delegation01 ENOUGH_IPV4_NS_CHILD count=2; minimum=2; ns_list=ns1.mismatch-delegation-child-1.delegation01.xa/127.16.1.31;ns2.mismatch-delegation-child-1.delegation01.xa/127.16.1.32
0.11 INFO Delegation01 ENOUGH_IPV6_NS_CHILD count=2; minimum=2; ns_list=ns1.mismatch-delegation-child-1.delegation01.xa/fda1:b2:c3:0:127:16:1:31;ns2.mismatch-delegation-child-1.delegation01.xa/fda1:b2:c3:0:127:16:1:32
0.11 INFO Delegation01 ENOUGH_IPV4_NS_DEL count=2; minimum=2; ns_list=ns1.mismatch-delegation-child-1.delegation01.xa/127.16.1.31;ns2.mismatch-delegation-child-1.delegation01.xa/127.16.1.32
0.11 INFO Delegation01 ENOUGH_IPV6_NS_DEL count=2; minimum=2; ns_list=ns1.mismatch-delegation-child-1.delegation01.xa/fda1:b2:c3:0:127:16:1:31;ns2.mismatch-delegation-child-1.delegation01.xa/fda1:b2:c3:0:127:16:1:32
```
--> Unexpected
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:---------------------------------------------------------|:-------------------------------------------
MISMATCH-DELEGATION-CHILD-2 | NOT_ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV4_NS_DEL, NOT_ENOUGH_IPV6_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation01 --level=info --show-testcase --raw MISMATCH-DELEGATION-CHILD-2.delegation01.xa
0.01 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.05 INFO Delegation01 ENOUGH_NS_DEL count=2; minimum=2; nsname_list=ns1.mismatch-delegation-child-2.delegation01.xa;ns2.mismatch-delegation-child-2.delegation01.xa
0.08 INFO Delegation01 ENOUGH_NS_CHILD count=2; minimum=2; nsname_list=ns1.mismatch-delegation-child-2.delegation01.xa;ns2.mismatch-delegation-child-2.delegation01.xa
0.08 ERROR Delegation01 NOT_ENOUGH_IPV4_NS_CHILD count=1; minimum=2; ns_list=ns1.mismatch-delegation-child-2.delegation01.xa/127.16.1.31
0.08 ERROR Delegation01 NOT_ENOUGH_IPV6_NS_CHILD count=1; minimum=2; ns_list=ns2.mismatch-delegation-child-2.delegation01.xa/fda1:b2:c3:0:127:16:1:32
0.09 ERROR Delegation01 NOT_ENOUGH_IPV4_NS_DEL count=1; minimum=2; ns_list=ns1.mismatch-delegation-child-2.delegation01.xa/127.16.1.31
0.09 ERROR Delegation01 NOT_ENOUGH_IPV6_NS_DEL count=1; minimum=2; ns_list=ns2.mismatch-delegation-child-2.delegation01.xa/fda1:b2:c3:0:127:16:1:32
```
--> Unexpected