Issue description:
According to RFC 4512 Section 4.1.1, response controls can be attatched also to unsuccessful response messages.
But exceptions LDAPObject.result() or such raise don't have such information.
Are these any way to get response controls even if operations are not succeeded?
I'm encountering this problem when trying to interpret password policy response control from OpenLDAP 2.4 server.
Per draft-behera-ldap-password-policy Section 8.1.2.3.2, error controls such as passwordExpired are conveyed with return codes indicating operation errors.
Steps to reproduce:
- enable password policy overlay on OpenLDAP 2.4 server
- set a non-zero value to pwdMaxAge and userPassword to pwdAttribute of password policy ldap entry
- create an user (entry) with userPassword attribute
- wait for expiring
- call LDAPObject.simple_bind_s() on the user (which raises ldap.INVALID_CREDENTIALS)
Operating system: Linux
Python version: 3.5.2
python-ldap version: 3.0.0
Reactions are currently unavailable
Issue description:
According to RFC 4512 Section 4.1.1, response controls can be attatched also to unsuccessful response messages.
But exceptions LDAPObject.result() or such raise don't have such information.
Are these any way to get response controls even if operations are not succeeded?
I'm encountering this problem when trying to interpret password policy response control from OpenLDAP 2.4 server.
Per draft-behera-ldap-password-policy Section 8.1.2.3.2, error controls such as passwordExpired are conveyed with return codes indicating operation errors.
Steps to reproduce:
Operating system: Linux
Python version: 3.5.2
python-ldap version: 3.0.0