Dropped support for Python 3.5
ModuleNotFoundError: No module named 'cStringIO'in ldaptor-ldap2pdns.
move scripts to console_scripts entry_points
replace deprecated calls to
This will be the last Ldaptor release to support Python 3.5.
Updated the object representations of pureber and pureldap containers to directly pass on their contained item object representations. Previously they always passed on the repr after decoding to str with utf-8.
Dropped support for Python 2
removed Travis CI
The next release v20.1.0 will drop support for Python 2, and require Python~=3.5
PyPI release is now done via GitHub Action
the ldaptor whl is now built with pep517.
the ldaptor whl is tested with tox. The sdist is now untested, deprecated and should only be used for compatability with very old packaging tools.
the setup.py file is deprecated and will be removed in a future release.
SASL Bind without credentials caused list index out of range. Issue #157.
ldaptor.protocols.ldap.ldapserver.LDAPServer.handle_LDAPSearchRequest now returns an LDAPSearchResultEntry without any attributes when there is no match between the requested attributes and the entrie’s attributes. Issue #166.
Release 19.1 (2019-09-09)¶
Basic implementation of
ldaptor.protocols.ldap.ldaperrorsclasses declaration was made to allow syntax highlighting for this module.
Example of using LDAP server with the database. Employees are store in the database table and retrieved on server initialization.
ldaptor.protocols.pureldap.LDAPPasswordModifyRequeststring representation now contains
newPasswdattributes. Password attributes are represented as asterisks.
ldaptor.protocols.pureldap.LDAPBindRequeststring representation is now using asterisks to represent
DeprecationWarningstacklevel was set to mark the caller of the deprecated methods of the
Regression bug with
LDAPExceptioninstances was fixed (
ldaptor.protocols.ldap.ldapclientexceptions failed to get their string representations).
StartTLS regression bug was fixed:
ldaptor.protocols.pureldap.LDAPStartTLSResponse.oidmust be of bytes type.
ldaptor.protocols.pureberstring representations were fixed: LDAPResult(resultCode=0, matchedDN=’uid=user’) instead of LDAPResult(resultCode=0, matchedDN=”b’uid=user’”).
ldaptor.protocols.pureldap.LDAPMatchingRuleAssertioninitialization for Python 3 was failed for bytes arguments.
ldaptor.protocols.pureldap.LDAPExtendedResponsecustom tag parameter was not used.
ldaptor._encoder.to_bytes()was fixed under Python 3 to return integers as their numeric representation rather than a sequence of null bytes.
Release 19.0 (2019-03-05)¶
Ability to logically compare ldaptor.protocols.pureldap.LDAPFilter_and and ldaptor.protocols.pureldap.LDAPFilter_or objects with ==.
Ability to customize ldaptor.protocols.pureldap.LDAPFilter_* object’s encoding of values when using asText.
New client recipe- adding an entry to the DIT.
Ability to use paged search control for LDAP clients.
New client recipie- using the paged search control.
Using modern classmethod decorator instead of old-style method call.
Usage of zope.interfaces was updated in preparation for python3 port.
toWiremethod is used to get bytes representation of ldaptor classes instead of
__str__which is deprecated now.
Code was updated to pass python3 -m compileall in preparation for py3 port.
Code is linted under python 3 in preparation for py3 port.
Continuous test are executed only against latest related Twisted and latest Twisted trunk branch.
The local development environment was updated to produce overall and diff coverage reports in HTML format.
six package is now a direct dependency in preparation for the Python 3 port, and has replaced the ldaptor.compat module.
Remove Python 3.3 from tox as it is EOL.
Add API documentation for
Quick start and cookbook examples were moved to separate files and made agnostic to the Python version.
dependency on pyCrypto replaced with pure python passlib.
replace direct dependency on pyOpenSSL with Twisted[tls]
DN matching is now case insensitive.
Proxies now terminate the connection to the proxied server in case a client immediately closes the connection.
asText() implemented for LDAPFilter_extensibleMatch
ldaptor.inmemory.ReadOnlyInMemoryLDAPEntrysubclass instances are added as the same class instances.
Redundant attributes keys sorting was removed from
Release 16.0 (2016-06-07)¶
Make meta data introspectable
Added proxybase.py, an LDAP proxy that is easier to hook into.
When parsing LDAPControls, criticality may not exist while controlValue still does
Requested attributes can also be passed as ‘*’ symbol
Numerous small bug fixes.
Updated Travis-CI, Tox and other bits for better coverage.
Release 14.0 (2014-10-31)¶
Ldaptor has a new version schema. As a first-party library we now follow Twisted’s example.
Ldaptor’s original author Tommi Virtanen changed the license to the MIT (Expat) license.
ldaptor.md4 has been replaced by a 3-clause BSD version.
Ldaptor client and server: None
Everything having to do with webui and Nevow have been removed.
Travis CI is now used for continuous integration.
Test coverage is now measured. We’re currently at around 75%.
tox is used now to test ldaptor on all combinations of pypy, Python 2.6, Python 2.7 and Twisted versions from 10.0 until 14.0.
A few ordering bugs that were exposed by that and are fixed now.
ldaptor.protocols.pureldap.LDAPExtendedRequest now has additional tests.
The new ldaptor.protocols.pureldap.LDAPAbandonRequest adds support for abandoning requests.
ldaptor.protocols.pureldap.LDAPBindRequest has basic SASL support now. Higher-level APIs like ldapclient don’t expose it yet though.
ldaptor.protocols.ldap.ldapclient’s now uses log.msg for it’s debug listing instead of the non-Twisted log.debug.
String literal exceptions have been replaced by real Exceptions.
“bin/ldaptor-ldap2passwd –help” now does not throws an exception anymore (debian bug #526522).
ldaptor.delta.Modification and ldaptor.protocols.ldap.ldapsyntax.PasswordSetAggregateError that are used for adding contacts now handle unicode arguments properly.
ldaptor.protocols.pureldap.LDAPExtendedRequest’s constructor now handles STARTTLS in accordance to RFC2251 so the constructor of ldaptor.protocols.pureldap.LDAPStartTLSRequest doesn’t fail anymore.
ldaptor.protocols.ldap.ldapserver.BaseLDAPServer now uses the correct exception module in dataReceived.
ldaptor.protocols.ldap.ldaperrors.LDAPException: “Fix deprecated exception error”
bin/ldaptor-find-server now imports dns from the correct twisted modules.
bin/ldaptor-find-server now only prints SRV records.
ldaptor.protocols.ldap.ldapsyntax.LDAPEntryWithClient now correctly propagates errors on search(). The test suite has been adapted appropriately.
ldaptor.protocols.ldap.ldapconnector.LDAPConnector now supports specifying a local address when connecting to a server.
The new ldaptor.protocols.pureldap.LDAPSearchResultReference now prevents ldaptor from choking on results containing SearchResultReference (usually from Active Directory servers). It is currently only a stub and silently ignored.
hashlib and built-in set() are now used instead of deprecated modules.
All versions up to and including 0.0.43 didn’t have a changelog.