You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Victor Antonovich (JIRA)" <ji...@apache.org> on 2010/09/15 13:42:33 UTC

[jira] Created: (DIRSERVER-1553) Incorrect LDAP search query filter decoding depending on items order

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


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.


[jira] Commented: (DIRSERVER-1553) Incorrect LDAP search query filter decoding depending on items order

Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DIRSERVER-1553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12909761#action_12909761 ] 

Emmanuel Lecharny commented on DIRSERVER-1553:
----------------------------------------------

The filter parser works, so it must be a problem in the way we create the filter when we decode the incoming PDU. It makes sense if it appeared after the merge, as all this part has been reviewed.

More to come later tonite.

> 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.


[jira] Commented: (DIRSERVER-1553) Incorrect LDAP search query filter decoding depending on items order

Posted by "Victor Antonovich (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DIRSERVER-1553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12910034#action_12910034 ] 

Victor Antonovich commented on DIRSERVER-1553:
----------------------------------------------

After this behavior was discovered in latest trunk, we had done rollback to last working revision. At this moment it's r982017. In this revision filter parsing works well. 

> 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.


[jira] Commented: (DIRSERVER-1553) Incorrect LDAP search query filter decoding depending on items order

Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DIRSERVER-1553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12910104#action_12910104 ] 

Emmanuel Lecharny commented on DIRSERVER-1553:
----------------------------------------------

I confirm. It works well with the pre-merge trunk.

i'm currently debugging both code in // to see where I introduce the problem (I have a idea about it, but I want to be sure that I don't break all the other tests)

> 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.


[jira] Resolved: (DIRSERVER-1553) Incorrect LDAP search query filter decoding depending on items order

Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
     [ 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.


[jira] Updated: (DIRSERVER-1553) Incorrect LDAP search query filter decoding depending on items order

Posted by "Victor Antonovich (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DIRSERVER-1553?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Victor Antonovich updated DIRSERVER-1553:
-----------------------------------------

    Attachment: jagplay-partition.ldif
                jagplay-data.ldif
                jagplay-schema.ldif

Test LDIFs attached.

> 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
>         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.


[jira] Commented: (DIRSERVER-1553) Incorrect LDAP search query filter decoding depending on items order

Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DIRSERVER-1553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12909701#action_12909701 ] 

Emmanuel Lecharny commented on DIRSERVER-1553:
----------------------------------------------

Doh...

Seems like a real bug. I will investigate this one fast.

> 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.


[jira] Commented: (DIRSERVER-1553) Incorrect LDAP search query filter decoding depending on items order

Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
    [ 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.


[jira] Assigned: (DIRSERVER-1553) Incorrect LDAP search query filter decoding depending on items order

Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DIRSERVER-1553?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Emmanuel Lecharny reassigned DIRSERVER-1553:
--------------------------------------------

    Assignee: Emmanuel Lecharny

> 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.


[jira] Commented: (DIRSERVER-1553) Incorrect LDAP search query filter decoding depending on items order

Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DIRSERVER-1553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12909906#action_12909906 ] 

Emmanuel Lecharny commented on DIRSERVER-1553:
----------------------------------------------

I'm able to reproduce the problem in a JUnit test I have added in server-integ. That's a first step. Now to find a fix :)

> 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.