mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@60b7d5e Add unsupported field to disable username validation (#7350) PaperMC/Paper@17e1f65 Fix Lure infinite loop (#6850) PaperMC/Paper@048e030 Change default for hoppers ignoring occluded blocks (#7342) PaperMC/Paper@919e594 Push illegal char kick to main thread (#7363) PaperMC/Paper@f1db23e [ci skip] Fix incorrect javadoc for Mob pathfinding API (#6842)
36 lines
1.9 KiB
Diff
36 lines
1.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: BillyGalbreath <blake.galbreath@gmail.com>
|
|
Date: Sat, 1 Jan 2022 18:38:58 -0600
|
|
Subject: [PATCH] Configurable valid characters for usernames
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
|
index 5f154db373026ca78b812f9247dc9288d6826cb0..547158e80c501aec66f4ffc96c0a496a346e0dd3 100644
|
|
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
|
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
|
@@ -237,6 +237,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener
|
|
return false;
|
|
}
|
|
|
|
+ if (true) return org.purpurmc.purpur.PurpurConfig.usernameValidCharactersPattern.matcher(in).matches(); // Purpur
|
|
+
|
|
for (int i = 0, len = in.length(); i < len; ++i) {
|
|
char c = in.charAt(i);
|
|
|
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
index 966f09b29a0a83c54fd7b8bfa4c8cf2df09a0900..effaa275749729dce59ab28de51609656bb9d4b5 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
@@ -415,4 +415,11 @@ public class PurpurConfig {
|
|
private static void networkSettings() {
|
|
useUPnP = getBoolean("settings.network.upnp-port-forwarding", useUPnP);
|
|
}
|
|
+
|
|
+ public static java.util.regex.Pattern usernameValidCharactersPattern;
|
|
+ private static void usernameValidationSettings() {
|
|
+ String defaultPattern = "^[a-zA-Z0-9_.]*$";
|
|
+ String setPattern = getString("settings.username-valid-characters", defaultPattern);
|
|
+ usernameValidCharactersPattern = java.util.regex.Pattern.compile(setPattern == null || setPattern.isBlank() ? defaultPattern : setPattern);
|
|
+ }
|
|
}
|