From e3e3a35899931d98e76023464f9b077b09ba828d Mon Sep 17 00:00:00 2001 From: attilamolnar Date: Mon, 19 Nov 2012 03:37:59 +0100 Subject: Add IS_SERVER() and REG_ALL checks to (mostly oper only) commands taking a target nickname If a SID was passed as the target user parameter or when it's an unregistered user reply with the "no such nick" (or the moral equivalent) message --- src/modules/m_remove.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/modules/m_remove.cpp') diff --git a/src/modules/m_remove.cpp b/src/modules/m_remove.cpp index ffb8f8e55..86f50ad62 100644 --- a/src/modules/m_remove.cpp +++ b/src/modules/m_remove.cpp @@ -69,9 +69,9 @@ class RemoveBase : public Command channel = ServerInstance->FindChan(channame); /* Fix by brain - someone needs to learn to validate their input! */ - if (!target || !channel) + if ((!target) || (target->registered != REG_ALL) || (!channel)) { - user->WriteNumeric(ERR_NOSUCHNICK, "%s %s :No such nick/channel", user->nick.c_str(), !target ? username.c_str() : channame.c_str()); + user->WriteNumeric(ERR_NOSUCHNICK, "%s %s :No such nick/channel", user->nick.c_str(), !channel ? channame.c_str() : username.c_str()); return CMD_FAILURE; } -- cgit v1.2.3