Zhang Huangbin wrote:
> How can i add a booleanMatch type attribute with py-ldap?

Simply like any other attribute provided your attribute value is TRUE or FALSE.

> Refer to python-ldap-2.3.10/Demo/ldapcontrols.py, i use below code to add new 
> attribute:
> 
> ----
> l = ldap.initialize('ldap://localhost:389',trace_level=2)
> l.add_ext_s(dn, modlist, serverctrls=[ 
> BooleanControl('1.3.6.1.4.1.4203.1.10.1',1,1) ],)

???

Here you are using the Subentries control with an LDAP AddRequest. AFAIK this
control (which is not an attribute) is only applicable to SearchRequests (see
RFC 3672). What made you write this code?

> ----
> 
> But i got this error message:
> ----
> => result: 2
> *** ldap://127.0.0.1:389/ - SimpleLDAPObject.result3 ((2, 1, -1),{})
> => LDAPError - UNAVAILABLE_CRITICAL_EXTENSION: {'info': 'critical extension 
> is not recognized', 'desc': 'Critical extension is unavailable'}
> ----

The server does not support this control for processing this request. Well,
that looks correct to me.

> I use amavisd-new attribute:
> ----
> attributetype ( 1.3.6.1.4.1.15312.2.2.1.19
>   NAME 'amavisLocal'
>   DESC 'Is user considered local'
>   EQUALITY booleanMatch
>   SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
>   SINGLE-VALUE )
> ----

I don't see any need to use a LDAPv3 extended control to simply populate this
attribute (once it's added to the schema).

Ciao, Michael.

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Python-LDAP-dev mailing list
Python-LDAP-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/python-ldap-dev

Reply via email to