From 36bfd5469ed36db71f3f8afd234074e3d36cddbb Mon Sep 17 00:00:00 2001 From: ayunami2000 Date: Wed, 6 Jul 2022 19:29:26 -0400 Subject: [PATCH] disallow duplicate usernames lol --- .../ayunami2000/ayungee/WebSocketProxy.java | 4 ++++ ...gee-1.0-SNAPSHOT-jar-with-dependencies.jar | Bin 811213 -> 811447 bytes 2 files changed, 4 insertions(+) diff --git a/src/main/java/me/ayunami2000/ayungee/WebSocketProxy.java b/src/main/java/me/ayunami2000/ayungee/WebSocketProxy.java index f61b48b..b4ca237 100644 --- a/src/main/java/me/ayunami2000/ayungee/WebSocketProxy.java +++ b/src/main/java/me/ayunami2000/ayungee/WebSocketProxy.java @@ -111,6 +111,10 @@ public class WebSocketProxy extends WebSocketServer { byte[] uname = new byte[unameLen]; for (int i = 0; i < uname.length; i++) uname[i] = msg[5 + i * 2]; String username = new String(uname); + if (Main.clients.values().stream().anyMatch(client -> client.username.equals(username))) { + conn.close(); + return; + } Client selfClient = new Client(username); Main.clients.put(conn, selfClient); new Thread(() -> { diff --git a/target/ayungee-1.0-SNAPSHOT-jar-with-dependencies.jar b/target/ayungee-1.0-SNAPSHOT-jar-with-dependencies.jar index e38f9bfc7168bb216d9ebefbb8f2d8bc455f4583..3fb828bc7282de0ce9fca6124728830cc8c1e421 100644 GIT binary patch delta 20165 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 Pbz{r;DLgiQIH3Ol;9d4B delta 20381 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