You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2018/05/21 15:04:00 UTC

[jira] [Comment Edited] (DIRSTUDIO-1172) Studio doesn't display entries due to Invalid DN exception, but DN is compliant with RFC4514.

    [ https://issues.apache.org/jira/browse/DIRSTUDIO-1172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16482589#comment-16482589 ] 

Emmanuel Lecharny edited comment on DIRSTUDIO-1172 at 5/21/18 3:03 PM:
-----------------------------------------------------------------------

a {{+}} in a DN would be escaped ({{\\+}}), per {{RFC 4514}}. {{O4cc}} ought to be an {{attributeType}}.


was (Author: elecharny):
a {{+}} in a DN would be escaped ({{\+}}), per {{RFC 4514}}. {{O4cc}} ought to be an {{attributeType}}.

> Studio doesn't display entries due to Invalid DN exception, but DN is compliant with RFC4514.
> ---------------------------------------------------------------------------------------------
>
>                 Key: DIRSTUDIO-1172
>                 URL: https://issues.apache.org/jira/browse/DIRSTUDIO-1172
>             Project: Directory Studio
>          Issue Type: Bug
>    Affects Versions: 2.0.0-M13
>            Reporter: Ludovic Poitou
>            Priority: Major
>             Fix For: 2.0.0-M14
>
>
> We're pointing Directory Studio to an instance of OpenDJ, with valid entries, and none of the entries under a node are displayed.
> DNs are in the form of uid=nghZwwtHgxgyvVbTQCYyeY\+O4cc=,dc=example,dc=com
> It seems that it's the last = sign of the value that is triggering the error.
> RFC 4514 doesn't require to escape the "=" character when converting from DN to String representation. 
> The error log shows the following stack trace:
> {noformat}
> org.apache.mina.filter.codec.ProtocolDecoderException: org.apache.directory.api.ldap.codec.api.ResponseCarryingException: The Dn 0x63 0x6F 0x72 0x65 0x54 0x6F 0x6B 0x65 0x6E 0x49 0x64 0x3D 0x6E 0x67 0x68 0x5A 0x77 0x77 0x74 0x48 0x67 0x78 0x67 0x79 0x76 0x56 0x62 0x54 0x51 0x43 0x59 0x79 0x65 0x59 0x5C 0x2B 0x4F 0x34 0x63 0x63 0x3D 0x2C 0x6F 0x75 0x3D 0x66 0x61 0x6D 0x72 0x65 0x63 0x6F 0x72 0x64 0x73 0x2C 0x6F 0x75 0x3D 0x6F 0x70 0x65 0x6E 0x61 0x6D 0x2D 0x73 0x65 0x73 0x73 0x69 0x6F 0x6E 0x2C 0x6F 0x75 0x3D 0x74 0x6F 0x6B 0x65 0x6E 0x73 0x2C 0x64 0x63 0x3D 0x6F 0x70 0x65 0x6E 0x61 0x6D 0x2C 0x64 0x63 0x3D 0x66 0x6F 0x72 0x67 0x65 0x72 0x6F 0x63 0x6B 0x2C 0x64 0x63 0x3D 0x6F 0x72 0x67 is invalid : ERR_04215 Unescaped special characters are not allowed (Hexdump: 30 81 BA 02 01 12 64 81 B4 04 71 63 6F 72 65 54 6F 6B 65 6E 49 64 3D 6E 67 68 5A 77 77 74 48 67 78 67 79 76 56 62 54 51 43 59 79 65 59 5C 2B 4F 34 63 63 3D 2C 6F 75 3D 66 61 6D 72 65 63 6F 72 64 73 2C 6F 75 3D 6F 70 65 6E 61 6D 2D 73 65 73 73 69 6F 6E 2C 6F 75 3D 74 6F 6B 65 6E 73 2C 64 63 3D 6F 70 65 6E 61 6D 2C 64 63 3D 66 6F 72 67 65 72 6F 63 6B 2C 64 63 3D 6F 72 67 30 3F 30 21)
>         at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:240)
>         at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542)
>         at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:48)
>         at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:947)
>         at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109)
>         at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542)
>         at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:535)
>         at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:703)
>         at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:659)
>         at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:648)
>         at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:68)
>         at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1120)
>         at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at java.lang.Thread.run(Thread.java:748)
> Caused by: org.apache.directory.api.ldap.codec.api.ResponseCarryingException: The Dn 0x63 0x6F 0x72 0x65 0x54 0x6F 0x6B 0x65 0x6E 0x49 0x64 0x3D 0x6E 0x67 0x68 0x5A 0x77 0x77 0x74 0x48 0x67 0x78 0x67 0x79 0x76 0x56 0x62 0x54 0x51 0x43 0x59 0x79 0x65 0x59 0x5C 0x2B 0x4F 0x34 0x63 0x63 0x3D 0x2C 0x6F 0x75 0x3D 0x66 0x61 0x6D 0x72 0x65 0x63 0x6F 0x72 0x64 0x73 0x2C 0x6F 0x75 0x3D 0x6F 0x70 0x65 0x6E 0x61 0x6D 0x2D 0x73 0x65 0x73 0x73 0x69 0x6F 0x6E 0x2C 0x6F 0x75 0x3D 0x74 0x6F 0x6B 0x65 0x6E 0x73 0x2C 0x64 0x63 0x3D 0x6F 0x70 0x65 0x6E 0x61 0x6D 0x2C 0x64 0x63 0x3D 0x66 0x6F 0x72 0x67 0x65 0x72 0x6F 0x63 0x6B 0x2C 0x64 0x63 0x3D 0x6F 0x72 0x67 is invalid : ERR_04215 Unescaped special characters are not allowed
>         at org.apache.directory.api.ldap.codec.protocol.mina.LdapProtocolDecoder.decode(LdapProtocolDecoder.java:177)
>         at org.apache.directory.api.ldap.codec.protocol.mina.LdapProtocolDecoder.decode(LdapProtocolDecoder.java:93)
>         at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:231)
>         ... 15 more
> Caused by: org.apache.directory.api.asn1.DecoderException: The Dn 0x63 0x6F 0x72 0x65 0x54 0x6F 0x6B 0x65 0x6E 0x49 0x64 0x3D 0x6E 0x67 0x68 0x5A 0x77 0x77 0x74 0x48 0x67 0x78 0x67 0x79 0x76 0x56 0x62 0x54 0x51 0x43 0x59 0x79 0x65 0x59 0x5C 0x2B 0x4F 0x34 0x63 0x63 0x3D 0x2C 0x6F 0x75 0x3D 0x66 0x61 0x6D 0x72 0x65 0x63 0x6F 0x72 0x64 0x73 0x2C 0x6F 0x75 0x3D 0x6F 0x70 0x65 0x6E 0x61 0x6D 0x2D 0x73 0x65 0x73 0x73 0x69 0x6F 0x6E 0x2C 0x6F 0x75 0x3D 0x74 0x6F 0x6B 0x65 0x6E 0x73 0x2C 0x64 0x63 0x3D 0x6F 0x70 0x65 0x6E 0x61 0x6D 0x2C 0x64 0x63 0x3D 0x66 0x6F 0x72 0x67 0x65 0x72 0x6F 0x63 0x6B 0x2C 0x64 0x63 0x3D 0x6F 0x72 0x67 is invalid : ERR_04215 Unescaped special characters are not allowed
>         at org.apache.directory.api.ldap.codec.actions.searchResultEntry.StoreSearchResultEntryObjectName.action(StoreSearchResultEntryObjectName.java:95)
>         at org.apache.directory.api.ldap.codec.actions.searchResultEntry.StoreSearchResultEntryObjectName.action(StoreSearchResultEntryObjectName.java:46)
>         at org.apache.directory.api.asn1.ber.grammar.AbstractGrammar.executeAction(AbstractGrammar.java:139)
>         at org.apache.directory.api.asn1.ber.Asn1Decoder.treatTLVDoneState(Asn1Decoder.java:600)
>         at org.apache.directory.api.asn1.ber.Asn1Decoder.decode(Asn1Decoder.java:736)
>         at org.apache.directory.api.ldap.codec.protocol.mina.LdapProtocolDecoder.decode(LdapProtocolDecoder.java:144)
>         ... 17 more
> Caused by: org.apache.directory.api.ldap.model.exception.LdapInvalidDnException: ERR_04215 Unescaped special characters are not allowed
>         at org.apache.directory.api.ldap.model.name.ComplexDnParser.parseDn(ComplexDnParser.java:56)
>         at org.apache.directory.api.ldap.model.name.Dn.parseInternal(Dn.java:1443)
>         at org.apache.directory.api.ldap.model.name.Dn.<init>(Dn.java:294)
>         at org.apache.directory.api.ldap.model.name.Dn.<init>(Dn.java:217)
>         at org.apache.directory.api.ldap.codec.actions.searchResultEntry.StoreSearchResultEntryObjectName.action(StoreSearchResultEntryObjectName.java:87)
>         ... 22 more
> Caused by: java.lang.IllegalArgumentException: ERR_04215 Unescaped special characters are not allowed
>         at org.apache.directory.api.ldap.model.name.Rdn.unescapeValue(Rdn.java:1360)
>         at org.apache.directory.api.ldap.model.name.AntlrDnParser.attributeTypeAndValue(AntlrDnParser.java:492)
>         at org.apache.directory.api.ldap.model.name.AntlrDnParser.relativeDistinguishedName(AntlrDnParser.java:237)
>         at org.apache.directory.api.ldap.model.name.AntlrDnParser.relativeDistinguishedNames(AntlrDnParser.java:302)
>         at org.apache.directory.api.ldap.model.name.ComplexDnParser.parseDn(ComplexDnParser.java:52)
>         ... 26 more{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)