]> git.ipfire.org Git - thirdparty/dnspython.git/commitdiff
Add RESINFO type.
authorBob Halley <halley@dnspython.org>
Fri, 23 Feb 2024 02:33:00 +0000 (18:33 -0800)
committerBob Halley <halley@dnspython.org>
Fri, 23 Feb 2024 02:33:13 +0000 (18:33 -0800)
dns/rdatatype.py
dns/rdtypes/ANY/RESINFO.py [new file with mode: 0644]
dns/rdtypes/ANY/__init__.py
doc/rdata-subclasses.rst
doc/rdatatype-list.rst
tests/example
tests/example1.good
tests/example2.good
tests/example3.good
tests/example4.good

index e6c581867bcc7cd7e806ea92c3dab28f0d021d3e..b5ef8efed18e7a9a7f708b5fcd1f742029cb402d 100644 (file)
@@ -105,6 +105,7 @@ class RdataType(dns.enum.IntEnum):
     CAA = 257
     AVC = 258
     AMTRELAY = 260
+    RESINFO = 261
     TA = 32768
     DLV = 32769
 
@@ -326,6 +327,7 @@ URI = RdataType.URI
 CAA = RdataType.CAA
 AVC = RdataType.AVC
 AMTRELAY = RdataType.AMTRELAY
+RESINFO = RdataType.RESINFO
 TA = RdataType.TA
 DLV = RdataType.DLV
 
diff --git a/dns/rdtypes/ANY/RESINFO.py b/dns/rdtypes/ANY/RESINFO.py
new file mode 100644 (file)
index 0000000..76c8ea2
--- /dev/null
@@ -0,0 +1,24 @@
+# Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license
+
+# Copyright (C) 2003-2007, 2009-2011 Nominum, Inc.
+#
+# Permission to use, copy, modify, and distribute this software and its
+# documentation for any purpose with or without fee is hereby granted,
+# provided that the above copyright notice and this permission notice
+# appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND NOMINUM DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+import dns.immutable
+import dns.rdtypes.txtbase
+
+
+@dns.immutable.immutable
+class RESINFO(dns.rdtypes.txtbase.TXTBase):
+    """RESINFO record"""
index 3824a0a09ebcef2a5102a48348d5a9e21f50b383..1c9308c0f5da4e60c3b382289069059b3f1b6b50 100644 (file)
@@ -51,6 +51,7 @@ __all__ = [
     "OPENPGPKEY",
     "OPT",
     "PTR",
+    "RESINFO",
     "RP",
     "RRSIG",
     "RT",
index 98c3b5a74ee6f90c24ed31ddbfb1865425129beb..c7be8b2216d5c1ba31b9b08012b487c5722a5887 100644 (file)
@@ -439,6 +439,13 @@ Universal Types
 
       A ``dns.name.Name``, the target name.
 
+.. autoclass:: dns.rdtypes.ANY.RESINFO.RESINFO
+   :members:
+
+   .. attribute:: strings
+
+      A tuple of ``bytes``, the list of strings.
+
 .. autoclass:: dns.rdtypes.ANY.RP.RP
    :members:
 
index c2c3b19bd5138c52abfdb25dbe4d4bab707ffcf5..97176a506f469e5133aaa225ce92fd2470840788 100644 (file)
@@ -119,6 +119,8 @@ Rdatatypes
    :annotation: = 12
 .. py:data:: dns.rdatatype.PX
    :annotation: = 26
+.. py:data:: dns.rdatatype.RESINFO
+   :annotation: = 261
 .. py:data:: dns.rdatatype.RP
    :annotation: = 17
 .. py:data:: dns.rdatatype.RRSIG
index 8aec494001b1aef8c1d636e94cf92bbe5fb89953..adc42aa91714cd31cbbbf06309ee2ea5bd082bfa 100644 (file)
@@ -261,3 +261,4 @@ ech="abcd" ipv4hint=1.2.3.4,4.3.2.1 ipv6hint=1::2,3::4 key12345="foo"
 )
 https01                 HTTPS 0 svc
 https02                 HTTPS 1 . port=8002 ech="abcd"
+resinfo                 RESINFO qnamemin exterr=15,16,17 infourl=https://resolver.example.com/guide
\ No newline at end of file
index 045365c03b872400ec78ff832eb9ca7b58199eeb..d5d728a6f30409a0d9fecfc1a13e870418fc312c 100644 (file)
@@ -116,6 +116,7 @@ openpgpkey 3600 IN OPENPGPKEY mQENBEteQDsBCADYnatn9+5t43AdJlVk9dZC2RM0idPQcmrrKc
 ptr01 3600 IN PTR @
 px01 3600 IN PX 65535 foo. bar.
 px02 3600 IN PX 65535 . .
+resinfo 3600 IN RESINFO "qnamemin" "exterr=15,16,17" "infourl=https://resolver.example.com/guide"
 rp01 3600 IN RP mbox-dname txt-dname
 rp02 3600 IN RP . .
 rrsig01 3600 IN RRSIG NSEC 1 3 3600 20200101000000 20030101000000 2143 foo MxFcby9k/yvedMfQgKzhH5er0Mu/vILz 45IkskceFGgiWCn/GxHhai6VAuHAoNUz 4YoU1tVfSCSqQYn6//11U6Nld80jEeC8 aTrO+KKmCaY=
index 5bb13768cbca39c5582c0133e34411dde12af145..76890e72877405bcbe7839256bb08509d1a74f80 100644 (file)
@@ -116,6 +116,7 @@ openpgpkey.example. 3600 IN OPENPGPKEY mQENBEteQDsBCADYnatn9+5t43AdJlVk9dZC2RM0i
 ptr01.example. 3600 IN PTR example.
 px01.example. 3600 IN PX 65535 foo. bar.
 px02.example. 3600 IN PX 65535 . .
+resinfo.example. 3600 IN RESINFO "qnamemin" "exterr=15,16,17" "infourl=https://resolver.example.com/guide"
 rp01.example. 3600 IN RP mbox-dname.example. txt-dname.example.
 rp02.example. 3600 IN RP . .
 rrsig01.example. 3600 IN RRSIG NSEC 1 3 3600 20200101000000 20030101000000 2143 foo.example. MxFcby9k/yvedMfQgKzhH5er0Mu/vILz 45IkskceFGgiWCn/GxHhai6VAuHAoNUz 4YoU1tVfSCSqQYn6//11U6Nld80jEeC8 aTrO+KKmCaY=
index 045365c03b872400ec78ff832eb9ca7b58199eeb..d5d728a6f30409a0d9fecfc1a13e870418fc312c 100644 (file)
@@ -116,6 +116,7 @@ openpgpkey 3600 IN OPENPGPKEY mQENBEteQDsBCADYnatn9+5t43AdJlVk9dZC2RM0idPQcmrrKc
 ptr01 3600 IN PTR @
 px01 3600 IN PX 65535 foo. bar.
 px02 3600 IN PX 65535 . .
+resinfo 3600 IN RESINFO "qnamemin" "exterr=15,16,17" "infourl=https://resolver.example.com/guide"
 rp01 3600 IN RP mbox-dname txt-dname
 rp02 3600 IN RP . .
 rrsig01 3600 IN RRSIG NSEC 1 3 3600 20200101000000 20030101000000 2143 foo MxFcby9k/yvedMfQgKzhH5er0Mu/vILz 45IkskceFGgiWCn/GxHhai6VAuHAoNUz 4YoU1tVfSCSqQYn6//11U6Nld80jEeC8 aTrO+KKmCaY=
index 3c154a0bb8a18b34bf06284e8baf2f10bbfd1ae9..264ccb28a719fb5e2ee529a4e79216733fea901c 100644 (file)
@@ -117,6 +117,7 @@ openpgpkey 3600 IN OPENPGPKEY mQENBEteQDsBCADYnatn9+5t43AdJlVk9dZC2RM0idPQcmrrKc
 ptr01 3600 IN PTR @
 px01 3600 IN PX 65535 foo. bar.
 px02 3600 IN PX 65535 . .
+resinfo 3600 IN RESINFO "qnamemin" "exterr=15,16,17" "infourl=https://resolver.example.com/guide"
 rp01 3600 IN RP mbox-dname txt-dname
 rp02 3600 IN RP . .
 rrsig01 3600 IN RRSIG NSEC 1 3 3600 20200101000000 20030101000000 2143 foo MxFcby9k/yvedMfQgKzhH5er0Mu/vILz 45IkskceFGgiWCn/GxHhai6VAuHAoNUz 4YoU1tVfSCSqQYn6//11U6Nld80jEeC8 aTrO+KKmCaY=