From a0a229fa2921eadb62a2245855ee1ec8e2e43ea9 Mon Sep 17 00:00:00 2001 From: KennyTV Date: Tue, 8 Sep 2020 09:06:54 +0200 Subject: [PATCH] =?UTF-8?q?Make=20pipeline=20fail-safe=20limit=20changeabl?= =?UTF-8?q?e=20=E2=98=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../us/myles/ViaVersion/api/protocol/ProtocolRegistry.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolRegistry.java b/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolRegistry.java index b838046a0..dae37bfac 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolRegistry.java +++ b/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolRegistry.java @@ -58,6 +58,7 @@ import java.util.concurrent.TimeUnit; public class ProtocolRegistry { public static final Protocol BASE_PROTOCOL = new BaseProtocol(); public static int SERVER_PROTOCOL = -1; + public static int maxProtocolPathSize = 50; // Input Version -> Output Version & Protocol (Allows fast lookup) private static final Int2ObjectMap> registryMap = new Int2ObjectOpenHashMap<>(32); private static final Map, Protocol> protocols = new HashMap<>(); @@ -242,7 +243,7 @@ public class ProtocolRegistry { @Nullable private static List> getProtocolPath(List> current, int clientVersion, int serverVersion) { if (clientVersion == serverVersion) return null; // We're already there - if (current.size() > 50) return null; // Fail safe, protocol too complicated. + if (current.size() > maxProtocolPathSize) return null; // Fail safe, protocol too complicated. // First check if there is any protocols for this Int2ObjectMap inputMap = registryMap.get(clientVersion);