Waterfall/Waterfall-Proxy-Patches/0005-Make-PlayerHandshakeEvent-cancellable.patch
Luccboy 2554ec2219
Updated Upstream (Waterfall)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by 2LStudios and as with ANY update, please do your own testing

Waterfall Changes:
59dbd08 Updated Upstream (BungeeCord) (#747)
9719e25 Temp disable protocol limits for 1.19
9b0080a Fix crash on startup (#743)
958ae29 Updated Upstream (BungeeCord) (#741)
29f1cfb Improve login state transition
a44c78a Various library bumps
2022-06-08 01:19:01 +02:00

57 lines
2.3 KiB
Diff

From dc40048d350211b27c7418575f25b5bc90325626 Mon Sep 17 00:00:00 2001
From: foss-mc <69294560+foss-mc@users.noreply.github.com>
Date: Wed, 16 Dec 2020 17:57:23 +0800
Subject: [PATCH] Make PlayerHandshakeEvent cancellable
diff --git a/api/src/main/java/net/md_5/bungee/api/event/PlayerHandshakeEvent.java b/api/src/main/java/net/md_5/bungee/api/event/PlayerHandshakeEvent.java
index 2f7b38d9..e29b0ed3 100644
--- a/api/src/main/java/net/md_5/bungee/api/event/PlayerHandshakeEvent.java
+++ b/api/src/main/java/net/md_5/bungee/api/event/PlayerHandshakeEvent.java
@@ -2,8 +2,11 @@ package net.md_5.bungee.api.event;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
import lombok.ToString;
import net.md_5.bungee.api.connection.PendingConnection;
+import net.md_5.bungee.api.plugin.Cancellable;
import net.md_5.bungee.api.plugin.Event;
import net.md_5.bungee.protocol.packet.Handshake;
@@ -14,8 +17,11 @@ import net.md_5.bungee.protocol.packet.Handshake;
@Data
@ToString(callSuper = false)
@EqualsAndHashCode(callSuper = false)
-public class PlayerHandshakeEvent extends Event
-{
+// FlameCord - Implement cancellable
+public class PlayerHandshakeEvent extends Event implements Cancellable {
+ @Getter
+ @Setter
+ private boolean cancelled = false;
/**
* Connection attempting to login.
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 134c8a1d..3372fb71 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
@@ -340,7 +340,11 @@ public class InitialHandler extends PacketHandler implements PendingConnection
this.virtualHost = InetSocketAddress.createUnresolved( handshake.getHost(), handshake.getPort() );
- bungee.getPluginManager().callEvent( new PlayerHandshakeEvent( InitialHandler.this, handshake ) );
+ // FlameCord - Make PlayerHandshakeEvent cancellable
+ if (bungee.getPluginManager().callEvent(new PlayerHandshakeEvent(InitialHandler.this, handshake)).isCancelled()) {
+ ch.close();
+ return;
+ }
switch ( handshake.getRequestedProtocol() )
{
--
2.36.1.windows.1