From d2be3310ba2cfb567f2cf0272a086b2961c86d6f Mon Sep 17 00:00:00 2001 From: brain Date: Mon, 27 Aug 2007 10:57:25 +0000 Subject: Add a call to the NICK handler that allows toggling of allowing invalid nicks to on or off. Use it in ForceNickChange to allow forced nickchange of a nick to a uid. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7869 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/cmd_nick.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/cmd_nick.cpp') diff --git a/src/cmd_nick.cpp b/src/cmd_nick.cpp index a00803d75..f5c036dcf 100644 --- a/src/cmd_nick.cpp +++ b/src/cmd_nick.cpp @@ -77,7 +77,7 @@ CmdResult cmd_nick::Handle (const char** parameters, int pcnt, userrec *user) * here first, no TS checks need to take place here) */ userrec* InUse = ServerInstance->FindNick(parameters[0]); - if (InUse && (InUse != user) && (ServerInstance->IsNick(parameters[0]))) + if (InUse && (InUse != user) && ((ServerInstance->IsNick(parameters[0]) || allowinvalid))) { if (InUse->registered != REG_ALL) { @@ -98,7 +98,7 @@ CmdResult cmd_nick::Handle (const char** parameters, int pcnt, userrec *user) } } } - if ((!ServerInstance->IsNick(parameters[0])) && (IS_LOCAL(user))) + if (((!allowinvalid || !ServerInstance->IsNick(parameters[0]))) && (IS_LOCAL(user))) { user->WriteServ("432 %s %s :Erroneous Nickname",user->nick,parameters[0]); return CMD_FAILURE; @@ -180,3 +180,8 @@ CmdResult cmd_nick::Handle (const char** parameters, int pcnt, userrec *user) } +CmdResult cmd_nick::HandleInternal(const unsigned int id, const std::deque ¶meters) +{ + allowinvalid = (id != 0); +} + -- cgit v1.3.1-10-gc9f91