[ 
https://issues.apache.org/jira/browse/DIRSHARED-21?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksander Adamowski reopened DIRSHARED-21:
-------------------------------------------


This was just an anonymised example (note the example.com domain).

The original attribute names don't contain anything except latin alphas (a-z). 
They are logged as OIDs, since apparently during that parsing stage they have 
already been resolved.
So in fact the exception looks more like this:

javax.naming.InvalidNameException: Bad DN : 
1.2.3.4.5=0+1.2.3.4.6=0+1.2.3.4.7=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)
 


> 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