Updated Upstream (BungeeCord) (#690)

This commit is contained in:
FivePB (Xer) 2021-09-29 04:37:21 +02:00 committed by GitHub
parent f92cc98839
commit 9d1a910f97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 46 additions and 45 deletions

@ -1 +1 @@
Subproject commit bda160562792a913cba3a65ba4996de60d0d6d68
Subproject commit c5a90475afba676c96d33fc3c7a3c06490b5d13b

View File

@ -1,4 +1,4 @@
From 58a7123d84293c0934334b3dea3cf0b1e4fc9dbe Mon Sep 17 00:00:00 2001
From 8fe7d7d99ecdfa342b7cfb5bfca9f4f61bb2be37 Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@outlook.com>
Date: Mon, 14 Mar 2016 15:40:44 -0700
Subject: [PATCH] Optimize uuid conversions
@ -208,10 +208,10 @@ index 00000000..cc24dd35
+}
\ No newline at end of file
diff --git a/api/src/main/java/net/md_5/bungee/Util.java b/api/src/main/java/net/md_5/bungee/Util.java
index 31101f6b..77eb64a1 100644
index e565c836..7b79346c 100644
--- a/api/src/main/java/net/md_5/bungee/Util.java
+++ b/api/src/main/java/net/md_5/bungee/Util.java
@@ -3,12 +3,15 @@ package net.md_5.bungee;
@@ -3,6 +3,7 @@ package net.md_5.bungee;
import com.google.common.base.Joiner;
import com.google.common.primitives.UnsignedLongs;
import io.netty.channel.unix.DomainSocketAddress;
@ -219,7 +219,8 @@ index 31101f6b..77eb64a1 100644
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.net.URI;
import java.net.URISyntaxException;
@@ -10,6 +11,8 @@ import java.net.URISyntaxException;
import java.util.Locale;
import java.util.UUID;
+import io.github.waterfallmc.waterfall.utils.Hex;
@ -227,7 +228,7 @@ index 31101f6b..77eb64a1 100644
/**
* Series of utility classes to perform various operations.
*/
@@ -65,7 +68,7 @@ public class Util
@@ -66,7 +69,7 @@ public class Util
*/
public static String hex(int i)
{
@ -250,7 +251,7 @@ index 88d36ad2..fc92a7b5 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 916a0fef..3eeaeffb 100644
index cc40fe1b..25406d82 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
@@ -641,7 +641,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection
@ -263,5 +264,5 @@ index 916a0fef..3eeaeffb 100644
@Override
--
2.32.0
2.30.0

View File

@ -1,4 +1,4 @@
From 45185a344a8b4fbda30ac113ded14f02b03811d0 Mon Sep 17 00:00:00 2001
From 97ce610bc985469be5007a543fc1f49eab49478d Mon Sep 17 00:00:00 2001
From: Johannes Donath <johannesd@torchmind.com>
Date: Sat, 4 Jul 2015 06:31:33 +0200
Subject: [PATCH] Add basic support for configurable tab-complete throttling
@ -73,10 +73,10 @@ 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 c21bdefa..f88831f7 100644
index 41101a6e..4ed24626 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
@@ -39,6 +39,8 @@ public class UpstreamBridge extends PacketHandler
@@ -40,6 +40,8 @@ public class UpstreamBridge extends PacketHandler
private final ProxyServer bungee;
private final UserConnection con;
@ -107,5 +107,5 @@ index c21bdefa..f88831f7 100644
if ( tabComplete.getCursor().startsWith( "/" ) )
--
2.30.1 (Apple Git-130)
2.30.0

View File

@ -1,4 +1,4 @@
From 5492c19431ddf229e50c190378ec25c5b5ab7804 Mon Sep 17 00:00:00 2001
From e8c78624b7d41a8d5a330a0f7c57d257674dd598 Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@outlook.com>
Date: Sun, 7 Feb 2016 00:01:19 -0700
Subject: [PATCH] Add a property to accept invalid ping packets
@ -9,10 +9,10 @@ You can enable it by setting '-Dwaterfall.acceptInvalidPackets=true' at the comm
Fixes #23
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 1109a9b5..5c692ef2 100644
index 646e07f4..d823a718 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
@@ -277,10 +277,14 @@ public class InitialHandler extends PacketHandler implements PendingConnection
@@ -278,10 +278,14 @@ public class InitialHandler extends PacketHandler implements PendingConnection
thisState = State.PING;
}
@ -29,5 +29,5 @@ index 1109a9b5..5c692ef2 100644
disconnect( "" );
}
--
2.25.0
2.30.0

View File

@ -1,14 +1,14 @@
From efb082580161b889b88e5351ba25a1084ab618f1 Mon Sep 17 00:00:00 2001
From af3a8405d14875f22734055be358e8f895da72b9 Mon Sep 17 00:00:00 2001
From: Tux <write@imaginarycode.com>
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 a667623b..d93d8851 100644
index 30623743..c769976f 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
@@ -146,6 +146,7 @@ public class UpstreamBridge extends PacketHandler
@@ -147,6 +147,7 @@ public class UpstreamBridge extends PacketHandler
@Override
public void handle(Chat chat) throws Exception
{
@ -18,7 +18,7 @@ index a667623b..d93d8851 100644
char c = chat.getMessage().charAt( index );
@@ -154,8 +155,11 @@ public class UpstreamBridge extends PacketHandler
{
con.disconnect( bungee.getTranslation( "illegal_chat_characters", String.format( "\\u%04x", (int) c ) ) );
con.disconnect( bungee.getTranslation( "illegal_chat_characters", Util.unicode( c ) ) );
throw CancelSendSignal.INSTANCE;
+ } else if (empty && !Character.isWhitespace(c)) {
+ empty = false;
@ -29,5 +29,5 @@ index a667623b..d93d8851 100644
ChatEvent chatEvent = new ChatEvent( con, con.getServer(), chat.getMessage() );
if ( !bungee.getPluginManager().callEvent( chatEvent ).isCancelled() )
--
2.30.1 (Apple Git-130)
2.30.0

View File

@ -1,4 +1,4 @@
From 1fe0719a2f66d9af21ba26bdb202021ef6428828 Mon Sep 17 00:00:00 2001
From 3f84278d29527968ca4b78a1a299a7c825910390 Mon Sep 17 00:00:00 2001
From: Gabriele C <sgdc3.mail@gmail.com>
Date: Thu, 8 Feb 2018 19:10:52 +0100
Subject: [PATCH] Optionally log InitialHandler connections
@ -61,10 +61,10 @@ index ef44d334..4ff8da6d 100644
public String getGameVersion() {
return gameVersion;
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 1771ff3c..007d3daf 100644
index 3c2dc475..80a66a2b 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
@@ -331,7 +331,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection
@@ -332,7 +332,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection
break;
case 2:
// Login
@ -77,5 +77,5 @@ index 1771ff3c..007d3daf 100644
ch.setProtocol( Protocol.LOGIN );
--
2.26.1
2.30.0

View File

@ -1,4 +1,4 @@
From b97c5f8ab7d4605fb37cf2396799b752f045e27d Mon Sep 17 00:00:00 2001
From 21d5f3c16dbc4a10e89e8a5d3eb2df5342711eb7 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Mon, 25 Nov 2019 19:54:06 +0000
Subject: [PATCH] Speed up some common exceptions
@ -67,7 +67,7 @@ index 6c0ef4df..f20104a2 100644
+ // Waterfall end
}
diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java b/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java
index d51a3142..d10cf2ed 100644
index ab9519f9..40281aa4 100644
--- a/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java
+++ b/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java
@@ -19,6 +19,9 @@ import se.llbit.nbt.Tag;
@ -146,7 +146,7 @@ index 8b7e0708..37d28c01 100644
{
if ( slice != null )
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 0d30eeef..3cd4cc6f 100644
index 80a66a2b..d07f60c9 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
@@ -12,6 +12,8 @@ import java.util.List;
@ -158,7 +158,7 @@ index 0d30eeef..3cd4cc6f 100644
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import net.md_5.bungee.BungeeCord;
@@ -418,6 +420,14 @@ public class InitialHandler extends PacketHandler implements PendingConnection
@@ -420,6 +422,14 @@ public class InitialHandler extends PacketHandler implements PendingConnection
Preconditions.checkState( thisState == State.ENCRYPT, "Not expecting ENCRYPT" );
SecretKey sharedKey = EncryptionUtil.getSecret( encryptResponse, request );
@ -195,5 +195,5 @@ index ac99d02c..0c1ecfb8 100644
// Waterfall start
--
2.32.0
2.30.0

View File

@ -1,4 +1,4 @@
From 3088c32039b873d9ca1e45c3a185182d9223a3f1 Mon Sep 17 00:00:00 2001
From 9c03fe60c1742e26bb2294355279ee21c76ad643 Mon Sep 17 00:00:00 2001
From: theminecoder <theminecoder.dev@gmail.com>
Date: Wed, 22 Apr 2020 14:00:44 +1000
Subject: [PATCH] Add exception reporting event
@ -642,7 +642,7 @@ index fbfbd546..ae85a1d4 100644
@EventHandler
diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
index eeb63c43..c09f5b4c 100644
index c5f2a92d..c7b0ab25 100644
--- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
+++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
@@ -11,6 +11,8 @@ import com.google.gson.Gson;
@ -668,7 +668,7 @@ index eeb63c43..c09f5b4c 100644
getScheduler().cancel( plugin );
plugin.getExecutorService().shutdownNow();
diff --git a/proxy/src/main/java/net/md_5/bungee/scheduler/BungeeTask.java b/proxy/src/main/java/net/md_5/bungee/scheduler/BungeeTask.java
index 67db0cc4..02ec98fc 100644
index 38b75b51..02ec98fc 100644
--- a/proxy/src/main/java/net/md_5/bungee/scheduler/BungeeTask.java
+++ b/proxy/src/main/java/net/md_5/bungee/scheduler/BungeeTask.java
@@ -3,6 +3,9 @@ package net.md_5.bungee.scheduler;
@ -685,7 +685,7 @@ index 67db0cc4..02ec98fc 100644
task.run();
} catch ( Throwable t )
{
- ProxyServer.getInstance().getLogger().log( Level.SEVERE, String.format( "Task %s encountered an exception", this ), t );
- ProxyServer.getInstance().getLogger().log( Level.SEVERE, "Task " + this + " encountered an exception", t );
+ //Waterfall start - throw exception event
+ String msg = String.format( "Task %s encountered an exception", this );
+ ProxyServer.getInstance().getLogger().log( Level.SEVERE, msg, t );
@ -695,5 +695,5 @@ index 67db0cc4..02ec98fc 100644
// If we have a period of 0 or less, only run once
--
2.32.0
2.30.0

View File

@ -1,14 +1,14 @@
From 9c8abefdeb145b2336e8f6618df8faafdab6dc8a Mon Sep 17 00:00:00 2001
From a36b335d307fd14a3694937fd0bc1c4b53ec0d1d Mon Sep 17 00:00:00 2001
From: theminecoder <theminecoder.dev@gmail.com>
Date: Sun, 19 Jul 2020 10:18:23 +1000
Subject: [PATCH] Add auth url option
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 3cd4cc6f..0f1716c0 100644
index d07f60c9..0fd58e83 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
@@ -72,6 +72,8 @@ import net.md_5.bungee.util.QuietException;
@@ -73,6 +73,8 @@ import net.md_5.bungee.util.QuietException;
public class InitialHandler extends PacketHandler implements PendingConnection
{
@ -17,7 +17,7 @@ index 3cd4cc6f..0f1716c0 100644
private final BungeeCord bungee;
private ChannelWrapper ch;
@Getter
@@ -446,7 +448,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection
@@ -448,7 +450,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection
String encodedHash = URLEncoder.encode( new BigInteger( sha.digest() ).toString( 16 ), "UTF-8" );
String preventProxy = ( BungeeCord.getInstance().config.isPreventProxyConnections() && getSocketAddress() instanceof InetSocketAddress ) ? "&ip=" + URLEncoder.encode( getAddress().getAddress().getHostAddress(), "UTF-8" ) : "";
@ -27,5 +27,5 @@ index 3cd4cc6f..0f1716c0 100644
Callback<String> handler = new Callback<String>()
{
--
2.32.0
2.30.0

View File

@ -1,4 +1,4 @@
From a46065c54e536379cf3328642e23e03092dd9691 Mon Sep 17 00:00:00 2001
From 3407db483797e0b3ccca1c81773a97851cf22317 Mon Sep 17 00:00:00 2001
From: "Five (Xer)" <admin@fivepb.me>
Date: Sat, 30 Jan 2021 18:04:14 +0100
Subject: [PATCH] Additional DoS mitigations
@ -8,7 +8,7 @@ Courtesy of Tux and the Velocity Contributors. See:
https://github.com/VelocityPowered/Velocity/commit/5ceac16a821ea35572ff11412ace8929fd06e278
diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java b/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java
index d10cf2ed..31a95495 100644
index 40281aa4..a310844d 100644
--- a/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java
+++ b/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java
@@ -44,6 +44,7 @@ public abstract class DefinedPacket
@ -16,7 +16,7 @@ index d10cf2ed..31a95495 100644
if ( len > maxLen * 4 )
{
+ if(!MinecraftDecoder.DEBUG) throw STRING_TOO_MANY_BYTES_EXCEPTION; // Waterfall start: Additional DoS mitigations
throw new OverflowPacketException( String.format( "Cannot receive string longer than %d (got %d bytes)", maxLen * 4, len ) );
throw new OverflowPacketException( "Cannot receive string longer than " + maxLen * 4 + " (got " + len + " bytes)" );
}
@@ -53,6 +54,7 @@ public abstract class DefinedPacket
@ -24,7 +24,7 @@ index d10cf2ed..31a95495 100644
if ( s.length() > maxLen )
{
+ if(!MinecraftDecoder.DEBUG) throw STRING_TOO_LONG_EXCEPTION; // Waterfall start: Additional DoS mitigations
throw new OverflowPacketException( String.format( "Cannot receive string longer than %d (got %d characters)", maxLen, s.length() ) );
throw new OverflowPacketException( "Cannot receive string longer than " + maxLen + " (got " + s.length() + " characters)" );
}
@@ -284,4 +286,21 @@ public abstract class DefinedPacket
@ -241,5 +241,5 @@ index 738f0c92..ec33d337 100644
+ // Waterfall end
}
--
2.32.0
2.30.0