From 3f374da44bbd8708513724bbaaff1a45956e830e Mon Sep 17 00:00:00 2001 From: miniduikboot Date: Thu, 27 Jan 2022 18:24:02 +0100 Subject: [PATCH] Partial revert of cc8d5d2: Readd length check 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 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Impostor.Server/Net/Manager/ClientManager.cs b/src/Impostor.Server/Net/Manager/ClientManager.cs index d25e5a1..45f0aec 100644 --- a/src/Impostor.Server/Net/Manager/ClientManager.cs +++ b/src/Impostor.Server/Net/Manager/ClientManager.cs @@ -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); -- 2.39.5