directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny (JIRA)" <>
Subject [jira] Commented: (DIRSERVER-1152) OR search with multiple attributes if one is bad, search fails
Date Tue, 18 Mar 2008 19:37:25 GMT


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


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:
>             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://,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.

View raw message