Ldap3

Latest version: v2.9.1

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

Scan your dependencies

Page 3 of 18

2.3

Not secure
- 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

Not secure
- 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

Not secure
- 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

Not secure
- 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

Not secure
- 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.

2.2.0

Not secure
- tested againsts Python 3.6.0, Python 2.7.13 and Python 2.6.6
- updated docs regarding search response attributes (thanks James)
- fixed LDIF representation for operation_to_ldif (thanks m7four)
- fixed rebind for pooled connections
- fixed custom sort order in LDIF representation of entry
- added Active Directory GUID syntax for safe_dn() (thanks dinhngtu)
- added pre-post read control (thanks Elizabeth)
- added add_members_to_groups in microsoft.extend namespace for Active Directory
- added remove_members_to_groups in microsoft.extend namespace for Active Directory
- refactored internal extend.microsoft and extend.novell structures
- fixed auto_escape for extended characters (thanks asand3r)
- validators now transform the Python value to a valid LDAP value when appropriate (thanks Sjd-Risca)
- added validator for boolean types
- added validator for date types
- fixed representation of binary data in Abstraction Layer for Python 2
- added auto_encode parameter to Connection object (defaults to True)
- limited auto_escape feature only to filter values
- escape_filter_chars doens't try anymore to guess if the value is already escaped.
- added ldap3.conv.is_filter_safe() (thanks Robert)
- added auto_escape parameter to connection.search() to override connection auto_escape behaviour (defaults to None)
- auto_escape is not applied to filter value if already escaped
- automatically encode output to stdout encoding for repr() and str() (for printing and logging attributes values).
- binary data are converted to a hex values string in repr() and str() (for printing and logging attributes values).
- auto_encoding is performed only for well known attribute types that use Unicode format in LDAP
- CLASSES_EXCLUDED_FROM_CHECK and ATTRIBUTES_EXCLUDED_FROM_CHECK moved to ldap3.utils.config and made available via get_config_parameter()
- added UTF8_ENCODED_SYNTAXES in ldap3.config.utils and made available via get_config_parameter()
- added UTF8_ENCODED_TYPES in ldap3.config.utils and made available via get_config_parameter()
- config parameters made available only via get_config_parameters()
- removed to_bytes() and check_escape() from ldap3.utils.conv (ambiguous functions)
- added connection.request to MockSync (thanks Fabian)
- tags are properly managed in add, compare and modify requests (thanks guidow)
- in Mock strategies single-valued attributes are properly managed
- in Mock strategies attributes type names are properly managed
- implemented extended operation machinery in MockBase
- implemented WhoAmI [RFC4532] in Mock strategies
- implemented GetBindDn [NOVELL] in Mock strategies
- implemented operational attributes machinery in MockBase
- implemented entryDN [RFC5020] operational attribute in MockBase
- Sphinx updated to 1.5.1

Page 3 of 18

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.