Bug 1801247
Summary: | python-certbot-dns-rfc2136 fails to build with Python 3.9: base64.decodestring() was removed (python-dns still uses it) | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Miro Hrončok <mhroncok> |
Component: | python-dns | Assignee: | Paul Wouters <pwouters> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | aviso, cstratak, esm, fschwarz, louiz, mhroncok, paul, pspacek, pwouters, tir.karthi |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2020-04-16 18:41:43 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1785415, 1824036 |
Description
Miro Hrončok
2020-02-10 14:00:54 UTC
____________________ RFC2136ClientTest.test_add_txt_record _____________________ self = <dns_rfc2136_test.RFC2136ClientTest testMethod=test_add_txt_record> def setUp(self): from certbot_dns_rfc2136._internal.dns_rfc2136 import _RFC2136Client > self.rfc2136_client = _RFC2136Client(SERVER, PORT, NAME, SECRET, dns.tsig.HMAC_MD5) tests/dns_rfc2136_test.py:78: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ certbot_dns_rfc2136/_internal/dns_rfc2136.py:97: in __init__ self.keyring = dns.tsigkeyring.from_text({ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ textring = {'a-tsig-key.': 'SSB3b25kZXIgd2hvIHdpbGwgYm90aGVyIHRvIGRlY29kZSB0aGlzIHRleHQK'} def from_text(textring): """Convert a dictionary containing (textual DNS name, base64 secret) pairs into a binary keyring which has (dns.name.Name, binary secret) pairs. @rtype: dict""" keyring = {} for keytext in textring: keyname = dns.name.from_text(keytext) > secret = base64.decodestring(maybe_encode(textring[keytext])) E AttributeError: module 'base64' has no attribute 'decodestring' /usr/lib/python3.9/site-packages/dns/tsigkeyring.py:35: AttributeError I think this is a problem in python-dns. Feel free to reassign back to python-certbot-dns-rfc2136 if I am mistaken. Looks like base64.decodestring is a deprecated (since 3.1) alias of base64.decodebytes. https://docs.python.org/3/library/base64.html > Looks like base64.decodestring is a deprecated (since 3.1) alias of base64.decodebytes. Yes, sorry is this got lost in the long bugreport: See https://docs.python.org/3.9/whatsnew/3.9.html#removed "base64.encodestring() and base64.decodestring(), aliases deprecated since Python 3.1, have been removed: use base64.encodebytes() and base64.decodebytes() instead." python-dns was fixed upstream : https://github.com/rthalley/dnspython/commit/f93c8c6ad41d38ccd19335a5a0a396cbaa409caf This bug appears to have been reported against 'rawhide' during the Fedora 32 development cycle. Changing version to 32. Paul, could you please fix this? FEDORA-2020-aaaa504a87 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-aaaa504a87 FEDORA-2020-aaaa504a87 has been pushed to the Fedora 32 testing repository. In short time you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-aaaa504a87` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-aaaa504a87 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. |