From 55fdc886a1a7941ef1d0162ac73cbf368cd66151 Mon Sep 17 00:00:00 2001 From: brain Date: Thu, 16 Feb 2006 18:49:48 +0000 Subject: Checking to prevent dodgy opertypes (opertypes must follow the same syntax as nicks now) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3229 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/cmd_oper.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/cmd_oper.cpp') diff --git a/src/cmd_oper.cpp b/src/cmd_oper.cpp index 8e57329d4..15e0df3c4 100644 --- a/src/cmd_oper.cpp +++ b/src/cmd_oper.cpp @@ -110,6 +110,13 @@ void cmd_oper::Handle (char **parameters, int pcnt, userrec *user) Config->ConfValue("type","host",j,HostName,&Config->config_f); if (*HostName) ChangeDisplayedHost(user,HostName); + if (!isnick(TypeName)) + { + WriteServ(user->fd,"491 %s :Invalid oper type (oper types must follow the same syntax as nicknames)",user->nick); + WriteOpers("*** CONFIGURATION ERROR! Oper type invalid for OperType '%s'",OperType); + log(DEFAULT,"OPER: Failed oper attempt by %s!%s@%s: credentials valid, but oper type erroneous.",user->nick,user->ident,user->host); + return; + } strlcpy(user->oper,TypeName,NICKMAX); found = true; fail2 = false; -- cgit v1.3.1-10-gc9f91