From d2c648dcbb67351274ff181a409029a37cc9d2b2 Mon Sep 17 00:00:00 2001 From: Quackster Date: Sat, 13 Jul 2024 17:53:31 +1000 Subject: [PATCH] don't use specific charset during encryption codecs --- .../havana/server/netty/codec/EncryptionDecoder.java | 6 +++--- .../havana/server/netty/codec/EncryptionEncoder.java | 10 +++++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Havana-Server/src/main/java/org/alexdev/havana/server/netty/codec/EncryptionDecoder.java b/Havana-Server/src/main/java/org/alexdev/havana/server/netty/codec/EncryptionDecoder.java index 430ab61..471271c 100644 --- a/Havana-Server/src/main/java/org/alexdev/havana/server/netty/codec/EncryptionDecoder.java +++ b/Havana-Server/src/main/java/org/alexdev/havana/server/netty/codec/EncryptionDecoder.java @@ -39,7 +39,7 @@ public class EncryptionDecoder extends ByteToMessageDecoder { byte[] tHeaderMsg = new byte[6]; buffer.readBytes(tHeaderMsg); - tHeader = new String(tHeaderMsg, StringUtil.getCharset()); + tHeader = new String(tHeaderMsg); tHeader = this.pHeaderDecoder.kg4R6Jo5xjlqtFGs1klMrK4ZTzb3R(tHeader); int tByte1 = ((int) tHeader.charAt(3)) & 63; @@ -60,14 +60,14 @@ public class EncryptionDecoder extends ByteToMessageDecoder { byte[] tBodyMsg = new byte[pMsgSize]; buffer.readBytes(tBodyMsg); - tBody = new String(tBodyMsg, StringUtil.getCharset()); + tBody = new String(tBodyMsg); tBody = this.pDecoder.kg4R6Jo5xjlqtFGs1klMrK4ZTzb3R(tBody); tBody = NettyPlayerNetwork.removePadding(tBody, player.getNetwork().getTx() % 5); ByteBuf result = Unpooled.buffer(); result.writeBytes(Base64Encoding.encode(tBody.length(), 3)); - result.writeBytes(tBody.getBytes(StringUtil.getCharset())); + result.writeBytes(tBody.getBytes()); out.add(result); } diff --git a/Havana-Server/src/main/java/org/alexdev/havana/server/netty/codec/EncryptionEncoder.java b/Havana-Server/src/main/java/org/alexdev/havana/server/netty/codec/EncryptionEncoder.java index b75e779..b392f18 100644 --- a/Havana-Server/src/main/java/org/alexdev/havana/server/netty/codec/EncryptionEncoder.java +++ b/Havana-Server/src/main/java/org/alexdev/havana/server/netty/codec/EncryptionEncoder.java @@ -13,6 +13,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.math.BigInteger; +import java.nio.charset.Charset; import java.util.List; import java.util.concurrent.ThreadLocalRandom; @@ -35,7 +36,10 @@ public class EncryptionEncoder extends MessageToMessageEncoder { player.getNetwork().getRx() )); - String tOriginalMsg = buffer.toString(StringUtil.getCharset()); + byte[] tOriginalMsgBytes = new byte[buffer.readableBytes()]; + buffer.readBytes(tOriginalMsgBytes); + + String tOriginalMsg = new String(tOriginalMsgBytes); String tHeader; String tMsg; @@ -53,8 +57,8 @@ public class EncryptionEncoder extends MessageToMessageEncoder { var tEncryptedMsg = Unpooled.buffer(); - tEncryptedMsg.writeBytes(tHeader.getBytes(StringUtil.getCharset())); - tEncryptedMsg.writeBytes(tMsg.getBytes(StringUtil.getCharset())); + tEncryptedMsg.writeBytes(tHeader.getBytes()); + tEncryptedMsg.writeBytes(tMsg.getBytes()); out.add(tEncryptedMsg); }