Module ipapython.dn_ctypes is conditionally imported on missing ldap in ipapython.dn. ldap in turn is a strict requirement of IPA. Thereby, that code is unreachable.
ipapython.dn_ctypes
ldap
ipapython.dn
The only usage of ipapython.dn_ctypes is testing (ipatests.test_ipapython.test_dn) and it had and has problem like: https://pagure.io/freeipa/c/6a086eb2208cfa0626065b8be691f57a90abcc6c
ipatests.test_ipapython.test_dn
openldap (2.6) no longer ships ldap_r-2, that makes ipapython.dn_ctypes not working.
openldap
ldap_r-2
I think its use was to allow ipapython ship in PyPi, where we don't have binary libs in wheels? It might be better to fix dn_ctypes to adopt to the openldap's soname change.
yeah, my bad. According to https://pagure.io/freeipa/c/2a459ce0f2c5e2af2dbe028afcf1d4e83875ce60 python-ldap is optional for PyPI.
python-ldap
Indeed, in this case it's better to fix dn_ctypes to support both versions of the library.
The question is should we care about 'non-threaded' library version on old platforms (libldap) or blindly fallback to it.
libldap
For dn_ctypes.py purpose it does not really matter. It imports ldap_str2dn(), ldap_dnfree(), and ldap_err2string() functions and few structures which should be the same for both variants of libldap library.
dn_ctypes.py
ldap_str2dn()
ldap_dnfree()
ldap_err2string()
Metadata Update from @slev: - Issue assigned to slev
master:
ipa-4-9:
ipa-4-10:
Metadata Update from @frenaud: - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.