class documentation

ResolverBase is a base class for implementations of interfaces.IResolver which deals with a lot of the boilerplate of implementing all of the lookup methods.

Method __init__ Undocumented
Method exceptionForCode Convert a response code (one of the possible values of dns.Message.rCode to an exception instance representing it.
Method getHostByName Resolve the domain name name into an IP address.
Method lookupAddress Perform an A record lookup.
Method lookupAddress6 Perform an A6 record lookup.
Method lookupAFSDatabase Perform an AFSDB record lookup.
Method lookupAllRecords Perform an ALL_RECORD lookup.
Method lookupAuthority Perform an SOA record lookup.
Method lookupCanonicalName Perform a CNAME record lookup.
Method lookupHostInfo Perform a HINFO record lookup.
Method lookupIPV6Address Perform an AAAA record lookup.
Method lookupMailBox Perform an MB record lookup.
Method lookupMailboxInfo Perform an MINFO record lookup.
Method lookupMailExchange Perform an MX record lookup.
Method lookupMailGroup Perform an MG record lookup.
Method lookupMailRename Perform an MR record lookup.
Method lookupNameservers Perform an NS record lookup.
Method lookupNamingAuthorityPointer Perform a NAPTR record lookup.
Method lookupNull Perform a NULL record lookup.
Method lookupPointer Perform a PTR record lookup.
Method lookupResponsibility Perform an RP record lookup.
Method lookupSenderPolicy Perform a SPF record lookup.
Method lookupService Perform an SRV record lookup.
Method lookupText Perform a TXT record lookup.
Method lookupWellKnownServices Perform a WKS record lookup.
Method lookupZone Perform an AXFR record lookup.
Method query Dispatch query to the method which can handle its type.
Instance Variable typeToMethod Undocumented
Method _cbRecords Undocumented
Method _lookup Undocumented
Class Variable _errormap A dict mapping DNS protocol failure response codes to exception classes which will be used to represent those failures.
Class Variable _log Undocumented
def exceptionForCode(self, responseCode): (source)

Convert a response code (one of the possible values of dns.Message.rCode to an exception instance representing it.

Present Since
10.0
def getHostByName(self, name, timeout=None, effort=10): (source)

Resolve the domain name name into an IP address.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
effortUndocumented
Returns
The callback of the Deferred that is returned will be passed a string that represents the IP address of the specified name, or the errback will be called if the lookup times out. If multiple types of address records are associated with the name, A6 records will be returned in preference to AAAA records, which will be returned in preference to A records. If there are multiple records of the type to be returned, one will be selected at random.
Raises
twisted.internet.defer.TimeoutErrorRaised (asynchronously) if the name cannot be resolved within the specified timeout period.
def lookupAddress(self, name, timeout=None): (source)

Perform an A record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupAddress6(self, name, timeout=None): (source)

Perform an A6 record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupAFSDatabase(self, name, timeout=None): (source)

Perform an AFSDB record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupAllRecords(self, name, timeout=None): (source)

Perform an ALL_RECORD lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupAuthority(self, name, timeout=None): (source)

Perform an SOA record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupCanonicalName(self, name, timeout=None): (source)

Perform a CNAME record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupHostInfo(self, name, timeout=None): (source)

Perform a HINFO record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupIPV6Address(self, name, timeout=None): (source)

Perform an AAAA record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupMailBox(self, name, timeout=None): (source)

Perform an MB record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupMailboxInfo(self, name, timeout=None): (source)

Perform an MINFO record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupMailExchange(self, name, timeout=None): (source)

Perform an MX record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupMailGroup(self, name, timeout=None): (source)

Perform an MG record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupMailRename(self, name, timeout=None): (source)

Perform an MR record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupNameservers(self, name, timeout=None): (source)

Perform an NS record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupNamingAuthorityPointer(self, name, timeout=None): (source)

Perform a NAPTR record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupNull(self, name, timeout=None): (source)

Perform a NULL record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupPointer(self, name, timeout=None): (source)

Perform a PTR record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupResponsibility(self, name, timeout=None): (source)

Perform an RP record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupSenderPolicy(self, name, timeout=None): (source)

Perform a SPF record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupService(self, name, timeout=None): (source)

Perform an SRV record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupText(self, name, timeout=None): (source)

Perform a TXT record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupWellKnownServices(self, name, timeout=None): (source)

Perform a WKS record lookup.

Parameters
nameDNS name to resolve.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def lookupZone(self, name, timeout=None): (source)

Perform an AXFR record lookup.

NB This is quite different from other DNS requests. See http://cr.yp.to/djbdns/axfr-notes.html for more information.

NB Unlike other lookup* methods, the timeout here is not a list of ints, it is a single int.

Parameters
nameDNS name to resolve.
timeoutWhen this timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second and third elements are always empty. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
def query(self, query, timeout=None): (source)

Dispatch query to the method which can handle its type.

Parameters
queryThe DNS query being issued, to which a response is to be generated.
timeoutNumber of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError.
typeToMethod: dict = (source)

Undocumented

def _cbRecords(self, records, name, effort): (source)

Undocumented

_errormap = (source)

A dict mapping DNS protocol failure response codes to exception classes which will be used to represent those failures.

Undocumented