Zonemaster::Engine(3pm) | User Contributed Perl Documentation | Zonemaster::Engine(3pm) |
Zonemaster::Engine - A tool to check the quality of a DNS zone
my @results = Zonemaster::Engine->test_zone('iis.se')
This manual describes the main Zonemaster::Engine module. If what you're after is documentation on the Zonemaster test engine as a whole, see Zonemaster::Engine::Overview.
The arguments are a domain name, and a hashref with delegation information. The keys in the hash are nameserver names, and the values are arrayrefs of IP addresses for their corresponding nameserver. Alternatively the IP addresses may be specified as an `undef` which is handled the same as an empty arrayref.
For each provided nameserver with an empty list of addresses, either a "FAKE_DELEGATION_NO_IP" or a "FAKE_DELEGATION_IN_ZONE_NO_IP" message is emitted.
The only recognized flag is "fill_in_empty_oob_glue". This flag is boolean and defaults to true. If this flag is true, this method updates the given $data by looking up and filling in some glue addresses. Specifically the glue addresses for any nameserver name that are out-of-bailiwick of the given $domain and that comes with an empty list of addresses.
Returns `1` if all name servers in $data have non-empty lists of glue (after they've been filled in) or if `fill_in_empty_oob_glue` is false. Otherwise it returns `undef`.
Examples:
Zonemaster::Engine->add_fake_delegation( 'lysator.liu.se' => { 'ns1.nic.fr' => [ ], 'ns.nic.se' => [ '212.247.7.228', '2a00:801:f0:53::53' ], 'i.ns.se' => [ '194.146.106.22', '2001:67c:1010:5::53' ], 'ns3.nic.se' => [ '212.247.8.152', '2a00:801:f0:211::152' ] }, );
returns 1.
Zonemaster::Engine->add_fake_delegation( 'lysator.liu.se' => { 'ns1.lysator.liu.se' => [ ], 'ns.nic.se' => [ '212.247.7.228', '2a00:801:f0:53::53' ], 'i.ns.se' => [ '194.146.106.22', '2001:67c:1010:5::53' ], 'ns3.nic.se' => [ '212.247.8.152', '2a00:801:f0:211::152' ] } );
returns "undef" (signalling that fake delegation with empty glue was added to the system).
Zonemaster::Engine->add_fake_delegation( 'lysator.liu.se' => { 'ns1.nic.fr' => [ ], 'ns.nic.se' => [ '212.247.7.228', '2a00:801:f0:53::53' ], 'i.ns.se' => [ '194.146.106.22', '2001:67c:1010:5::53' ], 'ns3.nic.se' => [ '212.247.8.152', '2a00:801:f0:211::152' ] }, fill_in_empty_oob_glue => 0, );
returns 1. It does not even attempt to fill in glue for ns1.nic.fr.
Example:
Zonemaster::Engine->add_fake_ds( 'nic.se' => [ { keytag => 16696, algorithm => 5, type => 2, digest => '40079DDF8D09E7F10BB248A69B6630478A28EF969DDE399F95BC3B39F8CBACD7' }, { keytag => 16696, algorithm => 5, type => 1, digest => 'EF5D421412A5EAF1230071AFFD4F585E3B2B1A60' }, ] );
Vincent Levigneron <vincent.levigneron at nic.fr> - Current maintainer
Calle Dybedahl <calle at init.se> - Original author
This is free software under a 2-clause BSD license. The full text of the license can be found in the LICENSE file included with this distribution.
2023-03-04 | perl v5.36.0 |