[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#4860) Sets' enhancement



ando@sys-net.it a écrit :
> raphael.ouazana@linagora.com wrote:
> 
>> It seems OK with HEAD, but only if I revert this patch:
>> http://www.openldap.org/devel/cvsweb.cgi/servers/slapd/sets.c.diff?r1=1.28.2.1&r2=1.28.2.2&hideattic=1&sortbydate=0&f=h
>>
>> With this patch, I get a segfault.
> 
> I have just committed a cleanup of the slap_set_join() function that
> should be consistent.  It should fix a leak in case of '&' on
> overlapping sets, and consistently handle memory.  Can you please test
> it and point out failures?  If you get any, please post the rules that
> cause them, as those I could design worked fine (tested with valgrind).

I am one of Raphael's colleagues, answering on his behalf.

I've tested your latest commit, and most of our tests now run great.
However, I still get a segault with the two rules below. Please note
that this segfault only happens when *both* rules are present, each one
by itself does not cause a segfault :

> access to dn.sub="ou=Affectations,dc=linagora,dc=org" attrs=sigleAbrege,labeledURI,mailRoutingAddress,telephoneNumber,facsimileTelephoneNumber,entry
>         by set="([ldap:///] + (([ldap:///] + ((([ldap:///] + this + [??base?(|(objectClass=affectationLiee)(objectClass=affectationSemiLibre))])/entryDN)/-0) + [??base?])/responsable) + [??base?(|(administrateurResponsable=] + user + [)(administrateur=] + user + [)(membre=] + user + [))])/entryDN" +rscx
>         by * break

> access to dn.sub="ou=Affectations,dc=linagora,dc=org" attrs=domaineMessagerie,finValidite,identifiantHarpegeStructure,responsable,objectClass,entry
>         by set="[ldap:///] + (((([ldap:///] + this + [??base?(|(objectClass=affectationLiee)(objectClass=affectationSemiLibre))])/entryDN)/-100) & ((([ldap:///] + user + [??base?(objectClass=personnel)])/entryDN)/-100)) + [??sub?entryDN=] + user/entryDN" +rscx
>         by * break

I'm afraid that we use quite a few specific schemas so you may not be
able to reproduce this easily. However, I hope these rules will enable
you to determine the problematic case. If necessary, I could prepare a
data and schema extract to reproduce the problem.

Regards,
Jon

-- 
Jonathan Clarke

Cellule OSSA - Groupe LINAGORA
27 rue de Berri, 75008 Paris
Tél: 01 58 18 68 28, fax: 01 58 18 68 29
http://www.linagora.com - http://www.08000linux.com