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 2014/11/19 18:26:34 UTC

[jira] [Resolved] (DIRSERVER-2022) Asn1Decoder throws exception while decoding OID 1.2.840.113556.1.4.473

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

Emmanuel Lecharny resolved DIRSERVER-2022.
------------------------------------------
    Resolution: Fixed

It's a known bug in the API, it has been fixed last week, and a new release is now avaliable (ApacheDS 2.0.0-M18).

https://issues.apache.org/jira/browse/DIRAPI-210

> Asn1Decoder throws exception while decoding OID 1.2.840.113556.1.4.473
> ----------------------------------------------------------------------
>
>                 Key: DIRSERVER-2022
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-2022
>             Project: Directory ApacheDS
>          Issue Type: Bug
>          Components: asn1
>    Affects Versions: 2.0.0-M17
>            Reporter: Gerrit Telkamp
>
> Since updating from ApacheDS 1.5.7 to ApacheDS 2.0.0 M17, our printer Brother MFC8860DN is not able to access our LDAP repository anymore. The problem is caused by org.apache.directory.api.asn1.ber.Asn1Decoder.java, ignoring the request and throwing a stack trace:
> {code}
> [18:06:18] ERROR [org.apache.directory.api.asn1.ber.Asn1Decoder] - ERR_00009_MORE_TLV_EXPECTED The PDU is decoded, but we should have had more TLVs
> [18:06:18] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Unexpected exception forcing session to close: sending disconnect notice to client.
> org.apache.mina.filter.codec.ProtocolDecoderException: org.apache.directory.api.ldap.codec.api.ResponseCarryingException: ERR_00010_TRUNCATED_PDU Truncated PDU. Some elements are lacking, accordingly to the grammar (Hexdump: 30 81 BE 02 01 02 63 81 91 04 14 6F 75 3D 75 73 65 72 73 2C 6F 3D 41 42 43 44 45 46 47 48 49 0A 01 02 0A 01 03 02 01 02 02 01 05 01 01 00 A0 27 A1 20 87 04 6D 61 69 6C 87 18 66 61 63 73 69 6D 69 6C 65 54 65 6C 65 70 68 6F 6E 65 4E 75 6D 62 65 72 87 03 75 69 64 30 41 04 03 75 69 64 04 04 6D 61 69 6C 04 18 66 61 63 73 69 6D 69 6C 65 54 65 6C 65 70 68 6F 6E 65 4E 75 6D 62 65 72 04 02 73 6E 04 05 74 69 74 6C 65 04 02 6F 75 04 0B 64 65 73 63 72 69 70 74 69 6F 6E A0 25 30 23 04 16 31 2E 32 2E 38 34 30 2E 31 31 33 35 35 36 2E 31 2E 34 2E 34 37 33 04 09 30 07 30 05 04 03 75 69 64 00 00 00 [...]
> 	at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:242)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
> 	at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:410)
> 	at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:710)
> 	at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664)
> 	at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653)
> 	at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67)
> 	at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1124)
> 	at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.directory.api.ldap.codec.api.ResponseCarryingException: ERR_00010_TRUNCATED_PDU Truncated PDU. Some elements are lacking, accordingly to the grammar
> 	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:94)
> 	at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:232)
> 	... 15 more
> {code}
> Here is the decoded request:
> {code}
> SEQUENCE {
>    INTEGER 0x02 (2 decimal)
>    BITSTRING {
>       OCTETSTRING 6F753D75736572732C6F3D414243444546474849 #ou=users,o=abcdefghi
>       [0A] 02
>       [0A] 03
>       INTEGER 0x02 (2 decimal)
>       INTEGER 0x05 (5 decimal)
>       BOOLEAN TRUE
>       [0] {
>          [1] {
>             [7] 6D61696C #mail
>             [7] 66616373696D696C6554656C6570686F6E654E756D626572 #facsimileTelephoneNumber
>          }
>          [7] 756964 #uid
>       }
>       SEQUENCE {
>          OCTETSTRING 756964 #uid
>          OCTETSTRING 6D61696C #uidmail
>          OCTETSTRING 66616373696D696C6554656C6570686F6E654E756D626572 #facsimileTelephoneNumber
>          OCTETSTRING 736E #sn
>          OCTETSTRING 7469746C65 #title
>          OCTETSTRING 6F75 #ou
>          OCTETSTRING 6465736372697074696F6E #description
>       }
>    }
>    [0] {
>       SEQUENCE {
>          OCTETSTRING 312E322E3834302E3131333535362E312E342E343733 #1.2.840.113556.1.4.473
>          OCTETSTRING 300730050403756964 #00uid
>       }
>    }
> }
> [00] 
> [00]
> {code}
> For me it seems that the 1.2.840.113556.1.4.473 with value 0x300730050403756964 is the problem.
> The same device worked when we used ApacheDS 1.5.7.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)