Zonemaster::Engine::Recursor(3p)

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

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

CLASS VARIABLES

%recurse_cache
    Will cache result of previous queries.

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

METHODS

recurse($name, $type, $class)
    Does a recursive resolution from the root servers down for the given triplet.

parent($name)
    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.

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

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