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*