From 8d41d21148c7b77463a576e80174123168c50157 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Mon, 25 Sep 2023 22:30:58 +0100 Subject: [PATCH] Updated Upstream (BungeeCord) Upstream has released updates that appear 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: 653f1691 Print full stack trace for packet decoder errors 3cb7a127 #3527: Switching between servers causes a decoding error --- BungeeCord | 2 +- ...ic-support-for-configurable-tab-complete-thro.patch | 6 +++--- .../0018-Improve-server-list-ping-logging.patch | 10 +++++----- ...022-Validate-that-chat-messages-are-non-blank.patch | 8 ++++---- ...p-the-raw-hex-of-a-packet-on-a-decoding-error.patch | 6 +++--- .../0055-Additional-DoS-mitigations.patch | 6 +++--- 6 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BungeeCord b/BungeeCord index f3397b3..653f169 160000 --- a/BungeeCord +++ b/BungeeCord @@ -1 +1 @@ -Subproject commit f3397b30034795c8b346c07dcfcffbbcbe00eeeb +Subproject commit 653f1691d7e58e7abf232a4660f9c1445d24a811 diff --git a/BungeeCord-Patches/0017-Add-basic-support-for-configurable-tab-complete-thro.patch b/BungeeCord-Patches/0017-Add-basic-support-for-configurable-tab-complete-thro.patch index 889913e..2ef1e14 100644 --- a/BungeeCord-Patches/0017-Add-basic-support-for-configurable-tab-complete-thro.patch +++ b/BungeeCord-Patches/0017-Add-basic-support-for-configurable-tab-complete-thro.patch @@ -1,4 +1,4 @@ -From 49229d1749cebd2fbd7ce9f73925e2f88ba6d46c Mon Sep 17 00:00:00 2001 +From 08dbc9c2496f4c0f1d531a6a22c56e067f0f40fd Mon Sep 17 00:00:00 2001 From: Johannes Donath Date: Sat, 4 Jul 2015 06:31:33 +0200 Subject: [PATCH] Add basic support for configurable tab-complete throttling @@ -73,7 +73,7 @@ index 741ebfde..91743f01 100644 + } } diff --git a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java -index 48a523c6..cfad8f53 100644 +index fdc29b6a..0e5d0a47 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java @@ -48,6 +48,8 @@ public class UpstreamBridge extends PacketHandler @@ -85,7 +85,7 @@ index 48a523c6..cfad8f53 100644 public UpstreamBridge(ProxyServer bungee, UserConnection con) { this.bungee = bungee; -@@ -214,6 +216,20 @@ public class UpstreamBridge extends PacketHandler +@@ -221,6 +223,20 @@ public class UpstreamBridge extends PacketHandler @Override public void handle(TabCompleteRequest tabComplete) throws Exception { diff --git a/BungeeCord-Patches/0018-Improve-server-list-ping-logging.patch b/BungeeCord-Patches/0018-Improve-server-list-ping-logging.patch index 95e0dfb..ca27470 100644 --- a/BungeeCord-Patches/0018-Improve-server-list-ping-logging.patch +++ b/BungeeCord-Patches/0018-Improve-server-list-ping-logging.patch @@ -1,4 +1,4 @@ -From 656fe23535c2beac30d1d1cf134ec63e690f28c6 Mon Sep 17 00:00:00 2001 +From eba275ee93b6bc3a7159b427138320eeb8eaa30c Mon Sep 17 00:00:00 2001 From: Janmm14 Date: Sat, 12 Dec 2015 23:43:30 +0100 Subject: [PATCH] Improve server list ping logging @@ -31,7 +31,7 @@ index 23e7b6d8..88b0156c 100644 } } diff --git a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -index 107ff484..68687242 100644 +index c1e5a156..1f9a54f2 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java @@ -741,20 +741,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection @@ -57,10 +57,10 @@ index 107ff484..68687242 100644 @Override diff --git a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java -index 2ba688f1..e333a7d3 100644 +index 0e5d0a47..37178082 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java -@@ -365,6 +365,6 @@ public class UpstreamBridge extends PacketHandler +@@ -372,6 +372,6 @@ public class UpstreamBridge extends PacketHandler @Override public String toString() { @@ -69,5 +69,5 @@ index 2ba688f1..e333a7d3 100644 } } -- -2.34.1 +2.42.0 diff --git a/BungeeCord-Patches/0022-Validate-that-chat-messages-are-non-blank.patch b/BungeeCord-Patches/0022-Validate-that-chat-messages-are-non-blank.patch index dde546b..525ef64 100644 --- a/BungeeCord-Patches/0022-Validate-that-chat-messages-are-non-blank.patch +++ b/BungeeCord-Patches/0022-Validate-that-chat-messages-are-non-blank.patch @@ -1,14 +1,14 @@ -From 63aadf49568d83f3bac3f19de86cd5f9e547c9ea Mon Sep 17 00:00:00 2001 +From edcda91b4d88b9f37535a113a73922709b86527a Mon Sep 17 00:00:00 2001 From: Tux Date: Tue, 25 Oct 2016 12:34:41 -0400 Subject: [PATCH] Validate that chat messages are non-blank diff --git a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java -index 10df98ff..800c4a0d 100644 +index 37178082..57d09507 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java -@@ -191,6 +191,7 @@ public class UpstreamBridge extends PacketHandler +@@ -198,6 +198,7 @@ public class UpstreamBridge extends PacketHandler private String handleChat(String message) { @@ -16,7 +16,7 @@ index 10df98ff..800c4a0d 100644 for ( int index = 0, length = message.length(); index < length; index++ ) { char c = message.charAt( index ); -@@ -198,8 +199,14 @@ public class UpstreamBridge extends PacketHandler +@@ -205,8 +206,14 @@ public class UpstreamBridge extends PacketHandler { con.disconnect( bungee.getTranslation( "illegal_chat_characters", Util.unicode( c ) ) ); throw CancelSendSignal.INSTANCE; diff --git a/BungeeCord-Patches/0029-Dump-the-raw-hex-of-a-packet-on-a-decoding-error.patch b/BungeeCord-Patches/0029-Dump-the-raw-hex-of-a-packet-on-a-decoding-error.patch index 9a2607a..517c344 100644 --- a/BungeeCord-Patches/0029-Dump-the-raw-hex-of-a-packet-on-a-decoding-error.patch +++ b/BungeeCord-Patches/0029-Dump-the-raw-hex-of-a-packet-on-a-decoding-error.patch @@ -1,11 +1,11 @@ -From eeabca32aaa97aa0b442bfd3a41784225d9b3dca Mon Sep 17 00:00:00 2001 +From d7ca4dd7a639155cacd0315119bf643584cf2da8 Mon Sep 17 00:00:00 2001 From: Techcable Date: Thu, 4 Aug 2016 19:30:49 -0700 Subject: [PATCH] Dump the raw hex of a packet on a decoding error 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 0244ec1a..776a0603 100644 +index 76a3ddd0..2aeca781 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 @@ -1,7 +1,9 @@ @@ -37,7 +37,7 @@ index 0244ec1a..776a0603 100644 if ( in.isReadable() ) @@ -60,6 +65,16 @@ public class MinecraftDecoder extends MessageToMessageDecoder - out.add( new PacketWrapper( packet, slice ) ); + out.add( new PacketWrapper( packet, slice, protocol ) ); slice = null; + } catch (BadPacketException | IndexOutOfBoundsException e) { + final String packetTypeStr; diff --git a/BungeeCord-Patches/0055-Additional-DoS-mitigations.patch b/BungeeCord-Patches/0055-Additional-DoS-mitigations.patch index dfe55ac..e0794f4 100644 --- a/BungeeCord-Patches/0055-Additional-DoS-mitigations.patch +++ b/BungeeCord-Patches/0055-Additional-DoS-mitigations.patch @@ -1,4 +1,4 @@ -From 26861289a9683ec96f6b49005533cd96d77345ed Mon Sep 17 00:00:00 2001 +From 4860294f602b59bfd8013200d242ded589641a8b Mon Sep 17 00:00:00 2001 From: "Five (Xer)" Date: Sat, 30 Jan 2021 18:04:14 +0100 Subject: [PATCH] Additional DoS mitigations @@ -50,7 +50,7 @@ index 5ecb5c93..70ec6c53 100644 + // Waterfall end } 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 aaf1269e..b89a2e16 100644 +index 3d806129..636ecc6d 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 @@ -3,7 +3,7 @@ package net.md_5.bungee.protocol; @@ -80,7 +80,7 @@ index aaf1269e..b89a2e16 100644 } } else @@ -72,6 +78,11 @@ public class MinecraftDecoder extends MessageToMessageDecoder - out.add( new PacketWrapper( packet, slice ) ); + out.add( new PacketWrapper( packet, slice, protocol ) ); slice = null; } catch (BadPacketException | IndexOutOfBoundsException e) { + // Waterfall start: Additional DoS mitigations