freeipa/ipaserver/install
Stanislav Laznicka 0f13e663ca ldif: handle attribute names as strings
ldif.LDIFRecordList handles all attribute names as utf-8 strings
and all attribute values as bytes. If we take the attribute value
and try to search for it in the entry (= dictionary), if it contains
the attribute name as a key (which is a string), their hashes match.
However, even if hashes match, Python needs to make sure those two
are the same in case of a hash collision, so it tries to compare them.
This causes BytesWarning exception when running in strict mode
because `bytes` and `str` instances cannot be compared. KeyError
would be thrown in a non-strict mode.

Also, when later passing the attr to replace_value(), we need for it
to be `str` otherwise the modifications handler fails because it
tries to sort the attributes it's modifying but that's a bit less
poetic issue than the first one.

https://pagure.io/freeipa/issue/7129

Reviewed-By: Michal Reznik <mreznik@redhat.com>
2017-09-12 16:46:38 +02:00
..
plugins Fix ipa-server-upgrade: This entry already exists 2017-08-30 12:47:53 +02:00
server Fixing how sssd.conf is updated when promoting a client to replica 2017-09-12 15:46:04 +02:00
__init__.py Remove __all__ specifications in ipaclient and ipaserver.install 2013-09-06 15:42:33 +02:00
adtrust.py Correct typo estabilish->establish in the install scripts 2017-07-24 13:41:16 +02:00
adtrustinstance.py logging: do not log into the root logger 2017-07-14 15:55:59 +02:00
bindinstance.py py3: fixing zonemgr_callback 2017-07-27 16:48:49 +02:00
ca.py py3: fix caless to CA promotion on replica 2017-08-25 09:25:19 +02:00
cainstance.py Unify storing certificates in LDAP 2017-08-25 09:40:15 +02:00
certs.py issue_server_cert: avoid application of str to bytes 2017-09-12 15:52:06 +02:00
conncheck.py install: introduce installer class hierarchy 2016-11-11 12:17:25 +01:00
custodiainstance.py Misc Python 3 fixes for ipaserver.secrets 2017-08-11 13:47:35 +02:00
dns.py logging: do not log into the root logger 2017-07-14 15:55:59 +02:00
dnskeysyncinstance.py logging: do not log into the root logger 2017-07-14 15:55:59 +02:00
dogtag.py install: introduce installer class hierarchy 2016-11-11 12:17:25 +01:00
dogtaginstance.py python3: port certmonger requests script 2017-08-22 10:53:39 +02:00
dsinstance.py x509: Make certificates represented as objects 2017-07-27 10:28:58 +02:00
httpinstance.py Removing part of circular dependency of ipalib in ipaplaform 2017-08-30 15:51:39 +02:00
installutils.py ldif: handle attribute names as strings 2017-09-12 16:46:38 +02:00
ipa_backup.py logging: remove object-specific loggers 2017-07-14 15:55:59 +02:00
ipa_cacert_manage.py Fix Certificate renewal (with ext ca) 2017-08-30 12:58:58 +02:00
ipa_kra_install.py logging: remove object-specific loggers 2017-07-14 15:55:59 +02:00
ipa_ldap_updater.py logging: remove object-specific loggers 2017-07-14 15:55:59 +02:00
ipa_otptoken_import.py ipa-otptoken-import: Make PBKDF2 refer to the pkcs5 namespace 2017-09-01 10:50:34 +02:00
ipa_pkinit_manage.py logging: remove object-specific loggers 2017-07-14 15:55:59 +02:00
ipa_replica_install.py install: re-introduce option groups 2017-03-13 10:12:40 +01:00
ipa_replica_prepare.py logging: remove object-specific loggers 2017-07-14 15:55:59 +02:00
ipa_restore.py logging: do not reference loggers in arguments and attributes 2017-07-14 15:55:59 +02:00
ipa_server_certinstall.py x509: Make certificates represented as objects 2017-07-27 10:28:58 +02:00
ipa_server_install.py install: re-introduce option groups 2017-03-13 10:12:40 +01:00
ipa_server_upgrade.py logging: remove object-specific loggers 2017-07-14 15:55:59 +02:00
ipa_winsync_migrate.py logging: remove object-specific loggers 2017-07-14 15:55:59 +02:00
kra.py kra: promote: Get ticket before calling custodia 2017-06-15 10:10:27 +02:00
krainstance.py Unify storing certificates in LDAP 2017-08-25 09:40:15 +02:00
krbinstance.py logging: do not log into the root logger 2017-07-14 15:55:59 +02:00
ldapupdate.py logging: remove object-specific loggers 2017-07-14 15:55:59 +02:00
ntpinstance.py logging: do not log into the root logger 2017-07-14 15:55:59 +02:00
odsexporterinstance.py logging: do not log into the root logger 2017-07-14 15:55:59 +02:00
opendnssecinstance.py logging: do not log into the root logger 2017-07-14 15:55:59 +02:00
otpdinstance.py Enable pylint missing-final-newline check 2015-12-23 07:59:22 +01:00
replication.py logging: do not log into the root logger 2017-07-14 15:55:59 +02:00
schemaupdate.py logging: do not use ipa_log_manager to create module-level loggers 2017-07-14 15:55:59 +02:00
service.py Unify storing certificates in LDAP 2017-08-25 09:40:15 +02:00
sysupgrade.py logging: do not log into the root logger 2017-07-14 15:55:59 +02:00
upgradeinstance.py logging: do not log into the root logger 2017-07-14 15:55:59 +02:00