To do: LDAPv3 response controls / ldap.LDAPError exceptions
HI! In some situations there are controls attached to a LDAP response also in the case if LDAPResult::resultCode is not success(0). python-ldap just generates an exception in this case with resultCode, diagnosticMessage etc. But a calling application might also need to have access to the controls which might indicate more details why the operation failed. One important example for this behaviour are password policy controls and the bind operation (see [1] and [2]). The response controls define why the operation failed (e.g. password soon to expire, password reset needed). Could somebody with C programming skills please look into how to return these controls to the calling application via exception? Also we should look at how response controls can be returned to the application in case of intermediate responses. E.g. this is needed for implementing syncrepl in searchAndPersist mode with search requests. Ciao, Michael. [1] http://tools.ietf.org/draft/draft-behera-ldap-password-policy/ [2] http://tools.ietf.org/draft/draft-vchu-ldap-pwd-policy/ -- ___ Python-LDAP-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/python-ldap-dev
ANN: python-ldap-2.3.9
Find a new release of python-ldap: http://www.python-ldap.org/ python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. It mainly wraps the OpenLDAP 2.x libs for that purpose. Additionally it contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs and LDAPv3 schema). Ciao, Michael. -- Michael Ströder E-Mail: [email protected] http://www.stroeder.com Released 2.3.9 2009-07-26 Changes since 2.3.8: Lib/ * All modules (ldap, ldif, dsml and ldapurl) have common version number now * Non-exported function ldif.needs_base64() was abandoned and is now implemented as method LDIFWriter._needs_base64_encoding(). This allows sub-classes of LDIFWriter to implement determining whether attribute values have to be base64-encoded in a different manner and is the same approach like in class dsml.DSMLWriter. * LDAPUrlExtension._parse() now gracefully handles LDAP URL extensions without explicit exvalue as being set with implicit value None. Modules/ * New LDAP option constant ldap.OPT_X_SASL_NOCANON supported in LDAPObject.get/set_option() -- ___ Python-LDAP-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/python-ldap-dev
