#9255 ipapython.dn_ctypes is not compatible with libldap 2.6
Closed: fixed a year ago by frenaud. Opened a year ago by slev.

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.

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

openldap (2.6) no longer ships ldap_r-2, that makes ipapython.dn_ctypes not working.


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.

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.

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.

Metadata Update from @slev:
- Issue assigned to slev

a year ago

master:

  • d4fa80b ipapython: Support openldap 2.6

ipa-4-9:

  • 7e93f46 ipapython: Support openldap 2.6

ipa-4-10:

  • 51c31e0 ipapython: Support openldap 2.6

Metadata Update from @frenaud:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

a year ago

Login to comment on this ticket.

Metadata