You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Steve hammond (JIRA)" <ji...@apache.org> on 2008/03/18 20:15:24 UTC

[jira] Created: (DIRSERVER-1152) OR search with multiple attributes if one is bad, search fails

OR search with multiple attributes if one is bad, search fails
--------------------------------------------------------------

                 Key: DIRSERVER-1152
                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1152
             Project: Directory ApacheDS
          Issue Type: Bug
    Affects Versions: 1.5.1
         Environment: Running on windows under JBoss
            Reporter: Steve hammond
            Priority: Minor


Doing a search from LDAP Studio, or from an Open LDAP Client.  I have a search string with multiple attributes trying to find a name.  The client is required to include some attributes that do not even exist on my server.  Depending on the format of the search string, one succeeds and one fails, even tho they are searching the same data with the same attributes.  I would like both to succeed and return values for attributes that do match.

ldap://10.33.32.228:389/ou=users,ou=ReadiManager??sub?(|(|(|(|(ldapDisplayName=a*))(|(name=a*))(|(middleName=a*))(cn=a*)(sn=a*))(givenName=a*))(displayName=a*))
works fine, returns one result in my system, nothing is ine logs.

(|(ldapDisplayName=a*)(name=a*)(middleName=a*)(cn=a*)(sn=a*)(givenName=a*)(displayName=a*))
does not return an error, but also does not return any rows.  The following appears in the log:
13:07:17,754 WARN  [NormalizingVisitor] (pool-2-thread-5) Removing leaf node based on undefined attribute 'ldapdisplayname' from filter.
13:07:17,754 WARN  [NormalizationService] (pool-2-thread-5) Undefined branchnode filter without child nodes not evaluted at all.  Returning empty enumeration.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (DIRSERVER-1152) OR search with multiple attributes if one is bad, search fails

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

Emmanuel Lecharny commented on DIRSERVER-1152:
----------------------------------------------

First, if you are looking for a name starting by 'a', a much more simpler filter can be used :

(name=a*)

as all of the attributeTypes you are using are subclasses of the Name attributeType.

Second, if you can provide the parts of your schema where you declare the middleName and ldapDisplayName, that would help us to see if something is wrong in your schema. We also need the list of all the schemas you are using.

Now, if we suppose that the attributeType 'cn' exists in the server (obviously, this is the case) and that the attributeType 'middleName' does not exist, then the filter : '(|(cn=a*)(middleName=a*))' or the filter : '(|(middleName=a*)(cn=a*))' should both return all the attributes which have a cn starting with 'a', as stated by RFC 4511 :
"A server MUST evaluate filters according to the three-valued logic of
   [X.511] (1993), Clause 7.8.1.  In summary, a filter is evaluated to
   "TRUE", "FALSE", or "Undefined".  If the filter evaluates to TRUE for
   a particular entry, then the attributes of that entry are returned as
   part of the Search result (subject to any applicable access control
   restrictions).  If the filter evaluates to FALSE or Undefined, then
   the entry is ignored for the Search.
...
   A filter of the "or" choice is FALSE if all the
   filters in the SET OF evaluate to FALSE, TRUE if at least one filter
   is TRUE, and Undefined otherwise."

Can you reproduce the test with the smallest filter possible, and check if you still have the bug ?



> OR search with multiple attributes if one is bad, search fails
> --------------------------------------------------------------
>
>                 Key: DIRSERVER-1152
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1152
>             Project: Directory ApacheDS
>          Issue Type: Bug
>    Affects Versions: 1.5.1
>         Environment: Running on windows under JBoss
>            Reporter: Steve hammond
>            Priority: Minor
>
> Doing a search from LDAP Studio, or from an Open LDAP Client.  I have a search string with multiple attributes trying to find a name.  The client is required to include some attributes that do not even exist on my server.  Depending on the format of the search string, one succeeds and one fails, even tho they are searching the same data with the same attributes.  I would like both to succeed and return values for attributes that do match.
> ldap://10.33.32.228:389/ou=users,ou=ReadiManager??sub?(|(|(|(|(ldapDisplayName=a*))(|(name=a*))(|(middleName=a*))(cn=a*)(sn=a*))(givenName=a*))(displayName=a*))
> works fine, returns one result in my system, nothing is ine logs.
> (|(ldapDisplayName=a*)(name=a*)(middleName=a*)(cn=a*)(sn=a*)(givenName=a*)(displayName=a*))
> does not return an error, but also does not return any rows.  The following appears in the log:
> 13:07:17,754 WARN  [NormalizingVisitor] (pool-2-thread-5) Removing leaf node based on undefined attribute 'ldapdisplayname' from filter.
> 13:07:17,754 WARN  [NormalizationService] (pool-2-thread-5) Undefined branchnode filter without child nodes not evaluted at all.  Returning empty enumeration.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (DIRSERVER-1152) OR search with multiple attributes if one is bad, search fails

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

Emmanuel Lecharny closed DIRSERVER-1152.
----------------------------------------

    Resolution: Duplicate

Seems to have been fixed in trunk :

https://issues.apache.org/jira/browse/DIRSERVER-1061

> OR search with multiple attributes if one is bad, search fails
> --------------------------------------------------------------
>
>                 Key: DIRSERVER-1152
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1152
>             Project: Directory ApacheDS
>          Issue Type: Bug
>    Affects Versions: 1.5.1
>         Environment: Running on windows under JBoss
>            Reporter: Steve hammond
>            Priority: Minor
>
> Doing a search from LDAP Studio, or from an Open LDAP Client.  I have a search string with multiple attributes trying to find a name.  The client is required to include some attributes that do not even exist on my server.  Depending on the format of the search string, one succeeds and one fails, even tho they are searching the same data with the same attributes.  I would like both to succeed and return values for attributes that do match.
> ldap://10.33.32.228:389/ou=users,ou=ReadiManager??sub?(|(|(|(|(ldapDisplayName=a*))(|(name=a*))(|(middleName=a*))(cn=a*)(sn=a*))(givenName=a*))(displayName=a*))
> works fine, returns one result in my system, nothing is ine logs.
> (|(ldapDisplayName=a*)(name=a*)(middleName=a*)(cn=a*)(sn=a*)(givenName=a*)(displayName=a*))
> does not return an error, but also does not return any rows.  The following appears in the log:
> 13:07:17,754 WARN  [NormalizingVisitor] (pool-2-thread-5) Removing leaf node based on undefined attribute 'ldapdisplayname' from filter.
> 13:07:17,754 WARN  [NormalizationService] (pool-2-thread-5) Undefined branchnode filter without child nodes not evaluted at all.  Returning empty enumeration.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.