Use FastDecoderException for patch 0027

This commit is contained in:
linsaftw 2021-05-01 16:42:07 -03:00
parent 5d7e2b2214
commit f00cd3d807
2 changed files with 9 additions and 7 deletions

View File

@ -1,21 +1,23 @@
From caf54c0422f8edbbe6e62015c473d5e1f45a4b08 Mon Sep 17 00:00:00 2001
From eea04c872972cf457d2ffc61fda629c4ad7c21d0 Mon Sep 17 00:00:00 2001
From: PermisosDev <55111245+PermisosDev@users.noreply.github.com>
Date: Thu, 15 Apr 2021 08:34:57 -0300
Subject: [PATCH] Check if packetID is invalid.
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 28edad1a..107855b8 100644
index 28edad1a..f0761a4f 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
@@ -65,7 +65,10 @@ public class MinecraftDecoder extends MessageToMessageDecoder<ByteBuf>
@@ -65,7 +65,12 @@ public class MinecraftDecoder extends MessageToMessageDecoder<ByteBuf>
int packetId = DefinedPacket.readVarInt( in );
packetTypeInfo = packetId;
-
+ // FlameCord Start - Check if packetId is invalid.
+ if (packetId < 0 || packetId > Protocol.MAX_PACKET_ID)
+ throw new BadPacketException("[" + ctx.channel().remoteAddress() + "] <-> MinecraftDecoder received invalid packet #1, id " + packetId);
+ {
+ throw new FastDecoderException( "[" + ctx.channel().remoteAddress() + "] <-> MinecraftDecoder received invalid packet #1, id " + packetId );
+ }
+ // Flamecord End
DefinedPacket packet = prot.createPacket( packetId, protocolVersion, supportsForge );
if ( packet != null )

View File

@ -1,4 +1,4 @@
From 32ba01b3d68286a1255b014f833d0db41ef2ef2a Mon Sep 17 00:00:00 2001
From d1d73f437bc7e61be80eed98c4d8485f53b38a02 Mon Sep 17 00:00:00 2001
From: linsaftw <25271111+linsaftw@users.noreply.github.com>
Date: Fri, 30 Apr 2021 22:54:44 -0300
Subject: [PATCH] Firewall System
@ -246,7 +246,7 @@ index 00000000..dfb5c6d3
+}
\ No newline at end of file
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 107855b8..27a027e0 100644
index f0761a4f..31873afc 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
@@ -46,8 +46,14 @@ public class MinecraftDecoder extends MessageToMessageDecoder<ByteBuf>
@ -264,7 +264,7 @@ index 107855b8..27a027e0 100644
throw new FastDecoderException("Error decoding packet with too big capacity: " + capacity);
}
}
@@ -106,6 +112,9 @@ public class MinecraftDecoder extends MessageToMessageDecoder<ByteBuf>
@@ -108,6 +114,9 @@ public class MinecraftDecoder extends MessageToMessageDecoder<ByteBuf>
} else {
packetTypeStr = "unknown";
}