Build: #2585 was successful
Job: Build was successful
Code commits
Openfire (master)
-
Guus der Kinderen 3a32ce998f9c151c9fcb99951d3a1174fb9a8783
OF-2814: Ensure that multi-byte characters in the XMPP data are parsed properly
Prioer to this change, parsing errors occurred when multi-byte characters where provided to the parser byte-by-byte (or in byte arrays where a multi-byte character was split over more than one byte array).
This commit re-introduces the fix for this problem that was created under OF-458. It uses a CharsetDecoder that will only read 'enough' bytes from an array, leaving bytes that form an incomplete character in the byte array (to be processed in the next iteration, when hopefully more data was added).
The original fix is refactored a little to account for the different API that is provided by Netty (as compared to the old MINA based code), and to facilitate unit testing (of which a couple are added).- xmppserver/src/main/java/org/jivesoftware/openfire/nio/NettyXMPPDecoder.java (version 3a32ce998f9c151c9fcb99951d3a1174fb9a8783)
- xmppserver/src/main/java/org/jivesoftware/openfire/nio/XMLLightweightParser.java (version 3a32ce998f9c151c9fcb99951d3a1174fb9a8783)
- xmppserver/src/test/java/org/jivesoftware/openfire/nio/XMLLightweightParserTest.java (version 3a32ce998f9c151c9fcb99951d3a1174fb9a8783)