[
https://issues.apache.org/jira/browse/DIRSERVER-1553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12909940#action_12909940
]
Emmanuel Lecharny commented on DIRSERVER-1553:
----------------------------------------------
It's complicated. I'm wondering if the second filter was correctly handled by
the pre-merge code. Have to grab the revision and to debug it, to see how it
behaves. Will take four more hours, and as it's already 1am, will do that
tomorrow.
This part of the code is really convoluted...
> Incorrect LDAP search query filter decoding depending on items order
> --------------------------------------------------------------------
>
> Key: DIRSERVER-1553
> URL: https://issues.apache.org/jira/browse/DIRSERVER-1553
> Project: Directory ApacheDS
> Issue Type: Bug
> Components: ldap
> Affects Versions: 2.0.0
> Reporter: Victor Antonovich
> Assignee: Emmanuel Lecharny
> Attachments: jagplay-data.ldif, jagplay-partition.ldif,
> jagplay-schema.ldif
>
>
> In current trunk version of ApacheDS some search queries decoded incorrectly.
> For example, search query with filter:
> (&(&(jagplayUserGroup=Active)(!(jagplayUserGroup=Banned))(jagplayUserNickname=admin)))
> is decoded correctly with log:
> [15:18:02] DEBUG [org.apache.directory.shared.ldap.codec.LdapDecoder] -
> Decoded LdapMessage : SearchRequest
> baseDn : 'ou=users,dc=jagplay,dc=com'
> filter :
> '&(&(jagplayUserGroup=Active)(!(jagplayUserGroup=Banned))(jagplayUserNickname=admin))'
> scope : whole subtree
> typesOnly : false
> Size Limit : 1000
> Time Limit : no limit
> Deref Aliases : deref Always
> attributes : 'objectClass'
> but same query with only swapped items:
> (&(jagplayUserNickname=admin)(&(jagplayUserGroup=Active)(!(jagplayUserGroup=Banned))))
> is decoded incorrectly with message:
> [15:28:43] DEBUG [org.apache.directory.shared.ldap.codec.LdapDecoder] -
> Decoded LdapMessage : SearchRequest
> baseDn : 'ou=users,dc=jagplay,dc=com'
> filter : '&(jagplayUserGroup=Active)(!(jagplayUserGroup=Banned))'
> scope : whole subtree
> typesOnly : false
> Size Limit : 1000
> Time Limit : no limit
> Deref Aliases : deref Always
> attributes : 'objectClass'
> so top AND assertion with (jagplayUserNickname=admin) item is lost completely
> and search results are totally wrong.
> Seems like this behavior was introduced after commit 987606 "merging changes
> done by Emmanuel in codec message merge branch".
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.