- Update to 2.9.1
* new feature: added support for using Kerberos authentication on windows
clients using the native winkerberos library
* new feature: added support for using Channel Bind tokens with Kerberos
authentication on windows clients
* fixed a bug related to using start_tls with a RESTARTABLE strategy that
caused errors to be raised erroneously.
* fixed a bug around the type checking of Reverse DNS Settings
with Kerberos authentication
* fixed an issue related to decoding unicode strings in LDAP referrals
and attributes in python 2
* minor documentation updates and corrections
- Fix filename pattern matching in %files section
OBS-URL: https://build.opensuse.org/request/show/915437
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ldap3?expand=0&rev=38
- Update to 2.9
* SafeSync strategy (SAFE_SYNC) for using a synchronous Connection
object in a multi-threading program
* try to use Crypto library if present for hashing NTLM password
on python interpreter missing the MD4 OpenSSL algorithm
* SafeRestartable strategy (SAFE_RESTARTABLE) for using a restartable
Connection object in a multi-threading program
* many smaller changes and bugfixes
- Rebase skip-missing-LDAP-server.patch
* suprisingly still needed
OBS-URL: https://build.opensuse.org/request/show/867413
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ldap3?expand=0&rev=36
- Update to 2.6.1:
- added eDirectory 9.1.4 (EDIR_9_1_4) to offline schemas
- added json converter for timedelta (thanks dirkjanm)
- strip parameter defaults to False in utils.dn.parse_dn()
- escaped space is allowed as trailing character in attribute_value in utils.dn.parse_dn() (thanks phi1010)
- connection.extend.standard.paged_search doesn't raise exceptions when raise_exceptions is False
- the Search operation returns the entries fetched by the server when size or time limits are reached even if raise_exceptions is set to True
- Handle the minimum value that can be stored in an Int64 in format_ad_timedelta (thanks mprahl)
- EntryState: `entry_raw_attributes` is populated instead of `raw_attributes` (thanks Christian)
- Removed restriction to perform rename and move simultaneously in modify_dn (thanks Fabian)
- fixed checking for hexdigits in parse_dn (thanks Michael)
- fixed escaping when multiple backslashes are present in parse_dn (thanks Phillip)
- fixed multiple NoneType exceptions in entry_to_json() (thanks David and cfelder)
- allowing Microsoft specific syntax (<WKGUID=xxx>) for WellKnownObjects in DN (thanks David)
- connection.extend.standard.paged_search() now follows referrals when auto_referrals=True (thanks kprativa)
- fixed a bug in decoding replica list in connection.extend.novell.list_replicas()
- fixed a bug when adding duplicate alias in CaseInsensitiveWithAliasDict()
- added ignore_duplicates=False in set_aliases in CaseInsensitiveWithAliasDict() to ignore a duplicate alias (either in aliases or in keys)
- Schema info now uses CaseInsensitiveWithAlias dict as default so object and attributes can also be referentiated with OID (thanks ahoffm11)
- added block mode and timeout parameters to next() method of persistent_search
- when using the pyasn1 decoder raw_dn is not returned as a pyasn1 object anymore but as bytes
- Return offset timezone aware datetime for max AD timestamp (thanks Jussi)
OBS-URL: https://build.opensuse.org/request/show/736797
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ldap3?expand=0&rev=9
- added eDirectory 9.1.4 (EDIR_9_1_4) to offline schemas
- added json converter for timedelta (thanks dirkjanm)
- strip parameter defaults to False in utils.dn.parse_dn()
- escaped space is allowed as trailing character in attribute_value in utils.dn.parse_dn() (thanks phi1010)
- connection.extend.standard.paged_search doesn't raise exceptions when raise_exceptions is False
- the Search operation returns the entries fetched by the server when size or time limits are reached even if raise_exceptions is set to True
- Handle the minimum value that can be stored in an Int64 in format_ad_timedelta (thanks mprahl)
- EntryState: `entry_raw_attributes` is populated instead of `raw_attributes` (thanks Christian)
- Removed restriction to perform rename and move simultaneously in modify_dn (thanks Fabian)
- fixed checking for hexdigits in parse_dn (thanks Michael)
- fixed escaping when multiple backslashes are present in parse_dn (thanks Phillip)
- fixed multiple NoneType exceptions in entry_to_json() (thanks David and cfelder)
- allowing Microsoft specific syntax (<WKGUID=xxx>) for WellKnownObjects in DN (thanks David)
- connection.extend.standard.paged_search() now follows referrals when auto_referrals=True (thanks kprativa)
- fixed a bug in decoding replica list in connection.extend.novell.list_replicas()
- fixed a bug when adding duplicate alias in CaseInsensitiveWithAliasDict()
- added ignore_duplicates=False in set_aliases in CaseInsensitiveWithAliasDict() to ignore a duplicate alias (either in aliases or in keys)
- Schema info now uses CaseInsensitiveWithAlias dict as default so object and attributes can also be referentiated with OID (thanks ahoffm11)
- added block mode and timeout parameters to next() method of persistent_search
- when using the pyasn1 decoder raw_dn is not returned as a pyasn1 object anymore but as bytes
- Return offset timezone aware datetime for max AD timestamp (thanks Jussi)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ldap3?expand=0&rev=25
- update to version 2.6
# 2.6 - 2019.03.24
- fixed empty digestMd5.py file in 2.5.2 package
- explicitly declare digest module md5 in util.ntlm (thanks adawalli)
- change object passed to modify() was unexpectedly mutated (thanks John)
- added LDAPInfoError exception
- added Server.has_control(control) method to check if a server has a specific control
- added Server.has_extension(extension) method to check if a server has a specific extension
- added Server.has_feature(feature) method to check if a server has a specific feature
- fixed checking of \\ in safe_dn (thanks Maxim)
- fixed uuid checking with 5c byte value
- added single=True parameter to the ServerPool object definition. Servers state is shared between connections using the same pool
- updated copyright notice
OBS-URL: https://build.opensuse.org/request/show/703010
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ldap3?expand=0&rev=23
- Use the actual upstream distributed archive
- update to version 2.5.2
# 2.5.2 - 2018.12.28
- when starting tls before binding the connection is automatically open
- fixed changelog date (thanks Adam)
- support for AD timedeltas (thanks mprahl)
- fixed WhoAmI in mock strategies (thanks mprahl)
- prevent unnecessary exception in extend/standard/ModifyPassword (thanks Johnny)
- added support for external gssapi credentials to be passed to the sasl connection (thanks Firstyear)
- added support for gssapi store in sasl connection (thanks clhendrick)
- fixed LdifProducer (thanks antoinell)
- fixed NTLM bind (thanks ribx)
- server state in ServerPool is now a namedtuple "ServerState" (thanks Krisztian)
- fixed error when adding member to AD group with unsafe DN (thanks Maxim)
- properly restore lazy status in reusable strategy (thanks Krisztian)
- ServerState namedtuple converted to class in core/pooling (thanks Krisztian)
- empty schema doesn't raise exception in Abstraction Layer (thanks ghost)
# 2.5.1 - 2018.08.01
- connection.result is populated when exception raised with raise_exceptions=True
- fixed objectSid in mocking strategies
- fixed circular reference in exception history
- added objectSid validator
- byte values are properly searched in MOCK strategies (thanks dyj216)
- exception history refactored (thanks Tamas)
- connections in context manager don't bind anymore when auto_bind is set to AUTO_BIND_NONE (Thanks Tim)
- Cython compatible build (thanks Pedro)
- more detailed exception message in Mock strategy (thanks Janne)
- exceptions flow refactored in reusable strategy (thanks kxt)
- pwdlastset accept any positive integer (thanks abenbecker)
OBS-URL: https://build.opensuse.org/request/show/676956
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ldap3?expand=0&rev=7
- Use real URL, not some inventive lies
- update to version 2.5
* abstract layer now handles auxiliary classes
* pwdLAstSet in AD is valid for 0 and -1 (thanks Taylor)
* fixed extend.novell.get_universal_password (thanks Fernando)
* entryUUID is properly validated in search filters (thanks FriedrichI)
* custom attribute formatters are properly applied when parsing the search filter
* REUSABLE strategy now honours credentials when changed in the original connection (thanks Prof Hase)
* add operation doesn't change passed attribute dict anymore (thanks Daniele)
* missing entry's attribute return False when searching instead of raising an exception (thanks Maxsond)
* fixed ad_timestamp evaluation for integers (thanks Flynn)
* wrong exception raised when user name is empty in simple binding (thanks Ivan)
* exception is raised if size limit is exceed when searchin in mocking strategies with raise_exceptions=True (thanks David)
* fixed validator for novell guid
* fixed validator for openldap EntryUUID
* fixed validator for AD objectGUID, now follows MS-DTYP
* fixed formatter for AD objectGUID
* fixed exception when adding binary values (thanks guidow)
* added escape_rdn_chars() to ldap3.utils.dn for safe checking untrusted input while building DNs (thanks Alex)
* fixed search for binary values in mock strategies
* fixed exception with unicode chars in subfilters for python 2 (thanks Friedrich)
* connection.extend.paged_search() doens't miss the last entries anymore when size limit is exceeded for the search on the server (thanks Friedrich)
* validators are not applied when loading data from json dump in Mock strategies (thanks Derek)
* additional validator to check for erroneous bytes to string conversion in Python 3 (thanks Brian)
* additional formatter and validator to check for generalizedtime with 0 year (thanks Brian)
* added ADDITIONAL_CLIENT_ENCODINGS parameter
* fixed AD dir_sync extended operation (thanks Lucas)
* ad_unlock_account works properly (thanks Francowxu)
* added Microsoft security descriptor control (thanks Dirk-jan)
OBS-URL: https://build.opensuse.org/request/show/596932
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ldap3?expand=0&rev=5
- Reenable testsuite
* Pass || : as some of the tests fail with UNKNOWN-EDIR this means
the testsuite needs localy running ldap server to communicate with
as such it does not make sense to fix those FAILED (errors=39)
- update to version 2.4.1
* tested against pyasn1 from version 0.1.8 up to version 0.4.2, Python 2.6.6, Python 2.7.14, Python 3.6.4
* auto_encode parameter is honored when binding (thanks jkolo)
* fixed organizationalName definition in oid (thanks mingulov)
* automatic byte to int conversion working again (thanks Brian)
* mock connection searchs correctly escape filters (thanks kiddick)
* fixed bind with not unicode characters in Python 2 (thanks jkolo)
* extended filter attributes should work again with pyasn1 0.4.1 (thanks Dirk-jan)
* fixed error when reading incomplete server info
* NOT keyword properly handled in dit_content_rules (thanks Michael)
* operational attributes are prorerly returned in Cursor whit get_operational_attributes = True (thanks a23s4a)
* start_tls() is properly executed with AD when raise_exceptions=True (thanks Andrew)
* reopening a Connection honours auto_bind setting (thanks calken)
* an attribute returned with no value from a flaky server doesn't raise exception anymore (thanks Terrence)
* pwdLastSet in AD is valid only for -1 (thanks Thane)
* fixed docs for ldifProducer (thanks lhoekenga)
* fixed monkeypatching of pyasn1 for Boolean Value in BER encoding (thanks tmarlok88)
* check_names was not honoured while validating attribute values (thanks ymcymc)
* locks refactored in Connection and in Async strategy
* socket properly closed when checking availability of an invalid server
* security fix in the rebind() method of the Connection object (thanks Daniel)
* fix for Sasl credentials in Python 3 (thanks Busuwe)
* fixed bug when checking for equality in MockBase
* added validator parameter to Server object for custom validators
* attribute values are now validated in add/compare/modify operations in the Connection object
OBS-URL: https://build.opensuse.org/request/show/569258
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ldap3?expand=0&rev=4
* auto_encode parameter is honored when binding (thanks jkolo)
* fixed organizationalName definition in oid (thanks mingulov)
* automatic byte to int conversion working again (thanks Brian)
* mock connection searchs correctly escape filters (thanks kiddick)
* fixed bind with not unicode characters in Python 2 (thanks jkolo)
* extended filter attributes should work again with pyasn1 0.4.1 (thanks Dirk-jan)
* fixed error when reading incomplete server info
* NOT keyword properly handled in dit_content_rules (thanks Michael)
* operational attributes are prorerly returned in Cursor whit get_operational_attributes = True (thanks a23s4a)
* start_tls() is properly executed with AD when raise_exceptions=True (thanks Andrew)
* reopening a Connection honours auto_bind setting (thanks calken)
* an attribute returned with no value from a flaky server doesn't raise exception anymore (thanks Terrence)
* pwdLastSet in AD is valid only for -1 (thanks Thane)
* fixed docs for ldifProducer (thanks lhoekenga)
* fixed monkeypatching of pyasn1 for Boolean Value in BER encoding (thanks tmarlok88)
* check_names was not honoured while validating attribute values (thanks ymcymc)
* locks refactored in Connection and in Async strategy
* socket properly closed when checking availability of an invalid server
* security fix in the rebind() method of the Connection object (thanks Daniel)
* fix for Sasl credentials in Python 3 (thanks Busuwe)
* fixed bug when checking for equality in MockBase
* added validator parameter to Server object for custom validators
* attribute values are now validated in add/compare/modify operations in the Connection object
* Python types can now be used in add/compare/modify operations
* compatible with the pyasn1 library from version 0.1.8 up to latest (0.3.3 for now) version
* fixed compatibility with Twisted on Windows on Python 2.7 (thanks Pmisik)
* fixed paged_search behaviour in Reader object
* fixed regression in MockBase (thanks Markus)
* fixed invalid filter sequence in MockBase (thanks SignedBit)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ldap3?expand=0&rev=12