Issue Details (XML | Word | Printable)

Key: DIRSERVER-715
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Alex Karasulu
Reporter: Nikola Goran Cutura
Votes: 0
Watchers: 0
Operations

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

Unable to match entry by X.509 certificate

Created: 23/Aug/06 10:12 AM   Updated: 04/Sep/06 07:08 PM
Return to search
Component/s: ldap
Affects Version/s: 1.0-RC3
Fix Version/s: 1.5.0, 1.0-RC4

Time Tracking:
Not Specified

File Attachments:
  Size
Java Source File Licensed for inclusion in ASF works LdapTest.java 2006-08-23 03:16 PM Nikola Goran Cutura 5 kB
Text File no-binary.log 2006-08-23 10:12 AM Nikola Goran Cutura 77 kB
File Licensed for inclusion in ASF works test-export.pem 2006-08-23 03:16 PM Nikola Goran Cutura 0.8 kB
File Licensed for inclusion in ASF works test.ldif 2006-08-23 03:16 PM Nikola Goran Cutura 3 kB
Text File with-binary.log 2006-08-23 10:12 AM Nikola Goran Cutura 50 kB
Environment: Windows XP, Intel Pentium 4
Issue Links:
Reference
 

Resolution Date: 27/Aug/06 08:07 AM


 Description  « Hide
There is an entry containing valid X.509 certificate. When I attempt to find that entry by that certificate, search fails. There are two variants of search: one uses 'userCrtificate' attribute name and the other uses 'userCrtificate;certificate' attribute name ('binary' may be specified instead of 'certiifcate' - no change). Attached are log files produced in each of the search attempts.

Case 1:

Java statement:
        NamingEnumeration results = ctx.search("ou=users,o=ActiveMQ,dc=example,dc=com", "userCertificate = {0}", new Object[] {cert}, constraints);

produces log as in file ' no-binary.log'

Case 2:

Java statement:
        NamingEnumeration results = ctx.search("ou=users,o=ActiveMQ,dc=example,dc=com", "userCertificate;binary = {0}", new Object[] {cert}, constraints);

produces log as in file 'with-binary.log'



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Ersin Er added a comment - 23/Aug/06 10:19 AM
If possible a junit test case would also be good.

Thanks Nikola.

Nikola Goran Cutura added a comment - 23/Aug/06 03:16 PM
Attached are three files for testing:

test.ldif is a sample directory hierarchy I use for testing. It contains an entry with a certificate that I attempt to find.

test-export.pem is the certificate I use in this testing.

LdapTest is a jUnit test case. It tests whether the entry can be found by a text attribute (successful) and whether same entry can be found by the certificate (unsuccessful). Please update path to the certificate file before runnig the test.

Nikola Goran Cutura made changes - 23/Aug/06 03:16 PM
Field Original Value New Value
Attachment test.ldif [ 12339420 ]
Attachment LdapTest.java [ 12339419 ]
Attachment test-export.pem [ 12339421 ]
Alex Karasulu made changes - 26/Aug/06 05:26 PM
Assignee Alex Karasulu [ akarasulu ]
Alex Karasulu made changes - 26/Aug/06 05:26 PM
Status Open [ 1 ] In Progress [ 3 ]
Repository Revision Date User Message
ASF #437255 Sun Aug 27 00:13:31 UTC 2006 akarasulu partial fix for DIRSERVER-169 and test case for DIRSERVER-715
Files Changed
ADD /directory/branches/apacheds/1.0/server-unit/src/test/java/org/apache/directory/server/BinarySearchTest.java
ADD /directory/branches/apacheds/1.0/core-unit/src/test/java/org/apache/directory/server/core/jndi/DIRSERVER169ITest.java
MODIFY /directory/branches/apacheds/1.0/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreeSearchResultEnumeration.java

Alex Karasulu made changes - 27/Aug/06 12:17 AM
Link This issue relates to DIRSERVER-169 [ DIRSERVER-169 ]
Repository Revision Date User Message
ASF #437261 Sun Aug 27 00:37:41 UTC 2006 akarasulu partial fix for DIRSERVER-169 and a test case for DIRSERVER-715
Files Changed
MODIFY /directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreeSearchResultEnumeration.java
ADD /directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/BinarySearchTest.java (from /directory/branches/apacheds/1.0/server-unit/src/test/java/org/apache/directory/server/BinarySearchTest.java)
ADD /directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/jndi/DIRSERVER169ITest.java (from /directory/branches/apacheds/1.0/core-unit/src/test/java/org/apache/directory/server/core/jndi/DIRSERVER169ITest.java)

Repository Revision Date User Message
ASF #437312 Sun Aug 27 07:03:57 UTC 2006 akarasulu Fix for DIRSERVER-169 and partially for DIRSERVER-715
Files Changed
MODIFY /directory/branches/shared/0.9.5/ldap/src/main/java/org/apache/directory/shared/ldap/schema/NoOpNormalizer.java
ADD /directory/branches/shared/0.9.5/ldap/src/main/java/org/apache/directory/shared/ldap/schema/ByteArrayComparator.java
MODIFY /directory/branches/shared/0.9.5/ldap/src/main/java/org/apache/directory/shared/ldap/name/NameComponentNormalizer.java
ADD /directory/branches/shared/0.9.5/ldap/src/test/java/org/apache/directory/shared/ldap/schema/ByteArrayComparatorTest.java
MODIFY /directory/branches/shared/0.9.5/ldap/src/main/java/org/apache/directory/shared/ldap/name/SimpleNameComponentNormalizer.java
MODIFY /directory/branches/shared/0.9.5/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SimpleNode.java
MODIFY /directory/branches/shared/0.9.5/ldap/src/main/antlr/filter-parser.g

Repository Revision Date User Message
ASF #437313 Sun Aug 27 07:07:03 UTC 2006 akarasulu Fix for DIRSERVER-169 and partially for DIRSERVER-715
Files Changed
ADD /directory/trunks/shared/ldap/src/main/java/org/apache/directory/shared/ldap/schema/ByteArrayComparator.java (from /directory/branches/shared/0.9.5/ldap/src/main/java/org/apache/directory/shared/ldap/schema/ByteArrayComparator.java)
MODIFY /directory/trunks/shared/ldap/src/main/java/org/apache/directory/shared/ldap/schema/NoOpNormalizer.java
MODIFY /directory/trunks/shared/ldap/src/main/java/org/apache/directory/shared/ldap/name/NameComponentNormalizer.java
ADD /directory/trunks/shared/ldap/src/test/java/org/apache/directory/shared/ldap/schema/ByteArrayComparatorTest.java (from /directory/branches/shared/0.9.5/ldap/src/test/java/org/apache/directory/shared/ldap/schema/ByteArrayComparatorTest.java)
MODIFY /directory/trunks/shared/ldap/src/main/java/org/apache/directory/shared/ldap/name/SimpleNameComponentNormalizer.java
MODIFY /directory/trunks/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SimpleNode.java
MODIFY /directory/trunks/shared/ldap/src/main/antlr/filter-parser.g

Repository Revision Date User Message
ASF #437314 Sun Aug 27 07:08:03 UTC 2006 akarasulu Fix for DIRSERVER-169 and partially for DIRSERVER-715
Files Changed
MODIFY /directory/branches/apacheds/1.0/core/src/main/java/org/apache/directory/server/core/normalization/NormalizingVisitor.java
MODIFY /directory/branches/apacheds/1.0/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java
MODIFY /directory/branches/apacheds/1.0/core/src/main/java/org/apache/directory/server/core/schema/ConcreteNameComponentNormalizer.java
MODIFY /directory/branches/apacheds/1.0/server-unit/src/test/java/org/apache/directory/server/BinarySearchTest.java
MODIFY /directory/branches/apacheds/1.0/core/src/main/java/org/apache/directory/server/core/subtree/RefinementLeafEvaluator.java
MODIFY /directory/branches/apacheds/1.0/core-unit/src/test/java/org/apache/directory/server/core/jndi/SearchContextITest.java
MODIFY /directory/branches/apacheds/1.0/core-unit/src/test/java/org/apache/directory/server/core/jndi/DIRSERVER169ITest.java
MODIFY /directory/branches/apacheds/1.0/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationService.java
MODIFY /directory/branches/apacheds/1.0/core/src/main/java/org/apache/directory/server/core/normalization/ExpandingVisitor.java
MODIFY /directory/branches/apacheds/1.0/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/LeafEvaluator.java
MODIFY /directory/branches/apacheds/1.0/core/src/main/java/org/apache/directory/server/core/jndi/ServerDirContext.java

Repository Revision Date User Message
ASF #437315 Sun Aug 27 07:09:46 UTC 2006 akarasulu Fix for DIRSERVER-169 and partially for DIRSERVER-715
Files Changed
MODIFY /directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/BinarySearchTest.java
MODIFY /directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/jndi/ServerDirContext.java
MODIFY /directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/jndi/SearchContextITest.java
MODIFY /directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/subtree/RefinementLeafEvaluator.java
MODIFY /directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationService.java
MODIFY /directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/ExpandingVisitor.java
MODIFY /directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/LeafEvaluator.java
MODIFY /directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java
MODIFY /directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/NormalizingVisitor.java
MODIFY /directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/jndi/DIRSERVER169ITest.java
MODIFY /directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/schema/ConcreteNameComponentNormalizer.java

Alex Karasulu added a comment - 27/Aug/06 08:07 AM
Last bit's fixed by Emmanuel and we're golden. Please confirm.

Alex Karasulu made changes - 27/Aug/06 08:07 AM
Fix Version/s 1.0-RC4 [ 12311053 ]
Status In Progress [ 3 ] Closed [ 6 ]
Fix Version/s 1.1.0 [ 12310790 ]
Resolution Fixed [ 1 ]
Emmanuel Lecharny added a comment - 27/Aug/06 08:31 AM
I confirm, after modification in TwixTransformer, that it has been fixed. Thanks Alex for the great work !

Nikola Goran Cutura added a comment - 04/Sep/06 07:08 PM
I downloaded 1.0RC4 preview, executed LdapTest and I report the following:

when search filter is specifid as

ctx.search("ou=users,o=ActiveMQ,dc=example,dc=com", "usercertificate = {0}", new Object[] {cert}, constraints);
or
ctx.search("ou=users,o=ActiveMQ,dc=example,dc=com", "usercertificate;binary = {0}", new Object[] {cert}, constraints);

nothing is returned and the test fails.

When search filter is specified as

ctx.search("ou=users,o=ActiveMQ,dc=example,dc=com", "usercertificate = {0}", new Object[] {cert.getEncoded()}, constraints);

proper entry is returned and the test passes.

I can work with the latter though I believe the former is proper.