#6390 python-dns 1.15.0 breaks FreeIPA
Closed: Fixed None Opened 7 years ago by aviso.

Changes in python-dns caused the issues in FreeIPA. Upstream says the problem is in FreeIPA.

From https://github.com/rthalley/dnspython/issues/214

This is a consequence of two things: 1) after the python 2/3 code merge what used to be unicode objects in the TXT record strings field became bytes objects, and 2) 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. If FreeIPA had called dns.rdata.from_text(), the right thing would have happened.

So at this point I think the best thing is to change the FreeIPA code as it will then work with any version of dnspython. I don't want to start making RR constructors apply lots of conversions as that's a job already handled in from_text().

Traceback:
https://paste.fedoraproject.org/447568/76088066/

Looking at it, Line 161 in ipaserver/dns_data_management.py should be:

dns.rdata.from_text(rdataclass.IN, rdatatype.TXT, self.api_instance.env.realm)

NOT

rd = TXT(rdataclass.IN, rdatatype.TXT, [self.api_instance.env.realm])

There may be others as I can see the SRV constructor is valled directly in the same file.


triaging, to 4.4.2 - python-dns 1.15 will be available on F24: http://koji.fedoraproject.org/koji/buildinfo?buildID=808003

Patch should be backwards compatible with older python-dns versions.

master:

  • 8e02652 Fix compatibility with python-dns 1.15.0

ipa-4-4:

  • 82bc75f Fix compatibility with python-dns 1.15.0

Metadata Update from @aviso:
- Issue assigned to pspacek
- Issue set to the milestone: FreeIPA 4.4.2

7 years ago

Login to comment on this ticket.

Metadata