From f6eece74bf652e125ff4c7f6a3963ab1cfacaabb Mon Sep 17 00:00:00 2001 From: Les De Ridder Date: Wed, 14 Oct 2020 07:15:13 +0200 Subject: [PATCH] Send a different message on viewing other users' modes (non-strict) --- source/ircd/connection.d | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/source/ircd/connection.d b/source/ircd/connection.d index d7513b2..715b084 100644 --- a/source/ircd/connection.d +++ b/source/ircd/connection.d @@ -1011,10 +1011,22 @@ class Connection if (target.toIRCLower != nick.toIRCLower) { - //TODO: If RFC-strictness is off, use a different error message when viewing modes and when changing modes - send(Message(_server.name, "502", [ - nick, "Cannot change mode for other users" - ], true)); + //NOTE: The RFCs don't specify a different message for viewing other users' modes + version (BasicFixes) + { + if (message.parameters.length > 1) + { + send(Message(_server.name, "502", [nick, "Cannot change mode for other users"], true)); + } + else + { + send(Message(_server.name, "502", [nick, "Cannot view mode of other users"], true)); + } + } + else + { + send(Message(_server.name, "502", [nick, "Cannot change mode for other users"], true)); + } return; }