Compatibility with dnspython 2.0
I got a report this script won't work with dnspython 2.0 and so, with Debian Bullseye.
Some relevant parts of the logs received while trying with 2.0:
[...]
Configure DNS client tools.
acme_dns_tiny.py:112: DeprecationWarning: please use dns.resolver.resolve() instead
in dns.resolver.query(config["DNS"]["Host"], rdtype="A")]
acme_dns_tiny.py:114: DeprecationWarning: please use dns.resolver.resolve() instead
in dns.resolver.query(config["DNS"]["Host"], rdtype="AAAA")]
[...]
Install DNS TXT resource for domain: example.com
acme_dns_tiny.py:222: DeprecationWarning: please use dns.resolver.Resolver.resolve() instead
in resolver.query(dnsrr_domain, rdtype="CNAME")][0]
Traceback (most recent call last):
File "python3.8/site-packages/dns/inet.py", line 87, in af_for_address
dns.ipv4.inet_aton(text)
File "python3.8/site-packages/dns/ipv4.py", line 49, in inet_aton
raise dns.exception.SyntaxError
dns.exception.SyntaxError: Text input is malformed.
requests
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "python3.8/site-packages/dns/inet.py", line 91, in af_for_address
dns.ipv6.inet_aton(text, True)
File "python3.8/site-packages/dns/ipv6.py", line 165, in inet_aton
raise dns.exception.SyntaxError
dns.exception.SyntaxError: Text input is malformed.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "acme_dns_tiny.py", line 365, in <module>
main(sys.argv[1:])
File "acme_dns_tiny.py", line 360, in main
signed_crt = get_crt(config, LOGGER)
File "acme_dns_tiny.py", line 231, in get_crt
_update_dns(dnsrr_set, "add")
File "acme_dns_tiny.py", line 41, in _update_dns
response = dns.query.tcp(dns_update, config["DNS"]["Host"],
File "python3.8/site-packages/dns/query.py", line 752, in tcp
(af, destination, source) = _destination_and_source(where, port,
File "python3.8/site-packages/dns/query.py", line 226, in _destination_and_source
af = dns.inet.af_for_address(where)
File "python3.8/site-packages/dns/inet.py", line 94, in af_for_address
raise ValueError
ValueError