Files
Purpur/patches/server/0247-Configurable-valid-characters-for-usernames.patch
BillyGalbreath 0384c21235 Updated Upstream (Paper & Pufferfish)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@13cf546 Fix pumpkin growth modifier (#8517)
PaperMC/Paper@b3b04f2 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#8515)

Pufferfish Changes:
pufferfish-gg/Pufferfish@69bd43d Updated Upstream (Paper)
pufferfish-gg/Pufferfish@deb9638 Updated Upstream (Paper)
pufferfish-gg/Pufferfish@eba9164 Updated Upstream (Paper)
pufferfish-gg/Pufferfish@dda277a Updated Upstream (Paper)
2022-10-30 22:27:51 -05:00

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 5fc79bc0b053465a59c08ec0e6716fab20979a3d..3a62b456e1f8ab68e3c34b9d73b822e379afd570 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -252,6 +252,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se
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 a20bdf37795a46324bbecfff51e7bd3e699e1fe0..0afd94f41863e4edf39e31bb9ba15a1695ab26d5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -472,4 +472,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);
+ }
}