mirror of
https://github.com/PaperMC/Waterfall.git
synced 2025-01-03 22:47:38 +01:00
58 lines
2.3 KiB
Diff
58 lines
2.3 KiB
Diff
From 24da31173f0c8a99366c8c157a0d07058e712a5f 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/io/github/waterfallmc/waterfall/StringUtil.java b/proxy/src/main/java/io/github/waterfallmc/waterfall/StringUtil.java
|
|
new file mode 100644
|
|
index 00000000..940ad806
|
|
--- /dev/null
|
|
+++ b/proxy/src/main/java/io/github/waterfallmc/waterfall/StringUtil.java
|
|
@@ -0,0 +1,22 @@
|
|
+package io.github.waterfallmc.waterfall;
|
|
+
|
|
+import lombok.AccessLevel;
|
|
+import lombok.NoArgsConstructor;
|
|
+
|
|
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
|
+public class StringUtil {
|
|
+ public static boolean isBlank(String str) {
|
|
+ if (str.isEmpty()) {
|
|
+ return true;
|
|
+ }
|
|
+
|
|
+ int l = str.length();
|
|
+ for (int i = 0; i < l; i++) {
|
|
+ if (!Character.isWhitespace(str.charAt(i))) {
|
|
+ return false;
|
|
+ }
|
|
+ }
|
|
+
|
|
+ return true;
|
|
+ }
|
|
+}
|
|
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 4bb61f63..9287d168 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
|
|
@@ -4,6 +4,7 @@ import com.google.common.base.Preconditions;
|
|
import com.mojang.brigadier.context.StringRange;
|
|
import com.mojang.brigadier.suggestion.Suggestion;
|
|
import com.mojang.brigadier.suggestion.Suggestions;
|
|
+import io.github.waterfallmc.waterfall.StringUtil;
|
|
import io.netty.channel.Channel;
|
|
import java.util.ArrayList;
|
|
import java.util.LinkedList;
|
|
@@ -139,6 +140,7 @@ public class UpstreamBridge extends PacketHandler
|
|
{
|
|
int maxLength = ( con.getPendingConnection().getVersion() >= ProtocolConstants.MINECRAFT_1_11 ) ? 256 : 100;
|
|
Preconditions.checkArgument( chat.getMessage().length() <= maxLength, "Chat message too long" ); // Mojang limit, check on updates
|
|
+ Preconditions.checkArgument(!StringUtil.isBlank(chat.getMessage()), "Chat message is empty");
|
|
|
|
ChatEvent chatEvent = new ChatEvent( con, con.getServer(), chat.getMessage() );
|
|
if ( !bungee.getPluginManager().callEvent( chatEvent ).isCancelled() )
|
|
--
|
|
2.20.1
|
|
|