class _WireReader:
-
"""Wire format reader.
parser: the binary parser
class _TextReader:
-
"""Text format reader.
tok: the tokenizer.
class Node:
-
"""A Node is a set of rdatasets.
A node is either a CNAME node or an "other data" node. A CNAME
@dns.immutable.immutable
class GenericRdata(Rdata):
-
"""Generic Rdata Class
This class is used for rdata types for which we have no better
return cls(rdclass, rdtype, parser.get_remaining())
-_rdata_classes: Dict[
- Tuple[dns.rdataclass.RdataClass, dns.rdatatype.RdataType], Any
-] = {}
+_rdata_classes: Dict[Tuple[dns.rdataclass.RdataClass, dns.rdatatype.RdataType], Any] = (
+ {}
+)
_module_prefix = "dns.rdtypes"
class Rdataset(dns.set.Set):
-
"""A DNS rdataset."""
__slots__ = ["rdclass", "rdtype", "covers", "ttl"]
@dns.immutable.immutable
class ImmutableRdataset(Rdataset): # lgtm[py/missing-equals]
-
"""An immutable DNS rdataset."""
_clone_class = Rdataset
@dns.immutable.immutable
class AFSDB(dns.rdtypes.mxbase.UncompressedDowncasingMX):
-
"""AFSDB record"""
# Use the property mechanism to make "subtype" an alias for the
@dns.immutable.immutable
class AMTRELAY(dns.rdata.Rdata):
-
"""AMTRELAY record"""
# see: RFC 8777
@dns.immutable.immutable
class AVC(dns.rdtypes.txtbase.TXTBase):
-
"""AVC record"""
# See: IANA dns parameters for AVC
@dns.immutable.immutable
class CAA(dns.rdata.Rdata):
-
"""CAA (Certification Authority Authorization) record"""
# see: RFC 6844
@dns.immutable.immutable
class CDNSKEY(dns.rdtypes.dnskeybase.DNSKEYBase):
-
"""CDNSKEY record"""
@dns.immutable.immutable
class CDS(dns.rdtypes.dsbase.DSBase):
-
"""CDS record"""
_digest_length_by_type = {
@dns.immutable.immutable
class CERT(dns.rdata.Rdata):
-
"""CERT record"""
# see RFC 4398
@dns.immutable.immutable
class CNAME(dns.rdtypes.nsbase.NSBase):
-
"""CNAME record
Note: although CNAME is officially a singleton type, dnspython allows
@dns.immutable.immutable
class CSYNC(dns.rdata.Rdata):
-
"""CSYNC record"""
__slots__ = ["serial", "flags", "windows"]
@dns.immutable.immutable
class DLV(dns.rdtypes.dsbase.DSBase):
-
"""DLV record"""
@dns.immutable.immutable
class DNAME(dns.rdtypes.nsbase.UncompressedNS):
-
"""DNAME record"""
def _to_wire(self, file, compress=None, origin=None, canonicalize=False):
@dns.immutable.immutable
class DNSKEY(dns.rdtypes.dnskeybase.DNSKEYBase):
-
"""DNSKEY record"""
@dns.immutable.immutable
class DS(dns.rdtypes.dsbase.DSBase):
-
"""DS record"""
@dns.immutable.immutable
class EUI48(dns.rdtypes.euibase.EUIBase):
-
"""EUI48 record"""
# see: rfc7043.txt
@dns.immutable.immutable
class EUI64(dns.rdtypes.euibase.EUIBase):
-
"""EUI64 record"""
# see: rfc7043.txt
@dns.immutable.immutable
class GPOS(dns.rdata.Rdata):
-
"""GPOS record"""
# see: RFC 1712
@dns.immutable.immutable
class HINFO(dns.rdata.Rdata):
-
"""HINFO record"""
# see: RFC 1035
@dns.immutable.immutable
class HIP(dns.rdata.Rdata):
-
"""HIP record"""
# see: RFC 5205
@dns.immutable.immutable
class ISDN(dns.rdata.Rdata):
-
"""ISDN record"""
# see: RFC 1183
@dns.immutable.immutable
class L32(dns.rdata.Rdata):
-
"""L32 record"""
# see: rfc6742.txt
@dns.immutable.immutable
class L64(dns.rdata.Rdata):
-
"""L64 record"""
# see: rfc6742.txt
@dns.immutable.immutable
class LOC(dns.rdata.Rdata):
-
"""LOC record"""
# see: RFC 1876
@dns.immutable.immutable
class LP(dns.rdata.Rdata):
-
"""LP record"""
# see: rfc6742.txt
@dns.immutable.immutable
class MX(dns.rdtypes.mxbase.MXBase):
-
"""MX record"""
@dns.immutable.immutable
class NID(dns.rdata.Rdata):
-
"""NID record"""
# see: rfc6742.txt
@dns.immutable.immutable
class NINFO(dns.rdtypes.txtbase.TXTBase):
-
"""NINFO record"""
# see: draft-reid-dnsext-zs-01
@dns.immutable.immutable
class NS(dns.rdtypes.nsbase.NSBase):
-
"""NS record"""
@dns.immutable.immutable
class NSEC(dns.rdata.Rdata):
-
"""NSEC record"""
__slots__ = ["next", "windows"]
@dns.immutable.immutable
class NSEC3(dns.rdata.Rdata):
-
"""NSEC3 record"""
__slots__ = ["algorithm", "flags", "iterations", "salt", "next", "windows"]
@dns.immutable.immutable
class NSEC3PARAM(dns.rdata.Rdata):
-
"""NSEC3PARAM record"""
__slots__ = ["algorithm", "flags", "iterations", "salt"]
@dns.immutable.immutable
class OPENPGPKEY(dns.rdata.Rdata):
-
"""OPENPGPKEY record"""
# see: RFC 7929
@dns.immutable.immutable
class OPT(dns.rdata.Rdata):
-
"""OPT record"""
__slots__ = ["options"]
@dns.immutable.immutable
class PTR(dns.rdtypes.nsbase.NSBase):
-
"""PTR record"""
@dns.immutable.immutable
class RP(dns.rdata.Rdata):
-
"""RP record"""
# see: RFC 1183
class BadSigTime(dns.exception.DNSException):
-
"""Time in DNS SIG or RRSIG resource record cannot be parsed."""
@dns.immutable.immutable
class RRSIG(dns.rdata.Rdata):
-
"""RRSIG record"""
__slots__ = [
@dns.immutable.immutable
class RT(dns.rdtypes.mxbase.UncompressedDowncasingMX):
-
"""RT record"""
@dns.immutable.immutable
class SOA(dns.rdata.Rdata):
-
"""SOA record"""
# see: RFC 1035
@dns.immutable.immutable
class SPF(dns.rdtypes.txtbase.TXTBase):
-
"""SPF record"""
# see: RFC 4408
@dns.immutable.immutable
class SSHFP(dns.rdata.Rdata):
-
"""SSHFP record"""
# See RFC 4255
@dns.immutable.immutable
class TKEY(dns.rdata.Rdata):
-
"""TKEY Record"""
__slots__ = [
@dns.immutable.immutable
class TLSA(dns.rdtypes.tlsabase.TLSABase):
-
"""TLSA record"""
@dns.immutable.immutable
class TSIG(dns.rdata.Rdata):
-
"""TSIG record"""
__slots__ = [
@dns.immutable.immutable
class TXT(dns.rdtypes.txtbase.TXTBase):
-
"""TXT record"""
@dns.immutable.immutable
class URI(dns.rdata.Rdata):
-
"""URI record"""
# see RFC 7553
@dns.immutable.immutable
class X25(dns.rdata.Rdata):
-
"""X25 record"""
# see RFC 1183
@dns.immutable.immutable
class ZONEMD(dns.rdata.Rdata):
-
"""ZONEMD record"""
# See RFC 8976
@dns.immutable.immutable
class A(dns.rdata.Rdata):
-
"""A record for Chaosnet"""
# domain: the domain of the address
@dns.immutable.immutable
class A(dns.rdata.Rdata):
-
"""A record."""
__slots__ = ["address"]
@dns.immutable.immutable
class AAAA(dns.rdata.Rdata):
-
"""AAAA record."""
__slots__ = ["address"]
@dns.immutable.immutable
class APLItem:
-
"""An APL list item."""
__slots__ = ["family", "negation", "address", "prefix"]
@dns.immutable.immutable
class APL(dns.rdata.Rdata):
-
"""APL record."""
# see: RFC 3123
@dns.immutable.immutable
class DHCID(dns.rdata.Rdata):
-
"""DHCID record"""
# see: RFC 4701
@dns.immutable.immutable
class IPSECKEY(dns.rdata.Rdata):
-
"""IPSECKEY record"""
# see: RFC 4025
@dns.immutable.immutable
class KX(dns.rdtypes.mxbase.UncompressedDowncasingMX):
-
"""KX record"""
@dns.immutable.immutable
class NAPTR(dns.rdata.Rdata):
-
"""NAPTR record"""
# see: RFC 3403
@dns.immutable.immutable
class NSAP(dns.rdata.Rdata):
-
"""NSAP record."""
# see: RFC 1706
@dns.immutable.immutable
class NSAP_PTR(dns.rdtypes.nsbase.UncompressedNS):
-
"""NSAP-PTR record"""
@dns.immutable.immutable
class PX(dns.rdata.Rdata):
-
"""PX record."""
# see: RFC 2163
@dns.immutable.immutable
class SRV(dns.rdata.Rdata):
-
"""SRV record"""
# see: RFC 2782
@dns.immutable.immutable
class WKS(dns.rdata.Rdata):
-
"""WKS record"""
# see: RFC 1035
@dns.immutable.immutable
class DNSKEYBase(dns.rdata.Rdata):
-
"""Base class for rdata that is like a DNSKEY record"""
__slots__ = ["flags", "protocol", "algorithm", "key"]
@dns.immutable.immutable
class DSBase(dns.rdata.Rdata):
-
"""Base class for rdata that is like a DS record"""
__slots__ = ["key_tag", "algorithm", "digest_type", "digest"]
@dns.immutable.immutable
class EUIBase(dns.rdata.Rdata):
-
"""EUIxx record"""
# see: rfc7043.txt
@dns.immutable.immutable
class MXBase(dns.rdata.Rdata):
-
"""Base class for rdata that is like an MX record."""
__slots__ = ["preference", "exchange"]
@dns.immutable.immutable
class UncompressedMX(MXBase):
-
"""Base class for rdata that is like an MX record, but whose name
is not compressed when converted to DNS wire format, and whose
digestable form is not downcased."""
@dns.immutable.immutable
class UncompressedDowncasingMX(MXBase):
-
"""Base class for rdata that is like an MX record, but whose name
is not compressed when convert to DNS wire format."""
@dns.immutable.immutable
class NSBase(dns.rdata.Rdata):
-
"""Base class for rdata that is like an NS record."""
__slots__ = ["target"]
@dns.immutable.immutable
class UncompressedNS(NSBase):
-
"""Base class for rdata that is like an NS record, but whose name
is not compressed when convert to DNS wire format, and whose
digestable form is not downcased."""
@dns.immutable.immutable
class SVCBBase(dns.rdata.Rdata):
-
"""Base class for SVCB-like records"""
# see: draft-ietf-dnsop-svcb-https-11
@dns.immutable.immutable
class TLSABase(dns.rdata.Rdata):
-
"""Base class for TLSA and SMIMEA records"""
# see: RFC 6698
@dns.immutable.immutable
class TXTBase(dns.rdata.Rdata):
-
"""Base class for rdata that is like a TXT record (see RFC 1035)."""
__slots__ = ["strings"]
class RRset(dns.rdataset.Rdataset):
-
"""A DNS RRset (named rdataset).
RRset inherits from Rdataset, and RRsets can be treated as
class Set:
-
"""A simple set class.
This class was originally used to deal with sets being missing in
class BadTime(dns.exception.DNSException):
-
"""The current time is not within the TSIG's validity time."""
class BadSignature(dns.exception.DNSException):
-
"""The TSIG signature fails to verify."""
class BadKey(dns.exception.DNSException):
-
"""The TSIG record owner name does not match the key."""
class BadAlgorithm(dns.exception.DNSException):
-
"""The TSIG algorithm does not match the key."""
class PeerError(dns.exception.DNSException):
-
"""Base class for all TSIG errors generated by the remote peer"""
class PeerBadKey(PeerError):
-
"""The peer didn't know the key we used"""
class PeerBadSignature(PeerError):
-
"""The peer didn't like the signature we sent"""
class PeerBadTime(PeerError):
-
"""The peer didn't like the time we sent"""
class PeerBadTruncation(PeerError):
-
"""The peer didn't like amount of truncation in the TSIG we sent"""
class BadZone(dns.exception.DNSException):
-
"""The DNS zone is malformed."""
class NoSOA(BadZone):
-
"""The DNS zone has no SOA RR at its origin."""
class NoNS(BadZone):
-
"""The DNS zone has no NS RRset at its origin."""
class UnknownOrigin(BadZone):
-
"""The DNS zone's origin is unknown."""
class UnsupportedDigestScheme(dns.exception.DNSException):
-
"""The zone digest's scheme is unsupported."""
class UnsupportedDigestHashAlgorithm(dns.exception.DNSException):
-
"""The zone digest's origin is unsupported."""
class NoDigest(dns.exception.DNSException):
-
"""The DNS zone has no ZONEMD RRset at its origin."""
class DigestVerificationFailure(dns.exception.DNSException):
-
"""The ZONEMD digest failed to verify."""
class Zone(dns.transaction.TransactionManager):
-
"""A DNS zone.
A ``Zone`` is a mapping from names to nodes. The zone object may be
class Reader:
-
"""Read a DNS zone file into a transaction."""
def __init__(