Ldap3-bleeding-edge

Latest version: v2.10.1.1337

Safety actively analyzes 687918 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 19

2.4

- 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)
- added compatibility with Cython (thanks Pedro)
- fixed auto_encode check in validate_attribute_value for unknown attrs (thanks CFelder)
- don't encode response_value as extended_response_to_dict expects a decoded value (thanks Matthias)
- compatible with the pyasn1 library from version 0.1.8 up to latest (0.3.7 for now) version
- added LDAPObjectDereferenceError exception
- LDAPObjectDereferenceError is raised when an object tries to dereference itself in the Abstraction Layer (thanks Daniele)
- async module renamed to asynchronous for compatibility with Python 3.7 (thank Barry)
- long integer are properly checked in mocking strategies (thanks gregn610)
- NUMERIC_TYPES includes long for Python 2

2.3

- compatible with the pyasn1 library from version 0.1.8 up to latest (0.3.1 for now) version
- MockAsync strategy is available
- added __ne__ method to Attribute in abstraction layer (thank Rodrigo)
- added LDAPUserNameIsMandatoryError exception in simple bind when user name is empty
- search referrals are properly decoded with fast decoder
- paged search works in mock strategies
- paged_search in extend.standard namespace raises an exception of class LDAPOperationResult if the search returns an error
- search_paged() method of Cursor object now return the whole list of entries if generator=False
- updated docs for defaults parameters (thanks Guarnacciaa)
- fixed mockBase for integer matching (thanks Jijo)
- boolean values are now uppercase in LDIF (thanks Linus)
- fixed timeout in ssl connection on Linux and Mac (thanks Allan)
- changed some internal functions to private in ldap3.utils.dn
- operational attribute entryDN is properly managed in Mock strategies (thanks Mark)
- new rdn in renamed entry is properly set in Mock strategies (thanks Mark)
- metrics are now updated for Mock strategies, except that for received bytes (thanks joehy)
- better managing of missing schema from the server (thanks Deborah)
- fixed error while schema is not in string format (thanks Alexandre)
- SNI support added when the underlying python library allows it (thanks Edmund)
- added pool_keepalive parameter to Connection object for REUSABLE strategy
- connection.extend.microsoft.modify_password returns False when change is not successful (thanks Ashley)
- added validators for uuid and uuid_le
- fixed error while searching for bytes
- fixed pickling and unpickling of datetime values (thanks David)
- fixed error that resulted in valid generalizedTime strings not being parsed (thanks Busuwe)
- fixed error with modify operation on referrals (thanks Busuwe)
- fixed error in mockBase add_entry() with raw rdn (thanks Chad)
- fixed error when stdin has not encoding in config.py (thanks cronicryo)
- fixed error when optional field are not present in pyasn1 requests (thanks Ilya)
- added DEFAULT_SERVER_ENCODING config parameter, should always be utf-8
- DEFAULT_ENCODING config parameter renamed to DEFAULT_CLIENT_ENCODING
- ADDITIONAL_ENCODINGS config parameter renamed to ADDITIONAL_SERVER_ENCONDINGS
- additional encodings are applied to all data received from the server
- additional encodings are not applied to client data
- added from_server=False parameter to to_unicode() to not try client encoding while decoding data from server

2.2.4

- leading and trailing spaces in server name don't raise exception anymore
- DitContentRule is properly read from the schema
- added validator for Active Directory timestamp
- Mock strategies raise an exception if a non-bytes value is added to the schema when no offline schema is provided (str and int are automatically converted)
- added custom_validators property to Mock strategies
- modifying objectClass with bytes values doesn't raise an exception anymore (but it may fail anyway because of server constraints)
- ensure that config sequence parameters are properly set
- allow case insensitive attribute and class names in config parameters
- added server.schema.is_valid() to check if the schema is available
- empty schema properties are set to empty dict() instead of None
- schema definitions with trailing and leading spaces are now properly parsed and don't raise an LDAPSchemaError exception anymore
- fixed error when flaky servers (OpenLDAP) don't return the correct response with StartTls

2.2.3

- abstraction layer query converts int values to string (thanks dgadmin)
- CaseInsensitiveDictWithAlias doesn't raise an exception anymore if alias is set multiple times to the same key
- friendly names in AttrDef are properly managed when performing commits in Writer cursors
- no more errors when server returns an empty schema (thanks Glen)
- range attributes in entries are properly recognized when auto_range is False
- fixed random errors in auto_range searches (thanks James)
- fixed checking of malformed schema
- added configuration parameter IGNORE_MALFORMED_SCHEMA to not raise exception for servers that don't follow the LDAP RFCs (defaults to False)
- test config moved to test/config.py
- testcase_id generated randomly for each test
- added ATTRIBUTES_EXCLUDED_FROM_OBJECT_DEF parmeter to exclude some attribute from automatic populate of ObjectDef in Abstract Layer (helpful for AD)
- added IGNORED_MANDATORY_ATTRIBUTES_IN_OBJECT_DEF parmeter to exclude some attribute from mandatory attribute list in ObjectDef in Abstract Layer (helpful for AD)
- fixed error when using implicit assigning in WritableEntry
- added LDAPInvalidValueError Exception
- in Python 3 byte filter are converted to unicode before parsing
- RESPONSE_DN_ENCODING parameter renamed to ADDITIONAL_ENCODINGS
- to_unicode(value, encoding=None, additional_encodings=False) now checks for additional encoodings in ADDITIONAL_ENCODINGS list if additional_encoding is set to True
- Reusable strategy uses not lazy Restartable connections
- Reusable strategy doesn't keep requesting the schema
- connection pool size in Reusable strategy defaults to 5
- optimized usage of configuration parameters

2.2.2

- PLAIN mechanism added to SASL authentication (thanks Janusz)
- added RESULT_RESERVED return code (thanks Rak)
- added RESPONSE_DN_ENCODING in config for flaky servers that return non utf-8 encoded DN. Set it to a list of encoding to sequentially try for decodign DNs.
- removed StopIteration in generators (deprecated by PEP 479)
- fixed a bug when converting AD datetimes on Windows systems
- added compatibility with pyasn1 0.2.3
- fixed NTLM authentication with pyasn1 0.2.3
- fixed an error when installing via executable on Windows (thanks TrumSteven)
- added 'raw_dn' key in search response dictionary. It contains the DN byte value returned for DN by the server
- attributes with ";binary" tag can now be retrieved in abstraction layer with the usual entry.atttribute syntax
- updated tests for OpenLDAP
- fixed error when in add/remove extend operation for case mismatch in user or group dn
- integer validator now automatically convert valid string numbers to int
- invalid timezone are checked when validating Generalized Time Format
- added test cases for validators
- updated tests for OpenLDAP

2.2.1

- tested against pyasn1 0.2.2 (thanks Ilya)
- get_response() has an optional new parameter "get_request" to return the request too, helpful in asynchronous strategies
- connection.request, connection.response and connection result are now properly blanked in async strategies
- ldap3.utils.dn.safe_dn() now checks for AD names only if no equal sign is present in the dn
- abstraction layer properly works with asynchronous strategies
- added a named tuple "Operation" used to store the request, result and response of an LDAP operation in Cursor history
- cursors in the Abstraction Layer keep history of executed LDAP operations for the last Cursor operation in the cursor.operation property
- Cursors in the Abstraction Layer keep history of errors for the last Cursor operation in the cursor.errors property
- if any error has occurred in the last operation of a Cursor the cursor.failed property is set to True
- added a named tuple "Operation" for storing request, result and response of an LDAP operation in Cursor history
- Cursor honours raise_exception parameter of the Connection.
- Cursor commit() return True if operations are successful and False if not. All pending commits are executed even if some fail
- new entries that have no additional mandatory attributes other those defined in dn are properly managed in Writers (thanks Matt)
- CaseInsensitiveDict now properly strips blanks from keys
- updated hashing alghoritm SHA to SHA1 (thanks Satoh)
- added match_dn(dn) to Cursor for matching entries with specified text in DN
- added match(attributes, value) for matching entries with specified value in one or more attribute values. It checks values and raw_values
- Cursors have simple match capability. When key is a string Cursor tries to match it against the DN of entries found.

Page 3 of 19

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.