mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@990be16 Iterate over entity array copy for entity scheduler PaperMC/Paper@3f6c4b0 Add event for player editing sign (#9300) PaperMC/Paper@7103f81 Only tick item frames if players can see it (#9377) PaperMC/Paper@cf0f013 Avoid duplicate death event call for armorstands (#9223) PaperMC/Paper@8582999 Deprecate duplicate chat completion methods (#9401) PaperMC/Paper@e4b40dd Fix entity selectors while spectating (#9402) PaperMC/Paper@82cd69f [ci skip] Update Repo style and change project url in README (#9407) PaperMC/Paper@2c9c5e4 Fix replenishable container entities save/load existing contents (#9417) PaperMC/Paper@437e8da Improve command function perm level checks (#9411) PaperMC/Paper@225c950 Hotfix double entity removal making entity scheduler retire call PaperMC/Paper@fead63e Add option to disable NoteBlock and Tripwire updates (#9368) Pufferfish Changes: pufferfish-gg/Pufferfish@50f3124 Updated Upstream (Paper) pufferfish-gg/Pufferfish@5673490 Add option to suppress null ID disconnections in logs pufferfish-gg/Pufferfish@1e911fb Fix issue with that last patch
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 b4b88a3d4dc66c44ca8f3bad1025c17a9993ac1d..01d5fa265fb2818465b5a71a2e2efeec751a7a05 100644
|
|
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
|
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
|
@@ -221,6 +221,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 c85e7c7f672508f4ca8152e6823b715e64802d51..1b5f88da5c2a8702c268bee9691f4f5c92d5aeaa 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
@@ -455,4 +455,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);
|
|
+ }
|
|
}
|