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,8 +13,10 @@ import java.util.Set;
13 import net.minecraft.network.INetHandler; 13 import net.minecraft.network.INetHandler;
14 import net.minecraft.network.PacketBuffer; 14 import net.minecraft.network.PacketBuffer;
15 15
  16 +import com.google.common.base.Charsets;
16 import com.mumfrey.liteloader.api.InterfaceProvider; 17 import com.mumfrey.liteloader.api.InterfaceProvider;
17 import com.mumfrey.liteloader.interfaces.FastIterableDeque; 18 import com.mumfrey.liteloader.interfaces.FastIterableDeque;
  19 +import com.mumfrey.liteloader.util.log.LiteLoaderLogger;
18 20
19 /** 21 /**
20 * Manages plugin channel connections and subscriptions for LiteLoader 22 * Manages plugin channel connections and subscriptions for LiteLoader
@@ -117,10 +119,19 @@ public abstract class PluginChannels<L extends CommonPluginChannelListener> impl @@ -117,10 +119,19 @@ public abstract class PluginChannels<L extends CommonPluginChannelListener> impl
117 */ 119 */
118 protected void onRegisterPacketReceived(PacketBuffer data) 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,7 +154,9 @@ public abstract class PluginChannels<L extends CommonPluginChannelListener> impl
143 separator = true; 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 return null; 162 return null;