[
https://issues.apache.org/jira/browse/DIRMINA-904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13434037#comment-13434037
]
Emmanuel Lecharny commented on DIRMINA-904:
-------------------------------------------
This is on purpose.
The decoder tries to convert the data into a String using the
IoBuffer.getString( CharSetDecoder ) method, which says :
"Reads a NUL-terminated string from this buffer using the specified decoder and
returns it. This method reads until the limit of this buffer if no NUL is
found."
So if the first character is NULL, you will get an empty string as a result.
Let me check if we can handle such String differently in the code...
> TextLineCodecFactory does not decode correct if there is a nullbyte within
> the string
> -------------------------------------------------------------------------------------
>
> Key: DIRMINA-904
> URL: https://issues.apache.org/jira/browse/DIRMINA-904
> Project: MINA
> Issue Type: Bug
> Components: Filter
> Affects Versions: 2.0.4
> Environment: Ubuntu Linux, Java 1.6.0_26, Mina 2.0.4
> Reporter: Martin Leuschner
> Attachments: mina_nullbyte_bug.zip
>
>
> I am running a tcp+udp server using mina. As decoder i am using
> TextLineCodecFactory. Some of the messages we receive contain a nullbyte at
> the beginning. In that case the received message is an empty string, so the
> message gets lost.
> Example:
> //acceptor:
> acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new
> TextLineCodecFactory()));
> acceptor.setHandler(myHandler);
> //test message with additional nullbyte at the beginning
> String s = new String(new byte[] {0, 77, 105, 110, 97}); //nullbyte + "Mina"
> //now send s to mina
> //myHandler:
> public void messageReceived(IoSession session, Object message) throws
> Exception {
> String res = (String) message; //length is 0 instead of 5
> }
> See attached maven-project with unit-test
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira