DNSCheck::Lookup::Resolver(3)

NAME
DNSCheck::Lookup::Resolver - a recursive DNS resolver for DNSCheck

DESCRIPTION
This module does recursive lookups, and is heavily used by DNSCheck::Lookup::DNS.

PUBLIC METHODS

->new($parent)
    Creates and configures a new resolver object. The parent object should be a DNSCheck object, and it will be used to find DNS resolver configuration information.

->get($name, $type, $class, @nameservers)
    Send a DNS query to specified servers.

->recurse($name, $type, [$class])
    Do a recursive query. If the class is not specified, it defaults to IN.

INTERNAL METHODS

->get_preload_data()
    Class method. Does a recursive global NS lookup for the root zone, using the system paramters, and returns a reference to a nested hash stucture suitable for use as an object cache.

->add_fake_glue()
    Add fake glue for an undelegated test.

->cache()
    Return a reference to the object's name cache.

->canonicalize_name($name)
    Return the given name in its canonical form, with a trailing dot.

->resolver()
    Returns the underlying Net::DNS::Resolver object that's used to send queries to nameservers.

->cdflag() =item ->dnssec() =item ->recursion() =item ->errorstring()
    These four methods simply proxy to the underlying resolver object.

->fake_ns_packet()
    Create an artificial response packet to an NS query.

->fake_packet()
    Create an artificial response packet to an A, AAAA or NS query.

->faked_zone($zone)
    Return nameserver names for the given zone if fake glue has been added for it, or "undefined" if not.

->faked_zones()
    Return a list of the names of all zones we have fake glue data for.

->highest_known_ns()
    Return the nearest ancestor zone we have in cache for the given zone name.

->matches($packet, $name, $type, $class)
    Check if the given Net::DNS::Packet contains any records matching the given name, type and class.

->matching_labels($name1, $name2)
    Count the number of matching labels in the two given names.

->names_to_ips(@namelist)
    Return a list of IP addresses for the given names, doing recursive lookups for them.

->simple_names_to_ips()
    Return a list of IP addresses for the given names, only looking at what is already in the object's cache.

->remember($packet)
    Add data from the given response packet to the object's cache.

->strip_label($name)
    Return a name that's one label shorter than the given name, except if the given name is the root, in which case the root is returned.

->parent() =item ->config() =item ->logger()
    These three are the same as in all other DNSCheck classes.

->times()
    Return a reference to the nested hash structure holding nameserver response time data.