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,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 [Delegation02 test scenario specification].
For these test zones the following files are found in [This directory](.):
* 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/delegation02.md

View File

@@ -0,0 +1,21 @@
$ORIGIN all-distinct-1.delegation02.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110400 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 A 127.16.2.31
ns1 AAAA fda1:b2:c3:0:127:16:2:31
ns2 A 127.16.2.32
ns2 AAAA fda1:b2:c3:0:127:16:2:32
; EOF

View File

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

View File

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

View File

@@ -0,0 +1,21 @@
$ORIGIN child-non-distinct-und.delegation02.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110408 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1a
@ NS ns1b
ns1a A 127.16.2.31
ns1a AAAA fda1:b2:c3:0:127:16:2:31
ns1b A 127.16.2.31
ns1b AAAA fda1:b2:c3:0:127:16:2:31
; EOF

View File

@@ -0,0 +1,21 @@
$ORIGIN child-non-distinct.delegation02.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110406 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1a
@ NS ns1b
ns1a A 127.16.2.31
ns1a AAAA fda1:b2:c3:0:127:16:2:31
ns1b A 127.16.2.31
ns1b AAAA fda1:b2:c3:0:127:16:2:31
; EOF

View File

@@ -0,0 +1,21 @@
$ORIGIN del-non-distinct-und.delegation02.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110404 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1a
@ NS ns1b
ns1a A 127.16.2.31
ns1a AAAA fda1:b2:c3:0:127:16:2:31
ns1b A 127.16.2.32
ns1b AAAA fda1:b2:c3:0:127:16:2:32
; EOF

View File

@@ -0,0 +1,21 @@
$ORIGIN del-non-distinct.delegation02.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110403 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1a
@ NS ns1b
ns1a A 127.16.2.31
ns1a AAAA fda1:b2:c3:0:127:16:2:31
ns1b A 127.16.2.32
ns1b AAAA fda1:b2:c3:0:127:16:2:32
; EOF

View File

@@ -0,0 +1,171 @@
## root
.:53 {
bind 127.16.2.27 # ns1
bind fda1:b2:c3:0:127:16:2:27 # ns1
bind 127.16.2.28 # ns2
bind fda1:b2:c3:0:127:16:2:28 # ns2
log
file Delegation-TP/delegation02/root-zone.zone .
}
# Resolver using test case local root
. {
bind 127.16.2.53
unbound {
option root-hints Delegation-TP/delegation02/hintfile.zone
}
log
}
delegation02.xb:53 { # xb
bind 127.16.2.25 # ns1
bind fda1:b2:c3:0:127:16:2:25 # ns1
bind 127.16.2.26 # ns2
bind fda1:b2:c3:0:127:16:2:26 # ns2
log
file Delegation-TP/delegation02/delegation02.xb.zone delegation02.xb
}
delegation02.xa:53 { # xa
bind 127.16.2.21 # ns1
bind fda1:b2:c3:0:127:16:2:21 # ns1
bind 127.16.2.22 # ns2
bind fda1:b2:c3:0:127:16:2:22 # ns2
log
file Delegation-TP/delegation02/delegation02.xa.zone delegation02.xa
}
### Child zones
all-distinct-1.delegation02.xa:53 {
bind 127.16.2.31 # ns1
bind fda1:b2:c3:0:127:16:2:31 # ns1
bind 127.16.2.32 # ns2
bind fda1:b2:c3:0:127:16:2:32 # ns2
log
file Delegation-TP/delegation02/all-distinct-1.delegation02.xa.zone all-distinct-1.delegation02.xa
}
all-distinct-2.delegation02.xa:53 {
bind 127.16.2.37 # ns1.all-distinct-2.delegation02.xb.
bind fda1:b2:c3:0:127:16:2:37 # ns1.all-distinct-2.delegation02.xb.
bind 127.16.2.38 # ns2.all-distinct-2.delegation02.xb.
bind fda1:b2:c3:0:127:16:2:38 # ns2.all-distinct-2.delegation02.xb.
log
file Delegation-TP/delegation02/all-distinct-2.delegation02.xa.zone all-distinct-2.delegation02.xa
}
all-distinct-3.delegation02.xa:53 { # Force sibling glue in referral from parent
bind 127.16.2.21 # ns1 (parent)
bind fda1:b2:c3:0:127:16:2:21 # ns1 (parent)
bind 127.16.2.22 # ns2 (parent)
bind fda1:b2:c3:0:127:16:2:22 # ns2 (parent)
log
template IN ANY all-distinct-3.delegation02.xa {
authority "all-distinct-3.delegation02.xa. 3600 IN NS ns1.all-distinct-3.sibling.delegation02.xa."
authority "all-distinct-3.delegation02.xa. 3600 IN NS ns2.all-distinct-3.sibling.delegation02.xa."
additional "ns1.all-distinct-3.sibling.delegation02.xa 3600 IN A 127.16.2.31"
additional "ns1.all-distinct-3.sibling.delegation02.xa 3600 IN AAAA fda1:b2:c3:0:127:16:2:31"
additional "ns2.all-distinct-3.sibling.delegation02.xa 3600 IN A 127.16.2.32"
additional "ns2.all-distinct-3.sibling.delegation02.xa 3600 IN AAAA fda1:b2:c3:0:127:16:2:32"
}
header {
response clear aa
}
}
all-distinct-3.delegation02.xa:53 {
bind 127.16.2.31 # ns1.all-distinct-3.sibling.delegation02.xa
bind fda1:b2:c3:0:127:16:2:31 # ns1.all-distinct-3.sibling.delegation02.xa
bind 127.16.2.32 # ns2.all-distinct-3.sibling.delegation02.xa
bind fda1:b2:c3:0:127:16:2:32 # ns2.all-distinct-3.sibling.delegation02.xa
log
file Delegation-TP/delegation02/all-distinct-3.delegation02.xa.zone all-distinct-3.delegation02.xa
}
del-non-distinct.delegation02.xa:53 {
bind 127.16.2.31 # ns1a, ns1b
bind fda1:b2:c3:0:127:16:2:31 # ns1a, ns1b
bind 127.16.2.32 # ns1b
bind fda1:b2:c3:0:127:16:2:32 # ns1b
log
file Delegation-TP/delegation02/del-non-distinct.delegation02.xa.zone del-non-distinct.delegation02.xa
}
del-non-distinct-und.delegation02.xa:53 { # Undelegated
bind 127.16.2.31 # ns1a, ns1b
bind fda1:b2:c3:0:127:16:2:31 # ns1a, ns1b
bind 127.16.2.32 # ns1b
bind fda1:b2:c3:0:127:16:2:32 # ns1b
log
file Delegation-TP/delegation02/del-non-distinct-und.delegation02.xa.zone del-non-distinct-und.delegation02.xa
}
child-non-distinct.delegation02.xa:53 {
bind 127.16.2.31 # ns1a, ns1b
bind fda1:b2:c3:0:127:16:2:31 # ns1a, ns1b
bind 127.16.2.32 # ns1b
bind fda1:b2:c3:0:127:16:2:32 # ns1b
log
file Delegation-TP/delegation02/child-non-distinct.delegation02.xa.zone child-non-distinct.delegation02.xa
}
child-non-distinct-und.delegation02.xa:53 { # Undelegated
bind 127.16.2.31 # ns1a, ns1b
bind fda1:b2:c3:0:127:16:2:31 # ns1a, ns1b
bind 127.16.2.32 # ns1b
bind fda1:b2:c3:0:127:16:2:32 # ns1b
log
file Delegation-TP/delegation02/child-non-distinct-und.delegation02.xa.zone child-non-distinct-und.delegation02.xa
}
non-distinct-1.delegation02.xa:53 {
bind 127.16.2.31 # ns1a, ns1b
bind fda1:b2:c3:0:127:16:2:31 # ns1a, ns1b
bind 127.16.2.32 # ns2
bind fda1:b2:c3:0:127:16:2:32 # ns2
log
file Delegation-TP/delegation02/non-distinct-1.delegation02.xa.zone non-distinct-1.delegation02.xa
}
non-distinct-2.delegation02.xa:53 {
bind 127.16.2.37 # ns1a, ns1b.non-distinct-2.delegation02.xb.
bind fda1:b2:c3:0:127:16:2:37 # ns1a, ns1b.non-distinct-2.delegation02.xb.
bind 127.16.2.38 # ns2.non-distinct-2.delegation02.xb.
bind fda1:b2:c3:0:127:16:2:38 # ns2.non-distinct-2.delegation02.xb.
log
file Delegation-TP/delegation02/non-distinct-2.delegation02.xa.zone non-distinct-2.delegation02.xa
}
non-distinct-3.delegation02.xa:53 { # Force sibling glue in referral from parent
bind 127.16.2.21 # ns1 (parent)
bind fda1:b2:c3:0:127:16:2:21 # ns1 (parent)
bind 127.16.2.22 # ns2 (parent)
bind fda1:b2:c3:0:127:16:2:22 # ns2 (parent)
log
template IN ANY non-distinct-3.delegation02.xa {
authority "non-distinct-3.delegation02.xa. 3600 IN NS ns1a.non-distinct-3.sibling.delegation02.xa."
authority "non-distinct-3.delegation02.xa. 3600 IN NS ns1b.non-distinct-3.sibling.delegation02.xa."
authority "non-distinct-3.delegation02.xa. 3600 IN NS ns2.non-distinct-3.sibling.delegation02.xa."
additional "ns1a.non-distinct-3.sibling.delegation02.xa 3600 IN A 127.16.2.31"
additional "ns1a.non-distinct-3.sibling.delegation02.xa 3600 IN AAAA fda1:b2:c3:0:127:16:2:31"
additional "ns1b.non-distinct-3.sibling.delegation02.xa 3600 IN A 127.16.2.31"
additional "ns1b.non-distinct-3.sibling.delegation02.xa 3600 IN AAAA fda1:b2:c3:0:127:16:2:31"
additional "ns2.non-distinct-3.sibling.delegation02.xa 3600 IN A 127.16.2.32"
additional "ns2.non-distinct-3.sibling.delegation02.xa 3600 IN AAAA fda1:b2:c3:0:127:16:2:32"
}
header {
response clear aa
}
}
non-distinct-3.delegation02.xa:53 {
bind 127.16.2.31 # ns1a, ns1b.non-distinct-3.sibling.delegation02.xa
bind fda1:b2:c3:0:127:16:2:31 # ns1a, ns1b.non-distinct-3.sibling.delegation02.xa
bind 127.16.2.32 # ns2.non-distinct-3.sibling.delegation02.xa
bind fda1:b2:c3:0:127:16:2:32 # ns2.non-distinct-3.sibling.delegation02.xa
log
file Delegation-TP/delegation02/non-distinct-3.delegation02.xa.zone non-distinct-3.delegation02.xa
}

View File

@@ -0,0 +1,86 @@
$ORIGIN delegation02.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024111500 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 A 127.16.2.21
ns1 AAAA fda1:b2:c3:0:127:16:2:21
ns2 A 127.16.2.22
ns2 AAAA fda1:b2:c3:0:127:16:2:22
; Also in template in .cfg file
ns1.all-distinct-3.sibling A 127.16.2.31
ns1.all-distinct-3.sibling AAAA fda1:b2:c3:0:127:16:2:31
ns2.all-distinct-3.sibling A 127.16.2.32
ns2.all-distinct-3.sibling AAAA fda1:b2:c3:0:127:16:2:32
ns1a.non-distinct-3.sibling A 127.16.2.31
ns1a.non-distinct-3.sibling AAAA fda1:b2:c3:0:127:16:2:31
ns1b.non-distinct-3.sibling A 127.16.2.31
ns1b.non-distinct-3.sibling AAAA fda1:b2:c3:0:127:16:2:31
ns2.non-distinct-3.sibling A 127.16.2.32
ns2.non-distinct-3.sibling AAAA fda1:b2:c3:0:127:16:2:32
$ORIGIN all-distinct-1.delegation02.xa.
@ NS ns1
@ NS ns2
ns1 A 127.16.2.31
ns1 AAAA fda1:b2:c3:0:127:16:2:31
ns2 A 127.16.2.32
ns2 AAAA fda1:b2:c3:0:127:16:2:32
$ORIGIN all-distinct-2.delegation02.xa.
@ NS ns1.all-distinct-2.delegation02.xb.
@ NS ns2.all-distinct-2.delegation02.xb.
$ORIGIN all-distinct-3.delegation02.xa.
@ NS ns1.all-distinct-3.sibling.delegation02.xa.
@ NS ns2.all-distinct-3.sibling.delegation02.xa.
$ORIGIN del-non-distinct.delegation02.xa.
@ NS ns1a
@ NS ns1b
ns1a A 127.16.2.31
ns1a AAAA fda1:b2:c3:0:127:16:2:31
ns1b A 127.16.2.31
ns1b AAAA fda1:b2:c3:0:127:16:2:31
$ORIGIN child-non-distinct.delegation02.xa.
@ NS ns1a
@ NS ns1b
ns1a A 127.16.2.31
ns1a AAAA fda1:b2:c3:0:127:16:2:31
ns1b A 127.16.2.32
ns1b AAAA fda1:b2:c3:0:127:16:2:32
$ORIGIN non-distinct-1.delegation02.xa.
@ NS ns1a
@ NS ns1b
@ NS ns2
ns1a A 127.16.2.31
ns1a AAAA fda1:b2:c3:0:127:16:2:31
ns1b A 127.16.2.31
ns1b AAAA fda1:b2:c3:0:127:16:2:31
ns2 A 127.16.2.32
ns2 AAAA fda1:b2:c3:0:127:16:2:32
$ORIGIN non-distinct-2.delegation02.xa.
@ NS ns1a.non-distinct-2.delegation02.xb.
@ NS ns1b.non-distinct-2.delegation02.xb.
@ NS ns2.non-distinct-2.delegation02.xb.
$ORIGIN non-distinct-3.delegation02.xa.
@ NS ns1a.non-distinct-3.sibling.delegation02.xa.
@ NS ns1b.non-distinct-3.sibling.delegation02.xa.
@ NS ns2.non-distinct-3.sibling.delegation02.xa.

View File

@@ -0,0 +1,33 @@
$ORIGIN delegation02.xb. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110402 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 A 127.16.2.25
ns1 AAAA fda1:b2:c3:0:127:16:2:25
ns2 A 127.16.2.26
ns2 AAAA fda1:b2:c3:0:127:16:2:26
; No delegations, just definitions of address records (out-of-bailiwick)
$ORIGIN all-distinct-2.delegation02.xb.
ns1 A 127.16.2.37
ns1 AAAA fda1:b2:c3:0:127:16:2:37
ns2 A 127.16.2.38
ns2 AAAA fda1:b2:c3:0:127:16:2:38
$ORIGIN non-distinct-2.delegation02.xb.
ns1a A 127.16.2.37
ns1a AAAA fda1:b2:c3:0:127:16:2:37
ns1b A 127.16.2.37
ns1b AAAA fda1:b2:c3:0:127:16:2:37
ns2 A 127.16.2.38
ns2 AAAA fda1:b2:c3:0:127:16:2:38

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.2.27
root-ns1.xa. 3600 AAAA fda1:b2:c3::127:16:2:27
root-ns2.xa. 3600 A 127.16.2.28
root-ns2.xa. 3600 AAAA fda1:b2:c3::127:16:2:28

View File

@@ -0,0 +1,24 @@
$ORIGIN non-distinct-1.delegation02.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110409 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1a
@ NS ns1b
@ NS ns2
ns1a A 127.16.2.31
ns1a AAAA fda1:b2:c3:0:127:16:2:31
ns1b A 127.16.2.31
ns1b AAAA fda1:b2:c3:0:127:16:2:31
ns2 A 127.16.2.32
ns2 AAAA fda1:b2:c3:0:127:16:2:32
; EOF

View File

@@ -0,0 +1,15 @@
$ORIGIN non-distinct-2.delegation02.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024110411 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1a.non-distinct-2.delegation02.xb.
@ NS ns1b.non-distinct-2.delegation02.xb.
@ NS ns2.non-distinct-2.delegation02.xb.
; EOF

View File

@@ -0,0 +1,16 @@
$ORIGIN non-distinct-3.delegation02.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024111500 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1a.non-distinct-3.sibling.delegation02.xa.
@ NS ns1b.non-distinct-3.sibling.delegation02.xa.
@ NS ns2.non-distinct-3.sibling.delegation02.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.2.27
root-ns1.xa. AAAA fda1:b2:c3::127:16:2:27
root-ns2.xa. A 127.16.2.28
root-ns2.xa. AAAA fda1:b2:c3::127:16:2:28
$ORIGIN delegation02.xa.
@ NS ns1
@ NS ns2
ns1 A 127.16.2.21
ns1 AAAA fda1:b2:c3::127:16:2:21
ns2 A 127.16.2.22
ns1 AAAA fda1:b2:c3::127:16:2:22
$ORIGIN delegation02.xb.
@ NS ns1
@ NS ns2
ns1 A 127.16.2.25
ns1 AAAA fda1:b2:c3::127:16:2:25
ns2 A 127.16.2.26
ns1 AAAA fda1:b2:c3::127:16:2:26
;EOF

View File

@@ -0,0 +1,218 @@
# Delegation02 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
* DEL_DISTINCT_NS_IP
* CHILD_DISTINCT_NS_IP
* DEL_NS_SAME_IP
* CHILD_NS_SAME_IP
## All scenarios
Scenario name | Zone name
:-----------------------------|:---------------------------------------------
ALL-DISTINCT-1 | all-distinct-1.delegation02.xa
ALL-DISTINCT-2 | all-distinct-2.delegation02.xa
ALL-DISTINCT-3 | all-distinct-3.delegation02.xa
DEL-NON-DISTINCT | del-non-distinct.delegation02.xa
DEL-NON-DISTINCT-UND | del-non-distinct-und.delegation02.xa
CHILD-NON-DISTINCT | child-non-distinct.delegation02.xa
CHILD-NON-DISTINCT-UND | child-non-distinct-und.delegation02.xa
NON-DISTINCT-1 | non-distinct-1.delegation02.xa
NON-DISTINCT-2 | non-distinct-2.delegation02.xa
NON-DISTINCT-3 | non-distinct-3.delegation02.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=delegation02`.
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
:-----------------------------|:-----------------------------------------|:-------------------------------------------
ALL-DISTINCT-1 | DEL_DISTINCT_NS_IP, CHILD_DISTINCT_NS_IP | 2)
* (2) All tags except for those specified as "Mandatory message tags"
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation02 --level=info --show-testcase --raw ALL-DISTINCT-1.delegation02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.07 INFO Delegation02 DEL_DISTINCT_NS_IP
0.07 INFO Delegation02 CHILD_DISTINCT_NS_IP
0.07 INFO Delegation02 DISTINCT_IP_ADDRESS
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:-----------------------------------------|:-------------------------------------------
ALL-DISTINCT-2 | DEL_DISTINCT_NS_IP, CHILD_DISTINCT_NS_IP | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation02 --level=info --show-testcase --raw ALL-DISTINCT-2.delegation02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.07 INFO Delegation02 DEL_DISTINCT_NS_IP
0.07 INFO Delegation02 CHILD_DISTINCT_NS_IP
0.07 INFO Delegation02 DISTINCT_IP_ADDRESS
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:-----------------------------------------|:-------------------------------------------
ALL-DISTINCT-3 | DEL_DISTINCT_NS_IP, CHILD_DISTINCT_NS_IP | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation02 --level=info --show-testcase --raw ALL-DISTINCT-3.delegation02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.05 INFO Delegation02 DEL_DISTINCT_NS_IP
0.05 INFO Delegation02 CHILD_DISTINCT_NS_IP
0.05 INFO Delegation02 DISTINCT_IP_ADDRESS
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:-----------------------------------------|:-------------------------------------------
DEL-NON-DISTINCT | DEL_NS_SAME_IP, CHILD_DISTINCT_NS_IP | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation02 --level=info --show-testcase --raw DEL-NON-DISTINCT.delegation02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.09 INFO Delegation02 DEL_DISTINCT_NS_IP
0.09 INFO Delegation02 CHILD_DISTINCT_NS_IP
0.09 INFO Delegation02 DISTINCT_IP_ADDRESS
```
--> unexpected
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:-----------------------------------------|:-------------------------------------------
DEL-NON-DISTINCT-UND | DEL_NS_SAME_IP, CHILD_DISTINCT_NS_IP | 2)
* Undelegated data:
* ns1a.del-non-distinct-und.delegation02.xa/127.16.2.31
* ns1a.del-non-distinct-und.delegation02.xa/fda1:b2:c3:0:127:16:2:31
* ns1b.del-non-distinct-und.delegation02.xa/127.16.2.31
* ns1b.del-non-distinct-und.delegation02.xa/fda1:b2:c3:0:127:16:2:31
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation02 --level=info --show-testcase --raw DEL-NON-DISTINCT-UND.delegation02.xa --ns ns1a.del-non-distinct-und.delegation02.xa/127.16.2.31 --ns ns1a.del-non-distinct-und.delegation02.xa/fda1:b2:c3:0:127:16:2:31 --ns ns1b.del-non-distinct-und.delegation02.xa/127.16.2.31 --ns ns1b.del-non-distinct-und.delegation02.xa/fda1:b2:c3:0:127:16:2:31
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.03 ERROR Delegation02 DEL_NS_SAME_IP ns_ip=127.16.2.31; nsname_list=ns1a.del-non-distinct-und.delegation02.xa;ns1b.del-non-distinct-und.delegation02.xa
0.03 ERROR Delegation02 DEL_NS_SAME_IP ns_ip=fda1:b2:c3:0:127:16:2:31; nsname_list=ns1a.del-non-distinct-und.delegation02.xa;ns1b.del-non-distinct-und.delegation02.xa
0.03 INFO Delegation02 CHILD_DISTINCT_NS_IP
0.03 ERROR Delegation02 SAME_IP_ADDRESS ns_ip=127.16.2.31; nsname_list=ns1a.del-non-distinct-und.delegation02.xa;ns1b.del-non-distinct-und.delegation02.xa
0.03 ERROR Delegation02 SAME_IP_ADDRESS ns_ip=fda1:b2:c3:0:127:16:2:31; nsname_list=ns1a.del-non-distinct-und.delegation02.xa;ns1b.del-non-distinct-und.delegation02.xa
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:-----------------------------------------|:-------------------------------------------
CHILD-NON-DISTINCT | DEL_DISTINCT_NS_IP, CHILD_NS_SAME_IP | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation02 --level=info --show-testcase --raw CHILD-NON-DISTINCT.delegation02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.07 ERROR Delegation02 DEL_NS_SAME_IP ns_ip=127.16.2.31; nsname_list=ns1a.child-non-distinct.delegation02.xa;ns1b.child-non-distinct.delegation02.xa
0.07 ERROR Delegation02 DEL_NS_SAME_IP ns_ip=fda1:b2:c3:0:127:16:2:31; nsname_list=ns1a.child-non-distinct.delegation02.xa;ns1b.child-non-distinct.delegation02.xa
0.07 ERROR Delegation02 CHILD_NS_SAME_IP ns_ip=127.16.2.31; nsname_list=ns1a.child-non-distinct.delegation02.xa;ns1b.child-non-distinct.delegation02.xa
0.07 ERROR Delegation02 CHILD_NS_SAME_IP ns_ip=fda1:b2:c3:0:127:16:2:31; nsname_list=ns1a.child-non-distinct.delegation02.xa;ns1b.child-non-distinct.delegation02.xa
0.07 ERROR Delegation02 SAME_IP_ADDRESS ns_ip=127.16.2.31; nsname_list=ns1a.child-non-distinct.delegation02.xa;ns1b.child-non-distinct.delegation02.xa
0.07 ERROR Delegation02 SAME_IP_ADDRESS ns_ip=fda1:b2:c3:0:127:16:2:31; nsname_list=ns1a.child-non-distinct.delegation02.xa;ns1b.child-non-distinct.delegation02.xa
```
--> unexpected
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:-----------------------------------------|:-------------------------------------------
CHILD-NON-DISTINCT-UND | DEL_DISTINCT_NS_IP, CHILD_NS_SAME_IP | 2)
* Undelegated data:
* ns1a.child-non-distinct-und.delegation02.xa/127.16.2.31
* ns1a.child-non-distinct-und.delegation02.xa/fda1:b2:c3:0:127:16:2:31
* ns1b.child-non-distinct-und.delegation02.xa/127.16.2.32
* ns1b.child-non-distinct-und.delegation02.xa/fda1:b2:c3:0:127:16:2:32
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation02 --level=info --show-testcase --raw CHILD-NON-DISTINCT-UND.delegation02.xa --ns ns1a.child-non-distinct-und.delegation02.xa/127.16.2.31 --ns ns1a.child-non-distinct-und.delegation02.xa/fda1:b2:c3:0:127:16:2:31 --ns ns1b.child-non-distinct-und.delegation02.xa/127.16.2.32 --ns ns1b.child-non-distinct-und.delegation02.xa/fda1:b2:c3:0:127:16:2:32
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.04 INFO Delegation02 DEL_DISTINCT_NS_IP
0.04 ERROR Delegation02 CHILD_NS_SAME_IP ns_ip=127.16.2.31; nsname_list=ns1a.child-non-distinct-und.delegation02.xa;ns1b.child-non-distinct-und.delegation02.xa
0.04 ERROR Delegation02 CHILD_NS_SAME_IP ns_ip=fda1:b2:c3:0:127:16:2:31; nsname_list=ns1a.child-non-distinct-und.delegation02.xa;ns1b.child-non-distinct-und.delegation02.xa
0.04 ERROR Delegation02 SAME_IP_ADDRESS ns_ip=127.16.2.31; nsname_list=ns1a.child-non-distinct-und.delegation02.xa;ns1b.child-non-distinct-und.delegation02.xa
0.04 ERROR Delegation02 SAME_IP_ADDRESS ns_ip=fda1:b2:c3:0:127:16:2:31; nsname_list=ns1a.child-non-distinct-und.delegation02.xa;ns1b.child-non-distinct-und.delegation02.xa
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:-----------------------------------------|:-------------------------------------------
NON-DISTINCT-1 | DEL_NS_SAME_IP, CHILD_NS_SAME_IP | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation02 --level=info --show-testcase --raw NON-DISTINCT-1.delegation02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.11 ERROR Delegation02 DEL_NS_SAME_IP ns_ip=127.16.2.31; nsname_list=ns1a.non-distinct-1.delegation02.xa;ns1b.non-distinct-1.delegation02.xa
0.11 ERROR Delegation02 DEL_NS_SAME_IP ns_ip=fda1:b2:c3:0:127:16:2:31; nsname_list=ns1a.non-distinct-1.delegation02.xa;ns1b.non-distinct-1.delegation02.xa
0.11 ERROR Delegation02 CHILD_NS_SAME_IP ns_ip=127.16.2.31; nsname_list=ns1a.non-distinct-1.delegation02.xa;ns1b.non-distinct-1.delegation02.xa
0.11 ERROR Delegation02 CHILD_NS_SAME_IP ns_ip=fda1:b2:c3:0:127:16:2:31; nsname_list=ns1a.non-distinct-1.delegation02.xa;ns1b.non-distinct-1.delegation02.xa
0.11 ERROR Delegation02 SAME_IP_ADDRESS ns_ip=127.16.2.31; nsname_list=ns1a.non-distinct-1.delegation02.xa;ns1b.non-distinct-1.delegation02.xa
0.11 ERROR Delegation02 SAME_IP_ADDRESS ns_ip=fda1:b2:c3:0:127:16:2:31; nsname_list=ns1a.non-distinct-1.delegation02.xa;ns1b.non-distinct-1.delegation02.xa
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:-----------------------------------------|:-------------------------------------------
NON-DISTINCT-2 | DEL_NS_SAME_IP, CHILD_NS_SAME_IP | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation02 --level=info --show-testcase --raw NON-DISTINCT-2.delegation02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.06 ERROR Delegation02 DEL_NS_SAME_IP ns_ip=127.16.2.37; nsname_list=ns1a.non-distinct-2.delegation02.xb;ns1b.non-distinct-2.delegation02.xb
0.06 ERROR Delegation02 DEL_NS_SAME_IP ns_ip=fda1:b2:c3:0:127:16:2:37; nsname_list=ns1a.non-distinct-2.delegation02.xb;ns1b.non-distinct-2.delegation02.xb
0.06 ERROR Delegation02 CHILD_NS_SAME_IP ns_ip=127.16.2.37; nsname_list=ns1a.non-distinct-2.delegation02.xb;ns1b.non-distinct-2.delegation02.xb
0.06 ERROR Delegation02 CHILD_NS_SAME_IP ns_ip=fda1:b2:c3:0:127:16:2:37; nsname_list=ns1a.non-distinct-2.delegation02.xb;ns1b.non-distinct-2.delegation02.xb
0.06 ERROR Delegation02 SAME_IP_ADDRESS ns_ip=127.16.2.37; nsname_list=ns1a.non-distinct-2.delegation02.xb;ns1b.non-distinct-2.delegation02.xb
0.06 ERROR Delegation02 SAME_IP_ADDRESS ns_ip=fda1:b2:c3:0:127:16:2:37; nsname_list=ns1a.non-distinct-2.delegation02.xb;ns1b.non-distinct-2.delegation02.xb
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:-----------------------------------------|:-------------------------------------------
NON-DISTINCT-3 | DEL_NS_SAME_IP, CHILD_NS_SAME_IP | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation02 --level=info --show-testcase --raw NON-DISTINCT-3.delegation02.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.06 ERROR Delegation02 DEL_NS_SAME_IP ns_ip=127.16.2.31; nsname_list=ns1a.non-distinct-3.sibling.delegation02.xa;ns1b.non-distinct-3.sibling.delegation02.xa
0.06 ERROR Delegation02 DEL_NS_SAME_IP ns_ip=fda1:b2:c3:0:127:16:2:31; nsname_list=ns1a.non-distinct-3.sibling.delegation02.xa;ns1b.non-distinct-3.sibling.delegation02.xa
0.06 ERROR Delegation02 CHILD_NS_SAME_IP ns_ip=127.16.2.31; nsname_list=ns1a.non-distinct-3.sibling.delegation02.xa;ns1b.non-distinct-3.sibling.delegation02.xa
0.06 ERROR Delegation02 CHILD_NS_SAME_IP ns_ip=fda1:b2:c3:0:127:16:2:31; nsname_list=ns1a.non-distinct-3.sibling.delegation02.xa;ns1b.non-distinct-3.sibling.delegation02.xa
0.06 ERROR Delegation02 SAME_IP_ADDRESS ns_ip=127.16.2.31; nsname_list=ns1a.non-distinct-3.sibling.delegation02.xa;ns1b.non-distinct-3.sibling.delegation02.xa
0.06 ERROR Delegation02 SAME_IP_ADDRESS ns_ip=fda1:b2:c3:0:127:16:2:31; nsname_list=ns1a.non-distinct-3.sibling.delegation02.xa;ns1b.non-distinct-3.sibling.delegation02.xa
```
--OK