Skip to content

3.4.0

Compare
Choose a tag to compare
@encukou encukou released this 26 Nov 15:18
47975ee

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_intersection
  • ldap.cidict.strlist_minus
  • ldap.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 decoded str
  • LDAPUrl now treats urlscheme as case-insensitive
  • Several OpenLDAP options are now supported:
    • OPT_X_TLS_REQUIRE_SAN
    • OPT_X_SASL_SSF_EXTERNAL
    • OPT_X_TLS_PEERCERT

Fixes:

  • The copy() method of cidict was added back. It was unintentionally
    removed in 3.3.0
  • Fixed getting/setting SASL options on big endian platforms
  • Unknown LDAP result code are now converted to LDAPexception,
    rather than raising a SystemError.

slapdtest:

  • Show stderr of slapd -Ttest
  • SlapdObject uses directory-based configuration of slapd
  • SlapdObject startup is now faster

Infrastructure:

  • CI now runs on GitHub Actions rather than Travis CI.