X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcmd_oper.cpp;h=7cbf4b79f62d10318dc3f18f975ada330072171f;hb=59b1a8955142935b02af6446005ab47fc7c3fc8c;hp=8e57329d4702899a37f0652c3ca431743f930357;hpb=4be4ccdf2628423644d42531322bea913dfe0191;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/cmd_oper.cpp b/src/cmd_oper.cpp index 8e57329d4..7cbf4b79f 100644 --- a/src/cmd_oper.cpp +++ b/src/cmd_oper.cpp @@ -110,7 +110,14 @@ void cmd_oper::Handle (char **parameters, int pcnt, userrec *user) Config->ConfValue("type","host",j,HostName,&Config->config_f); if (*HostName) ChangeDisplayedHost(user,HostName); - strlcpy(user->oper,TypeName,NICKMAX); + 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-1); found = true; fail2 = false; break;