mirror of
https://github.com/PaperMC/Waterfall.git
synced 2024-11-16 07:15:14 +01:00
337ca7f887
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing BungeeCord Changes: 70038c91 Revert "#2714: Remove unnecessary throws in ServerConnector" 39ef20b2 #2716: Don't attempt to send kick packet during handshake phase 74a6aa32 #2714: Remove unnecessary throws in ServerConnector c7984070 Misc dependency update
43 lines
1.9 KiB
Diff
43 lines
1.9 KiB
Diff
From bd5e179c3c66f82c335e431905b5a19b47353b3b Mon Sep 17 00:00:00 2001
|
|
From: Shane Freeder <theboyetronic@gmail.com>
|
|
Date: Fri, 12 Oct 2018 14:28:52 +0100
|
|
Subject: [PATCH] Ignore empty packets
|
|
|
|
This patch puts the proxy more inline with the client in that empty
|
|
packets will be ignored. While empty packets are a sign of bad plugins,
|
|
they are effectivly harmless vs the cost of the exception in general
|
|
|
|
diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/MinecraftDecoder.java b/protocol/src/main/java/net/md_5/bungee/protocol/MinecraftDecoder.java
|
|
index 9e9ea49c..71ddf022 100644
|
|
--- a/protocol/src/main/java/net/md_5/bungee/protocol/MinecraftDecoder.java
|
|
+++ b/protocol/src/main/java/net/md_5/bungee/protocol/MinecraftDecoder.java
|
|
@@ -36,6 +36,12 @@ public class MinecraftDecoder extends MessageToMessageDecoder<ByteBuf>
|
|
Object packetTypeInfo = null;
|
|
try
|
|
{
|
|
+ // Waterfall start
|
|
+ if (in.readableBytes() == 0) {
|
|
+ return;
|
|
+ }
|
|
+ // Waterfall end
|
|
+
|
|
int packetId = DefinedPacket.readVarInt( in );
|
|
packetTypeInfo = packetId;
|
|
|
|
diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/Varint21FrameDecoder.java b/protocol/src/main/java/net/md_5/bungee/protocol/Varint21FrameDecoder.java
|
|
index e903fd09..25ee2027 100644
|
|
--- a/protocol/src/main/java/net/md_5/bungee/protocol/Varint21FrameDecoder.java
|
|
+++ b/protocol/src/main/java/net/md_5/bungee/protocol/Varint21FrameDecoder.java
|
|
@@ -30,7 +30,7 @@ public class Varint21FrameDecoder extends ByteToMessageDecoder
|
|
if ( buf[i] >= 0 )
|
|
{
|
|
int length = DefinedPacket.readVarInt( Unpooled.wrappedBuffer( buf ) );
|
|
- if ( length == 0 )
|
|
+ if ( false && length == 0) // Waterfall - ignore
|
|
{
|
|
throw new CorruptedFrameException( "Empty Packet!" );
|
|
}
|
|
--
|
|
2.24.0
|
|
|