mmodzelewski opened a new pull request, #4068:
URL: https://github.com/apache/iggy/pull/4068

   Non-ASCII names, keys, passwords and login metadata went out with a
   length prefix taken from String.length(), which counts UTF-16 code
   units, while the bytes that followed came from getBytes() in the
   platform default charset. Any character outside ASCII made the prefix
   disagree with the payload and the server misread the frame. The 255
   cap on identifiers and message keys was also checked in characters,
   so a name under 255 chars but over 255 bytes overflowed the u8 prefix.
   
   Every wire string is now encoded as UTF-8 once and prefixed with the
   length of those bytes. Identifier and Partitioning validate the cap
   against the encoded length and Identifier.getSize reports it, so
   buffer sizing matches what is written. Message.of encodes its payload
   as UTF-8 explicitly instead of relying on the JVM default.
   
   Refs #4056
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to