]> git.deb.at Git - rhonda/impostor.git/commitdiff
Partial revert of cc8d5d2: Readd length check
authorminiduikboot <mini@duikbo.at>
Thu, 27 Jan 2022 17:24:02 +0000 (18:24 +0100)
committerminiduikboot <mini@duikbo.at>
Thu, 27 Jan 2022 17:24:02 +0000 (18:24 +0100)
Oversized nicknames can cause bigger issues, so it is desireable to
still block them. .Length counts codepoints, not bytes, which means
that 10 character Japanese nicknames, which are configurable ingame,
should still be allowed.

src/Impostor.Server/Net/Manager/ClientManager.cs

index d25e5a1a782981868180f5d94b6a440e0250697b..45f0aec1a5fc4cca4fd463dabe9d823fc801661c 100644 (file)
@@ -90,6 +90,14 @@ namespace Impostor.Server.Net.Manager
                 return;
             }
 
+            if (name.Length > 10)
+            {
+                using var packet = MessageWriter.Get(MessageType.Reliable);
+                Message01JoinGameS2C.SerializeError(packet, false, DisconnectReason.Custom, DisconnectMessages.UsernameLength);
+                await connection.SendAsync(packet);
+                return;
+            }
+
             if (string.IsNullOrWhiteSpace(name))
             {
                 using var packet = MessageWriter.Get(MessageType.Reliable);