3.4.0
This release requires Python 3.6 or above,
and is tested with Python 3.6 to 3.10.
Python 2 is no longer supported.
New code in the python-ldap project is available under the MIT licence
(available in LICENCE.MIT in the source). Several contributors have agreed
to apply this licence their previous contributions as well.
See the README for details.
The following undocumented functions are deprecated and scheduled for removal:
ldap.cidict.strlist_intersectionldap.cidict.strlist_minusldap.cidict.strlist_union
Security fixes:
- Fix inefficient regular expression which allows denial-of-service attacks
when parsing specially-crafted LDAP schema.
(GHSL-2021-117)
Changes:
- On MacOS, remove option to make LDAP connections from a file descriptor
when built with the system libldap (which lacks the underlying function,
ldap_init_fd) - Attribute values of the post read control are now
bytes
instead of ISO8859-1 decodedstr LDAPUrlnow treats urlscheme as case-insensitive- Several OpenLDAP options are now supported:
OPT_X_TLS_REQUIRE_SANOPT_X_SASL_SSF_EXTERNALOPT_X_TLS_PEERCERT
Fixes:
- The
copy()method ofcidictwas added back. It was unintentionally
removed in 3.3.0 - Fixed getting/setting
SASLoptions on big endian platforms - Unknown LDAP result code are now converted to
LDAPexception,
rather than raising aSystemError.
slapdtest:
- Show stderr of slapd -Ttest
SlapdObjectuses directory-based configuration ofslapdSlapdObjectstartup is now faster
Infrastructure:
- CI now runs on GitHub Actions rather than Travis CI.