Bug 1383494 - Changes required for python-dns compatibility
Summary: Changes required for python-dns compatibility
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: freeipa
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: IPA Maintainers
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-10-10 18:58 UTC by Avram Lubkin
Modified: 2016-11-19 21:01 UTC (History)
9 users (show)

Fixed In Version: freeipa-4.4.2-1.fc25
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-11-19 21:01:09 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
FedoraHosted FreeIPA 6390 0 None None None 2016-10-10 18:58:31 UTC

Description Avram Lubkin 2016-10-10 18:58:32 UTC
Description of problem:
python-dns 1.15.0 breaks FreeIPA

Changes in python-dns caused the issues in FreeIPA. Upstream says the problem is in FreeIPA. Sounds like it needs to be fixed upstream in FreeIPA or in a patch.

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.

Comment 1 Martin Bašti 2016-10-11 13:21:34 UTC
Upstream ticket:
https://fedorahosted.org/freeipa/ticket/6390

Comment 3 Fedora Update System 2016-10-14 21:54:37 UTC
freeipa-4.4.2-1.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-d89b3f7913

Comment 4 Fedora Update System 2016-11-19 21:01:09 UTC
freeipa-4.4.2-1.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.