DNSCheck::Test::Delegation(3)

NAME
DNSCheck::Test::Delegation - Test zone delegation

DESCRIPTION
Test zone delegation. The following tests are made:

•   All nameservers at parent must exist at child.

•   Nameservers at child may exist at parent.

•   # REQUIRE: at least two (2) NS records at parent [IIS.KVSE.001.01/r1]

•   # REQUIRE: check for inconsistent glue

METHODS

->test($zonename, $historyarrayref)
    Run the default set of delegation tests on the given domain with the specified history.

->ns_parent_child_matching($zonename)
    Only run the tests checking if the parent and child nameserver information matches. Returns a two-element list, with the first element being the number of problems at levels ERROR and CRITICAL, and the second element being a boolean flag indicating if the zone is at all testable. If that flag is false, there is not point in running any further tests, since they will almst invariably fail.

->consistent_glue($zonename)
    Check that the glue records for the zone make sense.

->enough_nameservers($zonename)
    Check that there are a sufficient number of nameservers for the given zone.

->check_history($zonename, $historyarrayref)
    Go through the nameservers that used to be authoritative for this zone and check that they no longer answer authoritatively for it.

->cname_as_ns($zone)
    Checks if any of the nameserver names for the given zone return CNAME records to A or AAAA queries.

->in_zone_ns_glue($zone)
    Checks that all in-zone nameserver records come with glue.

referral_size($zone)
    Fetches NS data from child servers, and verifies that a referral packet of at most 512 octets can be built from the returned information.

_max_length_name_for($name)
    Internal utility function (not method) that takes a domain name and returns a made-up maximally long name with the given name as a suffix.

min_packet_length($zone, %nsdata)
    Takes the name of a zone and data about its nameservers, and returns the size in octets of the smallest functional referral packet that can be built from the data given a query for a maximally long name. The %nsdata hash should have nameservers names as keys, and references to lists of strings with IP addresses (v4 and v6) as values.

Where nothing else is said, all methods return the total number of errors found at levels ERROR and CRITICAL.

EXAMPLES

SEE ALSO
DNSCheck, DNSCheck::Logger