NAME

Zonemaster::Engine::TestMethodsV2 - Version 2 of Methods common to Test Specifications used in Test modules

SYNOPSIS

my @results = Zonemaster::Engine::TestMethodsV2->get_parent_ns_ips($zone);

METHODS

For details on what these Methods implement, see the Test Specifications document (https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/MethodsV2.md).

get_parent_ns_ips($zone)

[External]

This Method will obtain the name servers that serves the parent zone, i.e. the zone from which the Child Zone is delegated from.

Takes a Zonemaster::Engine::Zone object.

Returns an arrayref of Zonemaster::Engine::Nameserver objects, or undef if no parent zone was found.

_get_oob_ips($zone, $ns_names_ref)

[Internal]

This Method will obtain the IP addresses of the Out-Of-Bailiwick name servers for the given zone and a given set of name server names.

Takes a Zonemaster::Engine::Zone object and an arrayref of Zonemaster::Engine::Nameserver objects.

Returns an arrayref of Zonemaster::Engine::Nameserver objects for each name server name that was successfully resolved to an IP address, and Zonemaster::Engine::DNSName objects for each name server name that could not be resolved to an IP address.

_get_delegation($zone)

[Internal]

This Method will obtain the name server names (from the NS records) and the IP addresses (from Glue records) from the delegation of the given zone from the parent zone. Glue Records are address records for In-Bailiwick name server names, if any.

Takes a Zonemaster::Engine::Zone object.

Returns an arrayref of Zonemaster::Engine::Nameserver objects, or undef if no parent zone was found.

get_del_ns_names_and_ips($zone)

[External]

This Method will obtain the name server names (from the NS records) and the IP addresses (from Glue Records) from the delegation of the given zone from the parent zone. Glue Records, if any, are address records for name server names. Also obtain the IP addresses for the Out-Of-Bailiwick name server names, if any. If the Glue Records include address records for Out-Of-Bailiwick name servers they will be included twice, unless identical.

Takes a Zonemaster::Engine::Zone object.

Returns an arrayref of Zonemaster::Engine::Nameserver objects for each name server name that was successfully resolved to an IP address, and Zonemaster::Engine::DNSName objects for each name server name that could not be resolved to an IP address, or undef if no parent zone was found.

get_del_ns_names($zone)

[External]

This Method will obtain the name server names of the given zone as defined in the delegation from parent zone.

Takes a Zonemaster::Engine::Zone object.

Returns an arrayref of strings, or undef if no parent zone was found.

get_del_ns_ips($zone)

[External]

This Method will obtain the IP addresses (from Glue Records) from the delegation of the given zone from the parent zone. Glue Records are address records for In-Bailiwick name server names, if any. Also obtain the IP addresses for the Out-Of-Bailiwick name server names, if any.

Takes a Zonemaster::Engine::Zone object.

Returns an arrayref of strings, or undef if no parent zone was found.

get_zone_ns_names($zone)

[External]

This Method will obtain the names of the authoritative name servers for the given zone as defined in the NS records in the zone itself.

Takes a Zonemaster::Engine::Zone object.

Returns an arrayref of strings, or undef if no parent zone was found.

_get_ib_addr_in_zone($zone)

[Internal]

This Method will obtain the address records matching the In-Bailiwick name server names from the given zone.

Takes a Zonemaster::Engine::Zone object.

Returns an arrayref of Zonemaster::Engine::Nameserver objects, or undef if no parent zone was found.

get_zone_ns_names_and_ips($zone)

[External]

This Method will obtain the name server names (extracted from the NS records) from the apex of the given zone. For the In-Bailiwick name server names obtain the IP addresses from the given zone. For the Out-Of-Bailiwick name server names obtain the IP addresses from recursive lookup.

Takes a Zonemaster::Engine::Zone object.

Returns an arrayref of Zonemaster::Engine::Nameserver objects for each name server name that was successfully resolved to an IP address, and Zonemaster::Engine::DNSName objects for each name server name that could not be resolved to an IP address, or undef if no parent zone was found.

get_zone_ns_ips($zone)

[External]

This Method will obtain the IP addresses of the name servers, as extracted from the NS records of apex of the given zone.

Takes a Zonemaster::Engine::Zone object.

Returns an arrayref of strings, or undef if no parent zone was found.