To do: LDAPv3 response controls / ldap.LDAPError exceptions

2009-07-26 Thread Michael Ströder
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

2009-07-26 Thread Michael Ströder
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