diff options
author | Petr Spacek <pspacek@redhat.com> | 2016-10-11 12:09:17 +0200 |
---|---|---|
committer | Martin Basti <mbasti@redhat.com> | 2016-10-11 15:45:41 +0200 |
commit | 8e02652e7c889ce7d32b592b5235917a0f519503 (patch) | |
tree | a89b01ba5af806253ea879d76c4105d437463962 /ipaserver/dns_data_management.py | |
parent | 2b8163ab5dfcf28a9eba319ef685046ae9d8b5e8 (diff) | |
download | freeipa-8e02652e7c889ce7d32b592b5235917a0f519503.tar.gz freeipa-8e02652e7c889ce7d32b592b5235917a0f519503.tar.xz freeipa-8e02652e7c889ce7d32b592b5235917a0f519503.zip |
Fix compatibility with python-dns 1.15.0
From https://github.com/rthalley/dnspython/issues/214:
The FreeIPA code is directly invoking the TXT RR constructor instread
of calling dns.rdata.from_text(), which is how dnspython would like you
to do this kind of thing.
https://fedorahosted.org/freeipa/ticket/6390
Reviewed-By: Martin Basti <mbasti@redhat.com>
Diffstat (limited to 'ipaserver/dns_data_management.py')
-rw-r--r-- | ipaserver/dns_data_management.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/ipaserver/dns_data_management.py b/ipaserver/dns_data_management.py index 48717c7c4..d4dc42e47 100644 --- a/ipaserver/dns_data_management.py +++ b/ipaserver/dns_data_management.py @@ -8,13 +8,12 @@ import six from collections import defaultdict from dns import ( + rdata, rdataclass, rdatatype, zone, ) from dns.exception import DNSException -from dns.rdtypes.IN.SRV import SRV -from dns.rdtypes.ANY.TXT import TXT from time import sleep, time @@ -115,12 +114,11 @@ class IPASystemRecords(object): suffix = self.domain_abs for name, port in rname_port_map: - rd = SRV( + rd = rdata.from_text( rdataclass.IN, rdatatype.SRV, - priority, - weight, - port, - hostname.make_absolute() + '{0} {1} {2} {3}'.format( + priority, weight, port, hostname.make_absolute() + ) ) r_name = name.derelativize(suffix) @@ -158,7 +156,8 @@ class IPASystemRecords(object): # FIXME: with external DNS, this should generate records for all # realmdomains r_name = DNSName('_kerberos') + self.domain_abs - rd = TXT(rdataclass.IN, rdatatype.TXT, [self.api_instance.env.realm]) + rd = rdata.from_text(rdataclass.IN, rdatatype.TXT, + self.api_instance.env.realm) rdataset = zone_obj.get_rdataset( r_name, rdatatype.TXT, create=True ) |