Comment 17 for bug 1941988

Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

Verification done on focal-proposed with python3-dnspython only.

Setup:
-----

$ sudo apt install -y bind9

$ FILE=/tmp/bind-options
$ cat <<EOF >"$FILE"
listen-on port 12753 { 127.0.0.1/32; };
allow-query { any; };
allow-transfer { any; };
EOF

$ sudo sed -i "/^options {/ r $FILE" /etc/bind/named.conf.options

$ cat <<EOF | sudo tee -a /etc/bind/named.conf.local
zone "example.tld" IN {
  type master;
  file "/etc/bind/example.tld.db";
};
EOF

$ cat <<"EOF" | sudo tee -a /etc/bind/example.tld.db
$TTL 5m
@ IN SOA ns.example.tld. email.example.tld. 90 4h 15m 8h 4m
@ IN NS ns.example.tld.
ns IN A 1.1.1.1
test IN A 1.2.3.4
EOF

$ sudo systemctl restart named.service

Check:
-----

$ dig +noall +authority @127.0.0.1 -p 12753 example.tld
example.tld. 240 IN SOA ns.example.tld. email.example.tld. 90 14400 900 28800 240
$ dig +noall +answer @127.0.0.1 -p 12753 ns.example.tld
ns.example.tld. 300 IN A 1.1.1.1
$ dig +noall +answer @127.0.0.1 -p 12753 test.example.tld
test.example.tld. 300 IN A 1.2.3.4

$ dig +noall +answer @127.0.0.1 -p 12753 example.tld axfr
example.tld. 300 IN SOA ns.example.tld. email.example.tld. 90 14400 900 28800 240
example.tld. 300 IN NS ns.example.tld.
ns.example.tld. 300 IN A 1.1.1.1
test.example.tld. 300 IN A 1.2.3.4
example.tld. 300 IN SOA ns.example.tld. email.example.tld. 90 14400 900 28800 240

Before: (fails)
------

$ sudo apt install -y python3-dnspython
$ dpkg -s python3-dnspython | grep Version:
Version: 1.16.0-1build1

$ python3 -q -c \
"import dns.query
import dns.zone
axfr = dns.zone.from_xfr(dns.query.xfr(where='127.0.0.1', port=12753, zone='example.tld', rdtype=dns.rdatatype.AXFR, lifetime=None, timeout=30))
for node in axfr.nodes.keys() : print(axfr.nodes[node].to_text(node))"
TypeError: '>' not supported between instances of 'float' and 'NoneType'

After: (works)
-----

$ sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu focal-proposed main'
$ sudo apt install -y python3-dnspython
$ dpkg -s python3-dnspython | grep Version:
Version: 1.16.0-1ubuntu1

$ python3 -q -c \
"import dns.query
import dns.zone
axfr = dns.zone.from_xfr(dns.query.xfr(where='127.0.0.1', port=12753, zone='example.tld', rdtype=dns.rdatatype.AXFR, lifetime=None, timeout=30))
for node in axfr.nodes.keys() : print(axfr.nodes[node].to_text(node))"
@ 300 IN SOA ns email 90 14400 900 28800 240
@ 300 IN NS ns
ns 300 IN A 1.1.1.1
test 300 IN A 1.2.3.4