From e5e9f5e8722da52159a5f073d800e1be7eed036b Mon Sep 17 00:00:00 2001 From: Bob Halley Date: Wed, 3 Jul 2024 10:25:21 -0700 Subject: [PATCH] Add WALLET rdatatype support. (#1098) --- dns/rdatatype.py | 2 ++ dns/rdtypes/ANY/WALLET.py | 8 ++++++++ dns/rdtypes/ANY/__init__.py | 1 + tests/example | 17 +++++++++-------- tests/example1.good | 1 + tests/example2.good | 1 + tests/example3.good | 1 + tests/example4.good | 1 + 8 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 dns/rdtypes/ANY/WALLET.py diff --git a/dns/rdatatype.py b/dns/rdatatype.py index f0d524ae..aa9e561c 100644 --- a/dns/rdatatype.py +++ b/dns/rdatatype.py @@ -106,6 +106,7 @@ class RdataType(dns.enum.IntEnum): AVC = 258 AMTRELAY = 260 RESINFO = 261 + WALLET = 262 TA = 32768 DLV = 32769 @@ -328,6 +329,7 @@ CAA = RdataType.CAA AVC = RdataType.AVC AMTRELAY = RdataType.AMTRELAY RESINFO = RdataType.RESINFO +WALLET = RdataType.WALLET TA = RdataType.TA DLV = RdataType.DLV diff --git a/dns/rdtypes/ANY/WALLET.py b/dns/rdtypes/ANY/WALLET.py new file mode 100644 index 00000000..4781ebc4 --- /dev/null +++ b/dns/rdtypes/ANY/WALLET.py @@ -0,0 +1,8 @@ +# Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license + +import dns.immutable +import dns.rdtypes.txtbase + +@dns.immutable.immutable +class WALLET(dns.rdtypes.txtbase.TXTBase): + """WALLET record""" diff --git a/dns/rdtypes/ANY/__init__.py b/dns/rdtypes/ANY/__init__.py index 1c9308c0..647b215b 100644 --- a/dns/rdtypes/ANY/__init__.py +++ b/dns/rdtypes/ANY/__init__.py @@ -64,6 +64,7 @@ __all__ = [ "TSIG", "TXT", "URI", + "WALLET", "X25", "ZONEMD", ] diff --git a/tests/example b/tests/example index bc324d25..a0e864b9 100644 --- a/tests/example +++ b/tests/example @@ -17,7 +17,7 @@ $ORIGIN . $TTL 300 ; 5 minutes -example IN SOA ns1.example. hostmaster.example. 1 2 3 4 5 +example IN SOA ns1.example. hostmaster.example. 1 2 3 4 5 example. NS ns1.example. ns1.example. A 10.53.0.1 example. NS ns2.example. @@ -45,7 +45,7 @@ $TTL 300 ; 5 minutes b CNAME foo.net. c A 73.80.65.49 $TTL 3600 ; 1 hour -cert01 CERT 65534 65535 PRIVATEOID MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgi WCn/GxHhai6VAuHAoNUz4YoU1tVfSCSqQYn6//11U6Nl d80jEeC8aTrO+KKmCaY= +cert01 CERT 65534 65535 PRIVATEOID MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgi WCn/GxHhai6VAuHAoNUz4YoU1tVfSCSqQYn6//11U6Nl d80jEeC8aTrO+KKmCaY= cname01 CNAME cname-target. cname02 CNAME cname-target cname03 CNAME . @@ -73,7 +73,7 @@ gpos01 GPOS "-22.6882" "116.8652" "250.0" ;; ;; XXXRTH I have commented out the following line because I don't think ;; it is a valid GPOS record. -;; +;; ;;gpos02 GPOS "" "" "" hinfo01 HINFO "Generic PC clone" "NetBSD-1.4" hinfo02 HINFO "PC" "NetBSD" @@ -81,8 +81,8 @@ isdn01 ISDN "isdn-address" isdn02 ISDN "isdn-address" "subaddress" isdn03 ISDN isdn-address isdn04 ISDN isdn-address subaddress -;key01 KEY 512 255 1 AQMFD5raczCJHViKtLYhWGz8hMY9UGRuniJDBzC7w0aR yzWZriO6i2odGWWQVucZqKVsENW91IOW4vqudngPZsY3 GvQ/xVA8/7pyFj6b7Esga60zyGW6LFe9r8n6paHrlG5o jqf0BaqHT+8= -;key02 KEY HOST|FLAG4 DNSSEC RSAMD5 AQMFD5raczCJHViKtLYhWGz8hMY9UGRuniJDBzC7w0aR yzWZriO6i2odGWWQVucZqKVsENW91IOW4vqudngPZsY3 GvQ/xVA8/7pyFj6b7Esga60zyGW6LFe9r8n6paHrlG5o jqf0BaqHT+8= +;key01 KEY 512 255 1 AQMFD5raczCJHViKtLYhWGz8hMY9UGRuniJDBzC7w0aR yzWZriO6i2odGWWQVucZqKVsENW91IOW4vqudngPZsY3 GvQ/xVA8/7pyFj6b7Esga60zyGW6LFe9r8n6paHrlG5o jqf0BaqHT+8= +;key02 KEY HOST|FLAG4 DNSSEC RSAMD5 AQMFD5raczCJHViKtLYhWGz8hMY9UGRuniJDBzC7w0aR yzWZriO6i2odGWWQVucZqKVsENW91IOW4vqudngPZsY3 GvQ/xVA8/7pyFj6b7Esga60zyGW6LFe9r8n6paHrlG5o jqf0BaqHT+8= kx01 KX 10 kdc kx02 KX 10 . loc01 LOC 60 9 N 24 39 E 10 20 2000 20 @@ -129,7 +129,7 @@ $ORIGIN s.example. ns A 73.80.65.49 $ORIGIN example. $TTL 3600 ; 1 hour -;sig01 SIG NXT 1 3 3600 20200101000000 20030101000000 2143 foo MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgi WCn/GxHhai6VAuHAoNUz4YoU1tVfSCSqQYn6//11U6Nl d80jEeC8aTrO+KKmCaY= +;sig01 SIG NXT 1 3 3600 20200101000000 20030101000000 2143 foo MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgi WCn/GxHhai6VAuHAoNUz4YoU1tVfSCSqQYn6//11U6Nl d80jEeC8aTrO+KKmCaY= srv01 SRV 0 0 0 . srv02 SRV 65535 65535 65535 old-slow-box.example.com. $TTL 301 ; 5 minutes 1 second @@ -173,7 +173,7 @@ apl01 APL 1:192.168.32.0/21 !1:192.168.38.0/28 apl02 APL 1:224.0.0.0/4 2:FF00:0:0:0:0:0:0:0/8 unknown2 TYPE999 \# 8 0a0000010a000001 unknown3 A \# 4 7f000002 -rrsig01 RRSIG NSEC 1 3 3600 20200101000000 20030101000000 2143 foo MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgi WCn/GxHhai6VAuHAoNUz4YoU1tVfSCSqQYn6//11U6Nl d80jEeC8aTrO+KKmCaY= +rrsig01 RRSIG NSEC 1 3 3600 20200101000000 20030101000000 2143 foo MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgi WCn/GxHhai6VAuHAoNUz4YoU1tVfSCSqQYn6//11U6Nl d80jEeC8aTrO+KKmCaY= rrsig02 RRSIG NSEC 1 3 3600 1577836800 1041379200 2143 foo MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgi WCn/GxHhai6VAuHAoNUz4YoU1tVfSCSqQYn6//11U6Nl d80jEeC8aTrO+KKmCaY= nsec01 NSEC a.secure A MX RRSIG NSEC TYPE1234 nsec02 NSEC . ( NSAP-PTR NSEC ) @@ -181,7 +181,7 @@ nsec03 NSEC . ( NSEC TYPE65535 ) nsec301 NSEC3 1 1 12 aabbccdd 2t7b4g4vsa5smi47k61mv5bv1a22bojr MX DNSKEY NS SOA NSEC3PARAM RRSIG nsec302 NSEC3 1 1 12 - 2t7b4g4vsa5smi47k61mv5bv1a22bojr MX DNSKEY NS SOA NSEC3PARAM RRSIG nsec303 NSEC3 1 1 1 abcd alkmaao A -dnskey01 DNSKEY 512 255 1 AQMFD5raczCJHViKtLYhWGz8hMY9UGRuniJDBzC7w0aR yzWZriO6i2odGWWQVucZqKVsENW91IOW4vqudngPZsY3 GvQ/xVA8/7pyFj6b7Esga60zyGW6LFe9r8n6paHrlG5o jqf0BaqHT+8= +dnskey01 DNSKEY 512 255 1 AQMFD5raczCJHViKtLYhWGz8hMY9UGRuniJDBzC7w0aR yzWZriO6i2odGWWQVucZqKVsENW91IOW4vqudngPZsY3 GvQ/xVA8/7pyFj6b7Esga60zyGW6LFe9r8n6paHrlG5o jqf0BaqHT+8= dnskey02 DNSKEY 257 3 RSAMD5 ( AQMFD5raczCJHViKtLYhWGz8hMY9UGRuniJDBzC7w0aR yzWZriO6i2odGWWQVucZqKVsENW91IOW4vqudngPZsY3 GvQ/xVA8/7pyFj6b7Esga60zyGW6LFe9r8n6paHrlG5o jqf0BaqHT+8= ) sshfp1 SSHFP 1 1 aa549bfe898489c02d1715d97d79c57ba2fa76ab spf SPF "v=spf1 mx -all" @@ -266,3 +266,4 @@ svcb05 SVCB 16 foo.example.org. ohttp https01 HTTPS 0 svc https02 HTTPS 1 . port=8002 ech="abcd" resinfo RESINFO qnamemin exterr=15,16,17 infourl=https://resolver.example.com/guide +wallet WALLET EXAMPLE 01234567890abcdef diff --git a/tests/example1.good b/tests/example1.good index 735eac61..9e333c80 100644 --- a/tests/example1.good +++ b/tests/example1.good @@ -163,6 +163,7 @@ unknown2 3600 IN TYPE999 \# 8 0a0000010a000001 unknown3 3600 IN A 127.0.0.2 uri01 3600 IN URI 10 1 "ftp://ftp1.example.com/public" uri02 3600 IN URI 10 1 "http://www.example.com/path" +wallet 3600 IN WALLET "EXAMPLE" "01234567890abcdef" wks01 3600 IN WKS 10.0.0.1 6 0 1 2 21 23 wks02 3600 IN WKS 10.0.0.1 17 0 1 2 53 wks03 3600 IN WKS 10.0.0.2 6 65535 diff --git a/tests/example2.good b/tests/example2.good index bfb1bfb3..3ba638c1 100644 --- a/tests/example2.good +++ b/tests/example2.good @@ -163,6 +163,7 @@ unknown2.example. 3600 IN TYPE999 \# 8 0a0000010a000001 unknown3.example. 3600 IN A 127.0.0.2 uri01.example. 3600 IN URI 10 1 "ftp://ftp1.example.com/public" uri02.example. 3600 IN URI 10 1 "http://www.example.com/path" +wallet.example. 3600 IN WALLET "EXAMPLE" "01234567890abcdef" wks01.example. 3600 IN WKS 10.0.0.1 6 0 1 2 21 23 wks02.example. 3600 IN WKS 10.0.0.1 17 0 1 2 53 wks03.example. 3600 IN WKS 10.0.0.2 6 65535 diff --git a/tests/example3.good b/tests/example3.good index 735eac61..9e333c80 100644 --- a/tests/example3.good +++ b/tests/example3.good @@ -163,6 +163,7 @@ unknown2 3600 IN TYPE999 \# 8 0a0000010a000001 unknown3 3600 IN A 127.0.0.2 uri01 3600 IN URI 10 1 "ftp://ftp1.example.com/public" uri02 3600 IN URI 10 1 "http://www.example.com/path" +wallet 3600 IN WALLET "EXAMPLE" "01234567890abcdef" wks01 3600 IN WKS 10.0.0.1 6 0 1 2 21 23 wks02 3600 IN WKS 10.0.0.1 17 0 1 2 53 wks03 3600 IN WKS 10.0.0.2 6 65535 diff --git a/tests/example4.good b/tests/example4.good index 96b48dc3..42d19089 100644 --- a/tests/example4.good +++ b/tests/example4.good @@ -164,6 +164,7 @@ unknown2 3600 IN TYPE999 \# 8 0a0000010a000001 unknown3 3600 IN A 127.0.0.2 uri01 3600 IN URI 10 1 "ftp://ftp1.example.com/public" uri02 3600 IN URI 10 1 "http://www.example.com/path" +wallet 3600 IN WALLET "EXAMPLE" "01234567890abcdef" wks01 3600 IN WKS 10.0.0.1 6 0 1 2 21 23 wks02 3600 IN WKS 10.0.0.1 17 0 1 2 53 wks03 3600 IN WKS 10.0.0.2 6 65535 -- 2.47.3