Hi,
Below is one of the few complex filters which don't work properly
Example:
Filter: "(&(&(uid=test1)(cn=t1 est))(&(gidnumber=20))(uidnumber=2559)(&(sn=est)))"
In this case, filter ignores "uidnumber=2559" after assigning the decoders to this filter. Log details are given below how it actually behaves
[07/Aug/2012:09:40:12 +0200]:09:40:12 +0200] get_filter - after optimize: (&(&(uid=test1)(cn=t1 est))(&(gidNumber=20))(uidNumber=2559)(&)) [07/Aug/2012 get_filter - before optimize: (&(&(uid=test1)(cn=t1 est))(&(gidNumber=20))(uidNumber=2559)(&))
[07/Aug/2012:09:40:12 +0200] index_subsys_assign_filter_decoders - before: (&(&(uid=test1)(cn=t1 est))(&(gidNumber=20))(uidNumber=25 59)(&(sn=est))) -----> Before assigning filter decoder it looks like
[07/Aug/2012:09:40:13 +0200] - slapi_filter_free type 0xA0 [07/Aug/2012:09:40:13 +0200] - slapi_filter_free type 0xA0 [07/Aug/2012:09:40:13 +0200] - slapi_filter_free type 0xA0
[07/Aug/2012:09:40:13 +0200] index_subsys_assign_filter_decoders - after: (&(uid=test1)(cn=t1 est)(gidNumber=20)(sn=est)) ---> here it missed "uidNumber=2559"
Is this a bug or its expected behavior? If yes, is there any specific reason why it ignores this particular filter?
Regards, Jyoti
On 08/15/2012 11:00 AM, Das, Jyoti Ranjan (STSD) wrote:
Hi,
Below is one of the few complex filters which don't work properly
Example:
*Filter:* "*(&(&(uid=test1)(cn=t1 est))(&(gidnumber=20))(uidnumber=2559)(&(sn=est)))"*
In this case, filter ignores *"uidnumber=2559"* after assigning the decoders to this filter. Log details are given below how it actually behaves
*[07/Aug/2012:09:40:12 +0200]:09:40:12 +0200] get_filter - after optimize: (&(&(uid=test1)(cn=t1 est))(&(gidNumber=20))(uidNumber=2559)(&)) [07/Aug/2012 get_filter - before optimize: (&(&(uid=test1)(cn=t1 est))(&(gidNumber=20))(uidNumber=2559)(&))*
[07/Aug/2012:09:40:12 +0200] index_subsys_assign_filter_decoders - before: (&(&(uid=test1)(cn=t1 est))(&(gidNumber=20))(uidNumber=25 59)(&(sn=est))) ---**àBefore assigning filter decoder it looks like *
[07/Aug/2012:09:40:13 +0200] - slapi_filter_free type 0xA0 [07/Aug/2012:09:40:13 +0200] - slapi_filter_free type 0xA0 [07/Aug/2012:09:40:13 +0200] - slapi_filter_free type 0xA0*
[07/Aug/2012:09:40:13 +0200] index_subsys_assign_filter_decoders - after: (&(uid=test1)(cn=t1 est)(gidNumber=20)(sn=est)) -**à here it missed "uidNumber=2559"
Is this a bug or its expected behavior? If yes, is there any specific reason why it ignores this particular filter?*
Not sure. What version of 389-ds-base? Can you reproduce this with 1.2.11? The filter is quite strange, but not illegal afaik - there are 3 redundant & clauses.
**
**
**
*Regards,*
*Jyoti*
389-users@lists.fedoraproject.org