Delegation02 (delegation02)

Status: Final

Purpose

  • Detect nameserver IP-address reuse within delegation data, within child data, and across the combined delegation+child addressed NS set.

Preconditions And Inputs

  • Preconditions:
    • A zone.Zone object is available.
  • Required inputs:
    • Delegation addressed NS from methods.Method4.
    • Child addressed NS from methods.Method5.
  • Profile/config knobs that affect behavior:
    • No direct profile knob in this testcase.

Algorithm And Decision Flow

  1. Emit TEST_CASE_START.
  2. Read delegation addressed NS (Method4) and child addressed NS (Method5).
  3. Run duplicate-IP detection for delegation addressed NS:
    • For each IP used by two or more different NS names, emit DEL_NS_SAME_IP.
    • Else, when delegation list is non-empty, emit DEL_DISTINCT_NS_IP.
  4. Run duplicate-IP detection for child addressed NS:
    • For each IP used by two or more different NS names, emit CHILD_NS_SAME_IP.
    • Else, when child list is non-empty, emit CHILD_DISTINCT_NS_IP.
  5. Run duplicate-IP detection for the combined delegation+child addressed NS list:
    • For each IP used by two or more different NS names, emit SAME_IP_ADDRESS.
    • Else, when combined list is non-empty, emit DISTINCT_IP_ADDRESS.
  6. Emit TEST_CASE_END.

Emitted Tags (Possible Set)

TagEmitted when
CHILD_DISTINCT_NS_IPChild addressed NS list is non-empty and has no repeated IP across different NS names.
CHILD_NS_SAME_IPChild addressed NS includes an IP shared by two or more different NS names.
DEL_DISTINCT_NS_IPDelegation addressed NS list is non-empty and has no repeated IP across different NS names.
DEL_NS_SAME_IPDelegation addressed NS includes an IP shared by two or more different NS names.
DISTINCT_IP_ADDRESSCombined delegation+child addressed NS list is non-empty and has no repeated IP across different NS names.
SAME_IP_ADDRESSCombined delegation+child addressed NS includes an IP shared by two or more different NS names.
TEST_CASE_ENDTestcase completion marker is emitted.
TEST_CASE_STARTTestcase start marker is emitted.

Tag Arguments

TagArgument keyTypeMeaning
CHILD_DISTINCT_NS_IP--No arguments.
CHILD_NS_SAME_IPserversarray<object>Structured nameserver names as {ns} items sharing ns_ip.
CHILD_NS_SAME_IPns_ipstringReused IP address.
DEL_DISTINCT_NS_IP--No arguments.
DEL_NS_SAME_IPserversarray<object>Structured nameserver names as {ns} items sharing ns_ip.
DEL_NS_SAME_IPns_ipstringReused IP address.
DISTINCT_IP_ADDRESS--No arguments.
SAME_IP_ADDRESSserversarray<object>Structured nameserver names as {ns} items sharing ns_ip.
SAME_IP_ADDRESSns_ipstringReused IP address.
TEST_CASE_ENDtestcasestringTestcase display name (Delegation02).
TEST_CASE_STARTtestcasestringTestcase display name (Delegation02).

Severity Levels Per Tag

TagLevelNotes
CHILD_DISTINCT_NS_IPINFODefault from share/profile.json (test_levels.DELEGATION).
CHILD_NS_SAME_IPERRORDefault from share/profile.json (test_levels.DELEGATION).
DEL_DISTINCT_NS_IPINFODefault from share/profile.json (test_levels.DELEGATION).
DEL_NS_SAME_IPERRORDefault from share/profile.json (test_levels.DELEGATION).
DISTINCT_IP_ADDRESSINFODefault from share/profile.json (test_levels.DELEGATION).
SAME_IP_ADDRESSERRORDefault from share/profile.json (test_levels.DELEGATION).
TEST_CASE_ENDDEBUGDefault from share/profile.json (test_levels.DELEGATION).
TEST_CASE_STARTDEBUGDefault from share/profile.json (test_levels.DELEGATION).

Differences From Upstream

  • Upstream reference: delegation02.md
  • Differences (Upstream vs Gonemaster):
    • Upstream: specifies duplicate-IP evaluation for delegation side and child side only. Gonemaster: adds a third evaluation over the combined delegation+child set, with SAME_IP_ADDRESS or DISTINCT_IP_ADDRESS.
    • Upstream: does not describe testcase boundary debug markers. Gonemaster: emits TEST_CASE_START and TEST_CASE_END.
  • Potential upstream report:
    • yes
  • If yes, include:
    • Upstream expected behavior: Scope is delegation-side and child-side duplicate detection.
    • Gonemaster observed behavior: Adds combined-scope duplicate detection and extra tags.
    • evidence: docs/specifications/upstream/tests/Delegation-TP/delegation02.md, engine/test/delegation/delegation.go
    • report status: not filed

Edge Cases And Limitations

  • Exact duplicate name/ip entries are deduplicated before grouping by IP.
  • If an evaluated input list is empty, neither the duplicate tag nor the distinct tag is emitted for that list.