Amir Katz created DIRMINA-1126:
----------------------------------

             Summary: filterWrite in ProtocolCodecFilter can send corrupted 
writeRequest message to the next filter
                 Key: DIRMINA-1126
                 URL: https://issues.apache.org/jira/browse/DIRMINA-1126
             Project: MINA
          Issue Type: Bug
          Components: Filter
    Affects Versions: 2.1.1
            Reporter: Amir Katz
             Fix For: 2.1.4


We have promoted our codebase from 2.1.0 to 2.1.3 and some clients started 
reporting corrupted byte buffer since they weren't able to decode it.

Bisecting the issue leads to a change introduced in 2.1.1 

[https://github.com/apache/mina/commit/2d08d530961597b9f21dff861725f08e73fb9291/#diff-84dd8cbe057e8d10a034715a2fa3074cL27]

Bisecting the code lead to this code change:

if (!(encodedMessage instanceof IoBuffer) || ((IoBuffer) 
encodedMessage).hasRemaining()) {
 - SocketAddress destination = writeRequest.getDestination();
 - WriteRequest encodedWriteRequest = new EncodedWriteRequest(encodedMessage, 
null, destination);
 + writeRequest.setMessage(encodedMessage);
 * nextFilter.filterWrite(session, encodedWriteRequest);
 + nextFilter.filterWrite(session, writeRequest);
}

 

Reverting this change in 2.1.3 showed this resolve the issue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to