Commit 30261f750efdb8891d8295025ba5432170b356fb

Authored by Mumfrey
1 parent fb593da6

revert to old encoding style for custom payload REGISTER and UNREGISTER

java/common/com/mumfrey/liteloader/core/PluginChannels.java
... ... @@ -13,8 +13,10 @@ import java.util.Set;
13 13 import net.minecraft.network.INetHandler;
14 14 import net.minecraft.network.PacketBuffer;
15 15  
  16 +import com.google.common.base.Charsets;
16 17 import com.mumfrey.liteloader.api.InterfaceProvider;
17 18 import com.mumfrey.liteloader.interfaces.FastIterableDeque;
  19 +import com.mumfrey.liteloader.util.log.LiteLoaderLogger;
18 20  
19 21 /**
20 22 * Manages plugin channel connections and subscriptions for LiteLoader
... ... @@ -117,10 +119,19 @@ public abstract class PluginChannels<L extends CommonPluginChannelListener> impl
117 119 */
118 120 protected void onRegisterPacketReceived(PacketBuffer data)
119 121 {
120   - String channels = data.readStringFromBuffer(65535);
121   - for (String channel : channels.split("\u0000"))
  122 + try
122 123 {
123   - this.remotePluginChannels.add(channel);
  124 + byte[] bytes = new byte[data.readableBytes()];
  125 + data.readBytes(bytes);
  126 + String channels = new String(bytes, Charsets.UTF_8);
  127 + for (String channel : channels.split("\u0000"))
  128 + {
  129 + this.remotePluginChannels.add(channel);
  130 + }
  131 + }
  132 + catch (Exception ex)
  133 + {
  134 + LiteLoaderLogger.warning(ex, "Error decoding REGISTER packet from remote host %s", ex.getClass().getSimpleName());
124 135 }
125 136 }
126 137  
... ... @@ -143,7 +154,9 @@ public abstract class PluginChannels<L extends CommonPluginChannelListener> impl
143 154 separator = true;
144 155 }
145 156  
146   - return new PacketBuffer(Unpooled.buffer()).writeString(channelList.toString());
  157 + PacketBuffer buffer = new PacketBuffer(Unpooled.buffer());
  158 + buffer.writeBytes(channelList.toString().getBytes(Charsets.UTF_8));
  159 + return buffer;
147 160 }
148 161  
149 162 return null;
... ...