directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (DIRSERVER-1553) Incorrect LDAP search query filter decoding depending on items order
Date Thu, 16 Sep 2010 12:20:34 GMT

     [ https://issues.apache.org/jira/browse/DIRSERVER-1553?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Emmanuel Lecharny resolved DIRSERVER-1553.
------------------------------------------

    Fix Version/s: 2.0.0-RC1
       Resolution: Fixed

Fixed with :
http://svn.apache.org/viewvc?rev=997710&view=rev

This was an error in some cases in the way we store the decoded filter. If we had an And/Or/Not
filter at the end of the filter, the top level filter was pointing to the inner filter, not
to the englobing filter. My bad...

> 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
>             Fix For: 2.0.0-RC1
>
>         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.


Mime
View raw message