You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Gerrit Telkamp (JIRA)" <ji...@apache.org> on 2014/11/18 22:47:34 UTC

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

Gerrit Telkamp created DIRSERVER-2022:
-----------------------------------------

             Summary: 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)