You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Endi S. Dewata" <en...@safehaus.org> on 2007/01/09 02:14:01 UTC
Filter parsing problem
Hi,
Someone reported a problem with the filter parsing:
http://groups-beta.google.com/group/safehaus/browse_thread/thread/5100becc93
2fad8c
I was able to reproduce the problem on ApacheDS 1.0.0:
ldapsearch -h localhost -p 10389 -D uid=admin,ou=system -w secret -x
-b "dc=Example,dc=com" "(|(cn=a)(&(sn=b)(sn=c*)(sn=d)))"
Here's the debug output:
(org.apache.directory.server.ldap.support.SearchHandler.java:150)
Message received : SearchRequest
baseDn : 'dc=Example,dc=com'
filter : '(| (cn=a) (& (sn=b) (sn=c*) ) (sn=d) ) '
scope : whole subtree
typesOnly : false
no limit
Time Limit : no limit
Deref Aliases : never Deref Aliases
attributes :
Notice that the position of the parenthesises has changed.
Original filter: (|(cn=a)(&(sn=b)(sn=c*)(sn=d)))
Parsed filter : (|(cn=a)(&(sn=b)(sn=c*))(sn=d))
If the '*' is removed, it will work just fine. Similar problem happens if
the operators are switched:
Original filter: (&(cn=a)(|(sn=b)(sn=c*)(sn=d)))
Parsed filter : (&(cn=a)(|(sn=b)(sn=c*))(sn=d))
I'm having problems building ApacheDS from the source code, so I can't check
whether this problem still exists in the latest code. Could someone verify
this? Has this problem been reported in JIRA? Thanks a lot.
--
Endi S. Dewata
Re: Filter parsing problem
Posted by Alex Karasulu <ak...@apache.org>.
Thanks Endi for catching and reporting this. Can you file a JIRA issue
and provide a test case that catches this failure?
We have been working on 1.0.x bug fixes and perhaps we can fix this soon
for a 1.0.1 release at the end of this month.
Thanks,
Alex
Endi S. Dewata wrote:
> Hi,
>
> Someone reported a problem with the filter parsing:
>
> http://groups-beta.google.com/group/safehaus/browse_thread/thread/5100becc93
> 2fad8c
>
> I was able to reproduce the problem on ApacheDS 1.0.0:
>
> ldapsearch -h localhost -p 10389 -D uid=admin,ou=system -w secret -x
> -b "dc=Example,dc=com" "(|(cn=a)(&(sn=b)(sn=c*)(sn=d)))"
>
> Here's the debug output:
>
> (org.apache.directory.server.ldap.support.SearchHandler.java:150)
>
> Message received : SearchRequest
> baseDn : 'dc=Example,dc=com'
> filter : '(| (cn=a) (& (sn=b) (sn=c*) ) (sn=d) ) '
> scope : whole subtree
> typesOnly : false
> no limit
> Time Limit : no limit
> Deref Aliases : never Deref Aliases
> attributes :
>
> Notice that the position of the parenthesises has changed.
>
> Original filter: (|(cn=a)(&(sn=b)(sn=c*)(sn=d)))
> Parsed filter : (|(cn=a)(&(sn=b)(sn=c*))(sn=d))
>
> If the '*' is removed, it will work just fine. Similar problem happens if
> the operators are switched:
>
> Original filter: (&(cn=a)(|(sn=b)(sn=c*)(sn=d)))
> Parsed filter : (&(cn=a)(|(sn=b)(sn=c*))(sn=d))
>
> I'm having problems building ApacheDS from the source code, so I can't check
> whether this problem still exists in the latest code. Could someone verify
> this? Has this problem been reported in JIRA? Thanks a lot.
>
> --
> Endi S. Dewata
>
>
>