Issue Details (XML | Word | Printable)

Key: DIRSERVER-766
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Emmanuel Lecharny
Reporter: Kirill Kovalenko
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Directory ApacheDS

uniqueMember attribute compare does not seem to work properly (uniqueMemberMatch is not implemented?)

Created: 24/Oct/06 03:19 PM   Updated: 15/Feb/09 01:36 PM
Return to search
Component/s: None
Affects Version/s: 1.5.0
Fix Version/s: 1.5.1

Time Tracking:
Not Specified

File Attachments:
  Size
File example.ldif 2006-11-07 08:38 AM Kirill Kovalenko 62 kB
Environment: Windows XP SP2, Java 1.5.06

Resolution Date: 24/Aug/07 11:57 PM


 Description  « Hide
When it comes to search attributes with syntax 1.3.6.1.4.1.1466.115.121.1.34, like uniqueMember, the server does not seem to work properly. For example, in my environment, the (uniqueMember=uid=kvaughan,ou=People,dc=example,dc=com) search filter brings the search result while (uniqueMember=uid=kvaughan, ou=People, dc=example, dc=com) does not. The only difference here is spaces between RDN components in the search filter value. Server should normalize uniqueMember values before compare takes place.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Emmanuel Lecharny added a comment - 26/Oct/06 12:55 PM
Have you escaped the '=' char in the filter ?


Emmanuel Lecharny added a comment - 06/Nov/06 11:32 PM
Is this still an issue? May we have an LDIF file which can be imported and a scenario to reproduce the problem, or is this just a syntax problem with the not escaped '=' ?

Will wait one more week to have further information, then we may close the issue...

Kirill Kovalenko added a comment - 07/Nov/06 08:35 AM
No. it's not a problem with escaping. We used standard example.ldif file from Netscape DS 6.01 installation. The problem, I believe, is with the the comparer used by the server.

Kirill Kovalenko added a comment - 07/Nov/06 08:38 AM
This is a slightly modified standard example file that comes with Netscape DS. It can be imported to Apache DS to reproduce the issue.

Kirill Kovalenko made changes - 07/Nov/06 08:38 AM
Field Original Value New Value
Attachment example.ldif [ 12344451 ]
Emmanuel Lecharny made changes - 07/Nov/06 02:00 PM
Assignee Emmanuel Lecharny [ elecharny ]
Emmanuel Lecharny made changes - 07/Nov/06 02:00 PM
Status Open [ 1 ] In Progress [ 3 ]
Emmanuel Lecharny added a comment - 07/Nov/06 02:03 PM
Thanks for the ldif attachment.

I confirm that it is a bug in the server. It seems that the comparizon using DistinguishedNameMatch does not follow the chapter 4.2.14 of RFC 4517, but is using a simple string comparizon, which obviously falis if some extra spaces are seen in one of the DN.

Comparizon of such attributes should be done by a comparizon of the number of RDN, the position of RDNs in the DN, and at the end, by comparing the values.

I will debug the server to figure out a fix for this issue, which is quite serious.

Emmanuel Lecharny added a comment - 14/Dec/06 10:52 AM
After a further investigation, here what I found :
- We are not checking the syntax of attributes. Here, uniqueMember attribute type is NameAndOptionalUid, which does not exist in ADS (we are currently adding them in 1.5)
- As we don't check those syntax, we don't know that they are DN and should be transformed with respect to DN representation (RFC 4514)
- thus, we compare them as string, not as DN
- and as a DN is composed of multiple attributes, whith each one having its own syntax, this lead us to have big problem finding entries with a uniqueMember not having the same value than the one which as created.

In one world : Damn !

Emmanuel Lecharny added a comment - 25/Jan/07 04:00 PM
Postponned to 1.5 : we need a strong schema checking system we don't have in 1.0 to solve it

Emmanuel Lecharny made changes - 25/Jan/07 04:00 PM
Fix Version/s 1.5.0 [ 12310790 ]
Alex Karasulu added a comment - 23/Feb/07 08:21 PM
Emmanuel did'nt you add a matching rule for this? I thought you fixed this issue a while back with all those new normalizers, comparators, and syntaxCheckers. Let me know if not.

Emmanuel Lecharny added a comment - 20/Mar/07 10:06 PM
Postponed to 1.5.1

Emmanuel Lecharny made changes - 20/Mar/07 10:06 PM
Affects Version/s 1.5.0 [ 12310790 ]
Affects Version/s 1.0 [ 12312043 ]
Fix Version/s 1.5.1 [ 12310792 ]
Fix Version/s 1.5.0 [ 12310790 ]
Repository Revision Date User Message
ASF #569437 Fri Aug 24 16:03:52 UTC 2007 elecharny Added some tests for DIRSERVER-766. One have been disabled, as the patch is not finished yet.
Files Changed
MODIFY /directory/apacheds/trunk/core-unit/src/test/java/org/apache/directory/server/core/jndi/UniqueMemberITest.java

Repository Revision Date User Message
ASF #569569 Fri Aug 24 23:22:16 UTC 2007 elecharny Added some more tests for DIRSERVER-766.
Files Changed
MODIFY /directory/apacheds/trunk/core-unit/src/test/java/org/apache/directory/server/core/jndi/UniqueMemberITest.java


Emmanuel Lecharny made changes - 24/Aug/07 11:57 PM
Resolution Fixed [ 1 ]
Status In Progress [ 3 ] Resolved [ 5 ]
Emmanuel Lecharny added a comment - 15/Feb/09 01:36 PM
closed

Emmanuel Lecharny made changes - 15/Feb/09 01:36 PM
Status Resolved [ 5 ] Closed [ 6 ]