From f20c078fc37ba2930c3b3ea79567d0282ee10601 Mon Sep 17 00:00:00 2001 From: "Tristan B. Velloza Kildaire" Date: Wed, 28 Jun 2023 23:53:08 +0200 Subject: [PATCH] Client - `user(string, string, string, string)` now checks for illegal characters --- source/birchwood/client/client.d | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/source/birchwood/client/client.d b/source/birchwood/client/client.d index 5ee0401..c557ae5 100644 --- a/source/birchwood/client/client.d +++ b/source/birchwood/client/client.d @@ -876,14 +876,24 @@ public class Client : Thread * hostname = the hostname to use * servername = the servername to use * realname = your realname + * Throws: + * `BirchwoodException` if the username, jostname, + * servername or realname contains illegal characters */ public void user(string username, string hostname, string servername, string realname) { // TODO: Implement me properly with all required checks - - /* User message */ - Message userMessage = new Message("", "USER", username~" "~hostname~" "~servername~" "~":"~realname); - sendMessage(userMessage); + + if(isValidText(username) && isValidText(hostname) && isValidText(servername) && isValidText(realname)) + { + /* User message */ + Message userMessage = new Message("", "USER", username~" "~hostname~" "~servername~" "~":"~realname); + sendMessage(userMessage); + } + else + { + throw new BirchwoodException(ErrorType.ILLEGAL_CHARACTERS, "Illegal characters present in either the username, hostname, server name or real name"); + } } /**