Afnic and IIS Zonemaster Project
and 1 contributors


Zonemaster::Engine::Recursor - recursive resolver for Zonemaster


    my $packet = Zonemaster::Engine::Recursor->recurse($name, $type, $class);
    my $pname = Zonemaster::Engine::Recursor->parent('');



Will cache result of previous queries.


Contains namservers IP addresses which are used in case of fake delegations (pre-publication tests).


recurse($name, $type, $class)

Does a recursive resolution from the root servers down for the given triplet.


Does a recursive resolution from the root down for the given name (using type SOA and class IN). If the resolution is successful, it returns the domain name of the second-to-last step. If the resolution is unsuccessful, it returns the domain name of the last step.

get_ns_from($packet, $state)

Internal method. Takes a packet and a recursion state and returns a list of ns objects. Used to follow redirections.

get_addresses_for($name[, $state])

Takes a name and returns a (possibly empty) list of IP addresses for that name (in the form of Zonemaster::Engine::Net::IP objects). When used internally by the recursor it's passed a recursion state as its second argument.

add_fake_addresses($domain, $data)

Class method to create fake adresses for fake delegations for a specified domain from data provided.


Class method to empty the cache of responses to recursive queries (but not the ones for fake delegations).


Returns a list of ns objects representing the root servers. The list of root servers is hardcoded into this module.