InvalidNameException for multi-component RDNs with more than 2 components
-------------------------------------------------------------------------

                 Key: DIRSHARED-21
                 URL: https://issues.apache.org/jira/browse/DIRSHARED-21
             Project: Directory Shared
          Issue Type: Bug
    Affects Versions: 0.9.14
            Reporter: Aleksander Adamowski


When I try to create a new object which has a multiple-value RDN, I onlt 
succeed when there are only 2 components in that RDN. with 3 components and 
more, I get the following exception:

javax.naming.InvalidNameException: Bad DN : 
SOME.OID.1=0+SOME.OID.2=0+SOME.OID.3=omnischmomni,2.5.4.3=subtree,0.9.2342.19200300.100.1.25=example,0.9.2342.19200300.100.1.25=com
        at 
org.apache.directory.shared.ldap.name.LdapDnParser.parseInternal(LdapDnParser.java:170)
        at 
org.apache.directory.shared.ldap.name.LdapDnParser.parseInternal(LdapDnParser.java:112)
        at org.apache.directory.shared.ldap.name.LdapDN.<init>(LdapDN.java:204)
        at 
org.apache.directory.server.core.schema.SchemaService.isSchemaSubentry(SchemaService.java:122)
        at 
org.apache.directory.server.core.changelog.ChangeLogInterceptor.getAttributes(ChangeLogInterceptor.java:193)
        at 
org.apache.directory.server.core.changelog.ChangeLogInterceptor.delete(ChangeLogInterceptor.java:148)
        at 
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.delete(InterceptorChain.java:1174)
        at 
org.apache.directory.server.core.exception.ExceptionInterceptor.delete(ExceptionInterceptor.java:270)
        at 
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.delete(InterceptorChain.java:1174)
        at 
org.apache.directory.server.core.authz.DefaultAuthorizationInterceptor.delete(DefaultAuthorizationInterceptor.java:237)
        at 
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.delete(InterceptorChain.java:1174)
        at 
org.apache.directory.server.core.authz.AciAuthorizationInterceptor.delete(AciAuthorizationInterceptor.java:520)
        at 
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.delete(InterceptorChain.java:1174)
        at 
org.apache.directory.server.core.referral.ReferralInterceptor.delete(ReferralInterceptor.java:285)
        at 
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.delete(InterceptorChain.java:1174)
        at 
org.apache.directory.server.core.authn.AuthenticationInterceptor.delete(AuthenticationInterceptor.java:224)
        at 
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.delete(InterceptorChain.java:1174)
        at 
org.apache.directory.server.core.normalization.NormalizationInterceptor.delete(NormalizationInterceptor.java:120)
        at 
org.apache.directory.server.core.interceptor.InterceptorChain.delete(InterceptorChain.java:733)
        at 
org.apache.directory.server.core.DefaultOperationManager.delete(DefaultOperationManager.java:419)
        at 
org.apache.directory.server.core.DefaultCoreSession.delete(DefaultCoreSession.java:243)
        at 
org.apache.directory.server.core.DefaultDirectoryService.revert(DefaultDirectoryService.java:753)
        at 
org.apache.directory.server.core.DefaultDirectoryService.revert(DefaultDirectoryService.java:637)

I've double checked and this is not due to any mistake in the attribute name or 
anything like that - when I've used the 3rd RDN component on 2nd position, the 
object was created.

E.g.

RDN1 - works OK:
component1+component2

RDN2 - exception thrown:
component1+component2+component3

RDN3 - works OK:
component1+component3

So the problem is not in RDN's component3 itself, but in the number of 
components. Reducing the number to 2 always helps and RDN gets accepted.

I'm using shared-ldap-0.9.14-SNAPSHOT.

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

Reply via email to