From 1bb5cebaf43ab76c12a9ddc48cbe08fbda361ddb Mon Sep 17 00:00:00 2001 From: Bob Halley Date: Sat, 9 May 2020 19:38:08 -0700 Subject: [PATCH] checkpoint rdata subclass doc, finally done --- dns/rdtypes/ANY/AFSDB.py | 7 +- dns/rdtypes/ANY/NSEC.py | 7 +- dns/rdtypes/ANY/NSEC3.py | 15 +- dns/rdtypes/ANY/NSEC3PARAM.py | 11 +- dns/rdtypes/ANY/OPENPGPKEY.py | 7 +- dns/rdtypes/ANY/RP.py | 9 +- dns/rdtypes/ANY/RRSIG.py | 21 +- dns/rdtypes/ANY/SOA.py | 19 +- dns/rdtypes/ANY/SSHFP.py | 10 +- dns/rdtypes/ANY/TLSA.py | 12 +- dns/rdtypes/ANY/URI.py | 10 +- dns/rdtypes/ANY/X25.py | 6 +- dns/rdtypes/IN/A.py | 5 +- dns/rdtypes/IN/AAAA.py | 5 +- dns/rdtypes/IN/APL.py | 20 +- dns/rdtypes/IN/DHCID.py | 7 +- dns/rdtypes/IN/IPSECKEY.py | 14 +- dns/rdtypes/IN/NAPTR.py | 18 +- dns/rdtypes/IN/NSAP.py | 6 +- dns/rdtypes/IN/PX.py | 10 +- dns/rdtypes/IN/SRV.py | 12 +- dns/rdtypes/IN/WKS.py | 10 +- doc/rdata-subclasses.rst | 452 ++++++++++++++++++++++++++++------ 23 files changed, 415 insertions(+), 278 deletions(-) diff --git a/dns/rdtypes/ANY/AFSDB.py b/dns/rdtypes/ANY/AFSDB.py index 10861e31..40878900 100644 --- a/dns/rdtypes/ANY/AFSDB.py +++ b/dns/rdtypes/ANY/AFSDB.py @@ -20,12 +20,7 @@ import dns.rdtypes.mxbase class AFSDB(dns.rdtypes.mxbase.UncompressedDowncasingMX): - """AFSDB record - - @ivar subtype: the subtype value - @type subtype: int - @ivar hostname: the hostname name - @type hostname: dns.name.Name object""" + """AFSDB record""" # Use the property mechanism to make "subtype" an alias for the # "preference" attribute, and "hostname" an alias for the "exchange" diff --git a/dns/rdtypes/ANY/NSEC.py b/dns/rdtypes/ANY/NSEC.py index a497fbab..63203b5d 100644 --- a/dns/rdtypes/ANY/NSEC.py +++ b/dns/rdtypes/ANY/NSEC.py @@ -25,12 +25,7 @@ import dns.name class NSEC(dns.rdata.Rdata): - """NSEC record - - @ivar next: the next name - @type next: dns.name.Name object - @ivar windows: the windowed bitmap list - @type windows: list of (window number, string) tuples""" + """NSEC record""" __slots__ = ['next', 'windows'] diff --git a/dns/rdtypes/ANY/NSEC3.py b/dns/rdtypes/ANY/NSEC3.py index fbb25556..c41b8fa6 100644 --- a/dns/rdtypes/ANY/NSEC3.py +++ b/dns/rdtypes/ANY/NSEC3.py @@ -38,20 +38,7 @@ OPTOUT = 1 class NSEC3(dns.rdata.Rdata): - """NSEC3 record - - @ivar algorithm: the hash algorithm number - @type algorithm: int - @ivar flags: the flags - @type flags: int - @ivar iterations: the number of iterations - @type iterations: int - @ivar salt: the salt - @type salt: string - @ivar next: the next name hash - @type next: string - @ivar windows: the windowed bitmap list - @type windows: list of (window number, string) tuples""" + """NSEC3 record""" __slots__ = ['algorithm', 'flags', 'iterations', 'salt', 'next', 'windows'] diff --git a/dns/rdtypes/ANY/NSEC3PARAM.py b/dns/rdtypes/ANY/NSEC3PARAM.py index d317b6c5..f0d5bb10 100644 --- a/dns/rdtypes/ANY/NSEC3PARAM.py +++ b/dns/rdtypes/ANY/NSEC3PARAM.py @@ -24,16 +24,7 @@ import dns.rdata class NSEC3PARAM(dns.rdata.Rdata): - """NSEC3PARAM record - - @ivar algorithm: the hash algorithm number - @type algorithm: int - @ivar flags: the flags - @type flags: int - @ivar iterations: the number of iterations - @type iterations: int - @ivar salt: the salt - @type salt: string""" + """NSEC3PARAM record""" __slots__ = ['algorithm', 'flags', 'iterations', 'salt'] diff --git a/dns/rdtypes/ANY/OPENPGPKEY.py b/dns/rdtypes/ANY/OPENPGPKEY.py index e9b43095..0bf7ab43 100644 --- a/dns/rdtypes/ANY/OPENPGPKEY.py +++ b/dns/rdtypes/ANY/OPENPGPKEY.py @@ -23,12 +23,9 @@ import dns.tokenizer class OPENPGPKEY(dns.rdata.Rdata): - """OPENPGPKEY record + """OPENPGPKEY record""" - @ivar key: the key - @type key: bytes - @see: RFC 7929 - """ + # see: RFC 7929 def __init__(self, rdclass, rdtype, key): super().__init__(rdclass, rdtype) diff --git a/dns/rdtypes/ANY/RP.py b/dns/rdtypes/ANY/RP.py index 29ac549b..9580929f 100644 --- a/dns/rdtypes/ANY/RP.py +++ b/dns/rdtypes/ANY/RP.py @@ -22,14 +22,9 @@ import dns.name class RP(dns.rdata.Rdata): - """RP record + """RP record""" - @ivar mbox: The responsible person's mailbox - @type mbox: dns.name.Name object - @ivar txt: The owner name of a node with TXT records, or the root name - if no TXT records are associated with this RP. - @type txt: dns.name.Name object - @see: RFC 1183""" + # see: RFC 1183 __slots__ = ['mbox', 'txt'] diff --git a/dns/rdtypes/ANY/RRSIG.py b/dns/rdtypes/ANY/RRSIG.py index 94dbe5cb..09965ce8 100644 --- a/dns/rdtypes/ANY/RRSIG.py +++ b/dns/rdtypes/ANY/RRSIG.py @@ -52,26 +52,7 @@ def posixtime_to_sigtime(what): class RRSIG(dns.rdata.Rdata): - """RRSIG record - - @ivar type_covered: the rdata type this signature covers - @type type_covered: int - @ivar algorithm: the algorithm used for the sig - @type algorithm: int - @ivar labels: number of labels - @type labels: int - @ivar original_ttl: the original TTL - @type original_ttl: long - @ivar expiration: signature expiration time - @type expiration: long - @ivar inception: signature inception time - @type inception: long - @ivar key_tag: the key tag - @type key_tag: int - @ivar signer: the signer - @type signer: dns.name.Name object - @ivar signature: the signature - @type signature: string""" + """RRSIG record""" __slots__ = ['type_covered', 'algorithm', 'labels', 'original_ttl', 'expiration', 'inception', 'key_tag', 'signer', diff --git a/dns/rdtypes/ANY/SOA.py b/dns/rdtypes/ANY/SOA.py index 3627cc0d..bb502653 100644 --- a/dns/rdtypes/ANY/SOA.py +++ b/dns/rdtypes/ANY/SOA.py @@ -24,24 +24,9 @@ import dns.name class SOA(dns.rdata.Rdata): - """SOA record + """SOA record""" - @ivar mname: the SOA MNAME (master name) field - @type mname: dns.name.Name object - @ivar rname: the SOA RNAME (responsible name) field - @type rname: dns.name.Name object - @ivar serial: The zone's serial number - @type serial: int - @ivar refresh: The zone's refresh value (in seconds) - @type refresh: int - @ivar retry: The zone's retry value (in seconds) - @type retry: int - @ivar expire: The zone's expiration value (in seconds) - @type expire: int - @ivar minimum: The zone's negative caching time (in seconds, called - "minimum" for historical reasons) - @type minimum: int - @see: RFC 1035""" + # see: RFC 1035 __slots__ = ['mname', 'rname', 'serial', 'refresh', 'retry', 'expire', 'minimum'] diff --git a/dns/rdtypes/ANY/SSHFP.py b/dns/rdtypes/ANY/SSHFP.py index 0c06607f..8f8d0ca4 100644 --- a/dns/rdtypes/ANY/SSHFP.py +++ b/dns/rdtypes/ANY/SSHFP.py @@ -24,15 +24,9 @@ import dns.rdatatype class SSHFP(dns.rdata.Rdata): - """SSHFP record + """SSHFP record""" - @ivar algorithm: the algorithm - @type algorithm: int - @ivar fp_type: the digest type - @type fp_type: int - @ivar fingerprint: the fingerprint - @type fingerprint: string - @see: draft-ietf-secsh-dns-05.txt""" + # See RFC 4255 __slots__ = ['algorithm', 'fp_type', 'fingerprint'] diff --git a/dns/rdtypes/ANY/TLSA.py b/dns/rdtypes/ANY/TLSA.py index ac2b3261..7b39030f 100644 --- a/dns/rdtypes/ANY/TLSA.py +++ b/dns/rdtypes/ANY/TLSA.py @@ -24,17 +24,9 @@ import dns.rdatatype class TLSA(dns.rdata.Rdata): - """TLSA record + """TLSA record""" - @ivar usage: The certificate usage - @type usage: int - @ivar selector: The selector field - @type selector: int - @ivar mtype: The 'matching type' field - @type mtype: int - @ivar cert: The 'Certificate Association Data' field - @type cert: string - @see: RFC 6698""" + # see: RFC 6698 __slots__ = ['usage', 'selector', 'mtype', 'cert'] diff --git a/dns/rdtypes/ANY/URI.py b/dns/rdtypes/ANY/URI.py index 4e9d9361..c37ecdf1 100644 --- a/dns/rdtypes/ANY/URI.py +++ b/dns/rdtypes/ANY/URI.py @@ -25,15 +25,9 @@ import dns.name class URI(dns.rdata.Rdata): - """URI record + """URI record""" - @ivar priority: the priority - @type priority: int - @ivar weight: the weight - @type weight: int - @ivar target: the target host - @type target: dns.name.Name object - @see: draft-faltstrom-uri-13""" + # see RFC 7553 __slots__ = ['priority', 'weight', 'target'] diff --git a/dns/rdtypes/ANY/X25.py b/dns/rdtypes/ANY/X25.py index dfae3d4d..04c33206 100644 --- a/dns/rdtypes/ANY/X25.py +++ b/dns/rdtypes/ANY/X25.py @@ -24,11 +24,9 @@ import dns.tokenizer class X25(dns.rdata.Rdata): - """X25 record + """X25 record""" - @ivar address: the PSDN address - @type address: string - @see: RFC 1183""" + # see RFC 1183 __slots__ = ['address'] diff --git a/dns/rdtypes/IN/A.py b/dns/rdtypes/IN/A.py index a489d3c7..9476d475 100644 --- a/dns/rdtypes/IN/A.py +++ b/dns/rdtypes/IN/A.py @@ -23,10 +23,7 @@ import dns.tokenizer class A(dns.rdata.Rdata): - """A record. - - @ivar address: an IPv4 address - @type address: string (in the standard "dotted quad" format)""" + """A record.""" __slots__ = ['address'] diff --git a/dns/rdtypes/IN/AAAA.py b/dns/rdtypes/IN/AAAA.py index 6eb1bdb8..658cc4b0 100644 --- a/dns/rdtypes/IN/AAAA.py +++ b/dns/rdtypes/IN/AAAA.py @@ -23,10 +23,7 @@ import dns.tokenizer class AAAA(dns.rdata.Rdata): - """AAAA record. - - @ivar address: an IPv6 address - @type address: string (in the standard IPv6 format)""" + """AAAA record.""" __slots__ = ['address'] diff --git a/dns/rdtypes/IN/APL.py b/dns/rdtypes/IN/APL.py index 443d7149..2481d62d 100644 --- a/dns/rdtypes/IN/APL.py +++ b/dns/rdtypes/IN/APL.py @@ -27,17 +27,7 @@ import dns.tokenizer class APLItem(object): - """An APL list item. - - @ivar family: the address family (IANA address family registry) - @type family: int - @ivar negation: is this item negated? - @type negation: bool - @ivar address: the address - @type address: string - @ivar prefix: the prefix length - @type prefix: int - """ + """An APL list item.""" __slots__ = ['family', 'negation', 'address', 'prefix'] @@ -80,11 +70,9 @@ class APLItem(object): class APL(dns.rdata.Rdata): - """APL record. + """APL record.""" - @ivar items: a list of APL items - @type items: list of APL_Item - @see: RFC 3123""" + # see: RFC 3123 __slots__ = ['items'] @@ -99,7 +87,7 @@ class APL(dns.rdata.Rdata): def from_text(cls, rdclass, rdtype, tok, origin=None, relativize=True, relativize_to=None): items = [] - while 1: + while True: token = tok.get().unescape() if token.is_eol_or_eof(): break diff --git a/dns/rdtypes/IN/DHCID.py b/dns/rdtypes/IN/DHCID.py index e9079f67..c5e526ce 100644 --- a/dns/rdtypes/IN/DHCID.py +++ b/dns/rdtypes/IN/DHCID.py @@ -22,12 +22,9 @@ import dns.exception class DHCID(dns.rdata.Rdata): - """DHCID record + """DHCID record""" - @ivar data: the data (the content of the RR is opaque as far as the - DNS is concerned) - @type data: string - @see: RFC 4701""" + # see: RFC 4701 __slots__ = ['data'] diff --git a/dns/rdtypes/IN/IPSECKEY.py b/dns/rdtypes/IN/IPSECKEY.py index 17955155..9bba2083 100644 --- a/dns/rdtypes/IN/IPSECKEY.py +++ b/dns/rdtypes/IN/IPSECKEY.py @@ -26,19 +26,9 @@ import dns.name class IPSECKEY(dns.rdata.Rdata): - """IPSECKEY record + """IPSECKEY record""" - @ivar precedence: the precedence for this key data - @type precedence: int - @ivar gateway_type: the gateway type - @type gateway_type: int - @ivar algorithm: the algorithm to use - @type algorithm: int - @ivar gateway: the public key - @type gateway: None, IPv4 address, IPV6 address, or domain name - @ivar key: the public key - @type key: string - @see: RFC 4025""" + #see: RFC 4025 __slots__ = ['precedence', 'gateway_type', 'algorithm', 'gateway', 'key'] diff --git a/dns/rdtypes/IN/NAPTR.py b/dns/rdtypes/IN/NAPTR.py index 6e3577af..9668dce2 100644 --- a/dns/rdtypes/IN/NAPTR.py +++ b/dns/rdtypes/IN/NAPTR.py @@ -37,21 +37,9 @@ def _sanitize(value): class NAPTR(dns.rdata.Rdata): - """NAPTR record - - @ivar order: order - @type order: int - @ivar preference: preference - @type preference: int - @ivar flags: flags - @type flags: string - @ivar service: service - @type service: string - @ivar regexp: regular expression - @type regexp: string - @ivar replacement: replacement name - @type replacement: dns.name.Name object - @see: RFC 3403""" + """NAPTR record""" + + # see: RFC 3403 __slots__ = ['order', 'preference', 'flags', 'service', 'regexp', 'replacement'] diff --git a/dns/rdtypes/IN/NSAP.py b/dns/rdtypes/IN/NSAP.py index 8f4022be..d098b4d9 100644 --- a/dns/rdtypes/IN/NSAP.py +++ b/dns/rdtypes/IN/NSAP.py @@ -24,11 +24,9 @@ import dns.tokenizer class NSAP(dns.rdata.Rdata): - """NSAP record. + """NSAP record.""" - @ivar address: a NASP - @type address: string - @see: RFC 1706""" + # see: RFC 1706 __slots__ = ['address'] diff --git a/dns/rdtypes/IN/PX.py b/dns/rdtypes/IN/PX.py index 8eaf684d..109a873e 100644 --- a/dns/rdtypes/IN/PX.py +++ b/dns/rdtypes/IN/PX.py @@ -24,15 +24,9 @@ import dns.name class PX(dns.rdata.Rdata): - """PX record. + """PX record.""" - @ivar preference: the preference value - @type preference: int - @ivar map822: the map822 name - @type map822: dns.name.Name object - @ivar mapx400: the mapx400 name - @type mapx400: dns.name.Name object - @see: RFC 2163""" + # see: RFC 2163 __slots__ = ['preference', 'map822', 'mapx400'] diff --git a/dns/rdtypes/IN/SRV.py b/dns/rdtypes/IN/SRV.py index 2513d772..f8598e9d 100644 --- a/dns/rdtypes/IN/SRV.py +++ b/dns/rdtypes/IN/SRV.py @@ -24,17 +24,9 @@ import dns.name class SRV(dns.rdata.Rdata): - """SRV record + """SRV record""" - @ivar priority: the priority - @type priority: int - @ivar weight: the weight - @type weight: int - @ivar port: the port of the service - @type port: int - @ivar target: the target host - @type target: dns.name.Name object - @see: RFC 2782""" + # see: RFC 2782 __slots__ = ['priority', 'weight', 'port', 'target'] diff --git a/dns/rdtypes/IN/WKS.py b/dns/rdtypes/IN/WKS.py index d7b748fc..155f86be 100644 --- a/dns/rdtypes/IN/WKS.py +++ b/dns/rdtypes/IN/WKS.py @@ -27,15 +27,9 @@ _proto_udp = socket.getprotobyname('udp') class WKS(dns.rdata.Rdata): - """WKS record + """WKS record""" - @ivar address: the address - @type address: string - @ivar protocol: the protocol - @type protocol: int - @ivar bitmap: the bitmap - @type bitmap: string - @see: RFC 1035""" + # see: RFC 1035 __slots__ = ['address', 'protocol', 'bitmap'] diff --git a/doc/rdata-subclasses.rst b/doc/rdata-subclasses.rst index 8929425f..347610e2 100644 --- a/doc/rdata-subclasses.rst +++ b/doc/rdata-subclasses.rst @@ -12,42 +12,34 @@ Rdata Subclass Reference .. autoclass:: dns.rdtypes.ANY.AFSDB.AFSDB :members: - .. attribute:: subtype - - An ``int``, the AFSDB subtype - - .. attribute:: hostname - - A ``dns.name.Name``, the AFSDB hostname. - .. autoclass:: dns.rdtypes.ANY.AVC.AVC :members: .. attribute:: strings - A tuple of ``bytes``, the list of strings. + A tuple of ``bytes``, the list of strings. .. autoclass:: dns.rdtypes.ANY.CAA.CAA :members: .. attribute:: flags - An ``int``, the flags + An ``int``, the flags .. attribute:: tag - A ``bytes``, the tag + A ``bytes``, the tag .. attribute:: value - A ``bytes``, the value + A ``bytes``, the value .. autoclass:: dns.rdtypes.ANY.CDNSKEY.CDNSKEY :members: .. attribute:: flags - An ``int``, the key's flags. + An ``int``, the key's flags. .. attribute:: protocol @@ -85,41 +77,41 @@ Rdata Subclass Reference .. attribute:: certificate_type - An ``int``, the certificate type. + An ``int``, the certificate type. .. attribute:: key_tag - An ``int``, the key tag. + An ``int``, the key tag. .. attribute:: algorithm - An ``int``, the algorithm. + An ``int``, the algorithm. .. attribute:: certificate - A ``bytes``, the certificate or CRL. + A ``bytes``, the certificate or CRL. .. autoclass:: dns.rdtypes.ANY.CNAME.CNAME :members: .. attribute:: target - A ``dns.name.Name``, the target name. + A ``dns.name.Name``, the target name. .. autoclass:: dns.rdtypes.ANY.CSYNC.CSYNC :members: - .. attribute:: serial + .. attribute:: serial - An ``int``, the SOA serial number. + An ``int``, the SOA serial number. - .. attribute:: flags + .. attribute:: flags - An ``int``, the CSYNC flags. + An ``int``, the CSYNC flags. - .. attribute:: windows + .. attribute:: windows - A tuple of ``(int, bytes)`` tuples. + A tuple of ``(int, bytes)`` tuples. .. autoclass:: dns.rdtypes.ANY.DLV.DLV :members: @@ -145,14 +137,14 @@ Rdata Subclass Reference .. attribute:: target - A ``dns.name.Name``, the target name. + A ``dns.name.Name``, the target name. .. autoclass:: dns.rdtypes.ANY.DNSKEY.DNSKEY :members: .. attribute:: flags - An ``int``, the key's flags. + An ``int``, the key's flags. .. attribute:: protocol @@ -204,212 +196,518 @@ Rdata Subclass Reference .. attribute:: latitude - A ``bytes``, the latitude + A ``bytes``, the latitude .. attribute:: longitude - A ``bytes``, the longitude + A ``bytes``, the longitude .. attribute:: altitude - A ``bytes``, the altitude + A ``bytes``, the altitude .. autoclass:: dns.rdtypes.ANY.HINFO.HINFO :members: .. attribute:: cpu - A ``bytes``, the CPU type. + A ``bytes``, the CPU type. .. attribute:: os - A ``bytes``, the OS type. + A ``bytes``, the OS type. .. autoclass:: dns.rdtypes.ANY.HIP.HIP :members: .. attribute:: hit - A ``bytes``, the host identity tag. + A ``bytes``, the host identity tag. .. attribute:: algorithm - An ``int``, the public key cryptographic algorithm. + An ``int``, the public key cryptographic algorithm. .. attribute:: key - A ``bytes``, the public key. + A ``bytes``, the public key. .. attribute:: servers - A tuple of ``dns.name.Name`` objects, the rendezvous servers. + A tuple of ``dns.name.Name`` objects, the rendezvous servers. .. autoclass:: dns.rdtypes.ANY.ISDN.ISDN :members: .. attribute:: address - A ``bytes``, the ISDN address. + A ``bytes``, the ISDN address. .. attribute:: subaddress - A ``bytes`` the ISDN subaddress (or ``b''`` if not present). + A ``bytes`` the ISDN subaddress (or ``b''`` if not present). .. autoclass:: dns.rdtypes.ANY.LOC.LOC :members: .. attribute:: latitude - An ``(int, int, int, int, int)`` tuple specifying the degrees, minutes, - seconds, milliseconds, and sign of the latitude. + An ``(int, int, int, int, int)`` tuple specifying the degrees, minutes, + seconds, milliseconds, and sign of the latitude. .. attribute:: longitude - An ``(int, int, int, int, int)`` tuple specifying the degrees, minutes, - seconds, milliseconds, and sign of the longitude. + An ``(int, int, int, int, int)`` tuple specifying the degrees, minutes, + seconds, milliseconds, and sign of the longitude. .. attribute:: altitude - A ``float``, the altitude, in centimeters. + A ``float``, the altitude, in centimeters. .. attribute:: size - A ``float``, the size of the sphere, in centimeters. + A ``float``, the size of the sphere, in centimeters. .. attribute:: horizontal_precision - A ``float``, the horizontal precision, in centimeters. + A ``float``, the horizontal precision, in centimeters. .. attribute:: vertical_precision - A ``float``, the vertical precision, in centimeters. + A ``float``, the vertical precision, in centimeters. .. autoclass:: dns.rdtypes.ANY.MX.MX :members: .. attribute:: preference - An ``int``, the preference value + An ``int``, the preference value. .. attribute:: exchange - A ``dns.name.Name``, the exchange name. + A ``dns.name.Name``, the exchange name. .. autoclass:: dns.rdtypes.ANY.NINFO.NINFO .. attribute:: strings - A tuple of ``bytes``, the list of strings. + A tuple of ``bytes``, the list of strings. .. autoclass:: dns.rdtypes.ANY.NS.NS :members: .. attribute:: target - A ``dns.name.Name``, the target name. + A ``dns.name.Name``, the target name. -.. autoclass:: dns.rdtypes.ANY.NSEC +.. autoclass:: dns.rdtypes.ANY.NSEC.NSEC :members: -.. autoclass:: dns.rdtypes.ANY.NSEC3 + .. attribute:: next + + A ``dns.name.Name``, the next name + + .. attribute:: windows + + A tuple of ``(int, bytes)`` tuples. + +.. autoclass:: dns.rdtypes.ANY.NSEC3.NSEC3 :members: -.. autoclass:: dns.rdtypes.ANY.NSEC3PARAM + .. attribute:: algorithm: + + An ``int``, the algorithm used for the hash. + + .. attribute:: flags: + + An ``int``, the flags. + + .. attribute:: interations: + + An ``int``, the number of iterations. + + .. attribute:: salt + + A ``bytes``, the salt. + + .. attribute:: next + + A ``dns.name.Name``, the next name hash. + + .. attribute:: windows + + A tuple of ``(int, bytes)`` tuples. + +.. autoclass:: dns.rdtypes.ANY.NSEC3PARAM.NSEC3PARAM :members: -.. autoclass:: dns.rdtypes.ANY.OPENPGPKEY + .. attribute:: algorithm: + + An ``int``, the algorithm used for the hash. + + .. attribute:: flags: + + An ``int``, the flags. + + .. attribute:: interations: + + An ``int``, the number of iterations. + + .. attribute:: salt + + A ``bytes``, the salt. + +.. autoclass:: dns.rdtypes.ANY.OPENPGPKEY.OPENPGPKEY :members: + .. attribute:: key + + A ``bytes``, the key. + .. autoclass:: dns.rdtypes.ANY.PTR.PTR :members: .. attribute:: target - A ``dns.name.Name``, the target name. + A ``dns.name.Name``, the target name. -.. autoclass:: dns.rdtypes.ANY.RP +.. autoclass:: dns.rdtypes.ANY.RP.RP :members: -.. autoclass:: dns.rdtypes.ANY.RRSIG + .. attribute:: mbox + + A ``dns.name.Name``, the responsible person's mailbox. + + .. attribute:: txt + + A ``dns.name.Name``, the owner name of a node with TXT records, + or the root name if no TXT records are associated with this RP. + +.. autoclass:: dns.rdtypes.ANY.RRSIG.RRSIG :members: + .. attribute:: type_covered + + An ``int``, the rdata type this signature covers. + + .. attribute:: algorithm + + An ``int``, the algorithm used for the signature. + + .. attribute:: labels + + An ``int``, the number of labels. + + .. attribute:: original_ttl + + An ``int``, the original TTL. + + .. attribute:: expiration + + An `int`, the signature expiration time. + + .. attribute:: inception + + An `int`, the signature inception time. + + .. attribute:: key_tag + + An `int`, the key tag. + + .. attribute:: signer + + A ``dns.name.Name``, the signer. + + .. attribute:: signature + + A ``bytes``, the signature. + .. autoclass:: dns.rdtypes.ANY.RT.RT :members: .. attribute:: preference - An ``int``, the preference value + An ``int``, the preference value. .. attribute:: exchange - A ``dns.name.Name``, the exchange name. + A ``dns.name.Name``, the exchange name. -.. autoclass:: dns.rdtypes.ANY.SOA +.. autoclass:: dns.rdtypes.ANY.SOA.SOA :members: + .. attribute:: mname + + A ``dns.name.Name``, the MNAME (master name). + + .. attribute:: rname + + A ``dns.name.Name``, the RNAME (responsible name). + + .. attribute:: serial + + An ``int``, the zone's serial number. + + .. attribute:: refresh + + An ``int``, the zone's refresh value (in seconds). + + .. attribute:: retry + + An ``int``, the zone's retry value (in seconds). + + .. attribute:: expire + + An ``int``, the zone's expiration value (in seconds). + + .. attribute:: minimum + + An ``int``, the zone's negative caching time (in seconds, called + "minimum" for historical reasons). + .. autoclass:: dns.rdtypes.ANY.SPF.SPF :members: .. attribute:: strings - A tuple of ``bytes``, the list of strings. + A tuple of ``bytes``, the list of strings. -.. autoclass:: dns.rdtypes.ANY.SSHFP +.. autoclass:: dns.rdtypes.ANY.SSHFP.SSHFP :members: -.. autoclass:: dns.rdtypes.ANY.TLSA + .. attribute:: algorithm + + An ``int``, the algorithm. + + .. attribute:: fp_type + + An ``int``, the digest type. + + .. attribute:: fingerprint + + A ``bytes``, the fingerprint. + +.. autoclass:: dns.rdtypes.ANY.TLSA.TLSA :members: + .. attribute:: usage + + An ``int``, the certificate usage. + + .. attribute:: selector + + An ``int``, the selector. + + .. attribute:: mtype + + An ``int``, the matching type. + + .. attribute:: cert + + A ``bytes``, the certificate association data. + .. autoclass:: dns.rdtypes.ANY.TXT.TXT :members: .. attribute:: strings - A tuple of ``bytes``, the list of strings. + A tuple of ``bytes``, the list of strings. -.. autoclass:: dns.rdtypes.ANY.URI +.. autoclass:: dns.rdtypes.ANY.URI.URI :members: -.. autoclass:: dns.rdtypes.ANY.X25 + .. attribute:: priorty + + An ``int``, the priority. + + .. attribute:: weight + + An ``int``, the weight. + + .. attribute:: target + + A ``dns.name.Name``, the target. + +.. autoclass:: dns.rdtypes.ANY.X25.X25 :members: -.. autoclass:: dns.rdtypes.IN.A + .. attribute:: address + + A ``bytes``, the PSDN address. + +.. autoclass:: dns.rdtypes.IN.A.A :members: -.. autoclass:: dns.rdtypes.IN.AAAA + .. attribute:: address + + A ``str``, an IPv4 address in the standard "dotted quad" text format. + +.. autoclass:: dns.rdtypes.IN.AAAA.AAAA :members: -.. autoclass:: dns.rdtypes.IN.APL + .. attribute:: address + + A ``str``, an IPv6 address in the standard text format. + +.. autoclass:: dns.rdtypes.IN.APL.APLItem :members: -.. autoclass:: dns.rdtypes.IN.DHCID + .. attribute:: family + + An ``int``, the address family (in the IANA address family registry). + + .. attribute:: negation + + A ``bool``, is this item negated? + + .. attribute:: address + + A ``str``, the address. + + .. attribute:: prefix + + An ``int``, the prefix length. + +.. autoclass:: dns.rdtypes.IN.APL.APL :members: -.. autoclass:: dns.rdtypes.IN.IPSECKEY + .. attribute:: items + + A tuple of ``dns.rdtypes.IN.APL.APLItem``. + +.. autoclass:: dns.rdtypes.IN.DHCID.DHCID :members: -.. autoclass:: dns.rdtypes.IN.KX + .. attribute:: data + + A ``bytes``, the data (the content of the RR is opaque as far as + the DNS is concerned). + +.. autoclass:: dns.rdtypes.IN.IPSECKEY.IPSECKEY + :members: + + .. attribute:: precedence + + An ``int``, the precedence for the key data. + + .. attribute:: prefix + + An ``int``, the prefix length. + + .. attribute:: gateway_type + + An ``int``, the gateway type. + + .. attribute:: algorithm + + An ``int``, the algorithm to use. + + .. attribute:: gateway + + The gateway. This value may be ``None``, a ``str` with an IPv4 or + IPV6 address, or a ``dns.name.Name``. + + .. attribute:: key + + A ``bytes``, the public key. + +.. autoclass:: dns.rdtypes.IN.KX.KX :members: -.. autoclass:: dns.rdtypes.IN.NAPTR + .. attribute:: preference + + An ``int``, the preference value. + + .. attribute:: exchange + + A ``dns.name.Name``, the exchange name. + +.. autoclass:: dns.rdtypes.IN.NAPTR.NAPTR :members: -.. autoclass:: dns.rdtypes.IN.NSAP + .. attribute:: order + + An ``int``, the order. + + .. attribute:: preference + + An ``int``, the preference. + + .. attribute:: flags + + A ``bytes``, the flags. + + .. attribute:: service + + A ``bytes``, the service. + + .. attribute:: regexp + + A ``bytes``, the regular expression. + + .. attribute:: replacement + + A ``dns.name.Name``, the replacement name. + +.. autoclass:: dns.rdtypes.IN.NSAP.NSAP :members: + .. attribute:: address + + A ``bytes``, a NSAP address. + .. autoclass:: dns.rdtypes.IN.NSAP_PTR.NSAP_PTR :members: .. attribute:: target - A ``dns.name.Name``, the target name. + A ``dns.name.Name``, the target name. -.. autoclass:: dns.rdtypes.IN.PX +.. autoclass:: dns.rdtypes.IN.PX.PX :members: -.. autoclass:: dns.rdtypes.IN.SRV + .. attribute:: preference + + An ``int``, the preference value. + + .. attribute:: map822 + + A ``dns.name.Name``, the map822 name. + + .. attribute:: mapx400 + + A ``dns.name.Name``, the mapx400 name. + +.. autoclass:: dns.rdtypes.IN.SRV.SRV :members: -.. autoclass:: dns.rdtypes.IN.WKS + .. attribute:: priority + + An ``int``, the priority. + + .. attribute:: weight + + An ``int``, the weight. + + .. attribute:: port + + An ``int``, the port. + + .. attribute:: target + + A ``dns.name.Name``, the target host. + +.. autoclass:: dns.rdtypes.IN.WKS.WKS :members: + .. attribute:: address + + A ``str``, the address. + + .. attribute:: protocol + + An ``int``, the protocol. + + .. attribute:: bitmap + + A ``bytes``, the bitmap. -- 2.47.3