From: Gunnar Beutner Date: Thu, 1 Aug 2013 14:40:02 +0000 (+0200) Subject: Merge noperserv_handle_messages into control.c. X-Git-Url: https://jfr.im/git/irc/quakenet/newserv.git/commitdiff_plain/ff8f25f5bf6276772b59d729460ae3b76ed698e0 Merge noperserv_handle_messages into control.c. --HG-- branch : shroudnoperserv --- diff --git a/control/control.c b/control/control.c index c2b57053..9640a51f 100644 --- a/control/control.c +++ b/control/control.c @@ -698,31 +698,22 @@ void handlemessages(nick *target, int messagetype, void **args) { case LU_PRIVMSG: case LU_SECUREMSG: /* If it's a message, first arg is nick and second is message */ - sender=(nick *)args[0]; + sender = (nick *)args[0]; - Error("control",ERR_INFO,"From: %s!%s@%s: %s",sender->nick,sender->ident,sender->host->name->content, (char *)args[1]); + controlwall(NO_DEVELOPER, NL_ALL_COMMANDS, "From: %s!%s@%s%s%s: %s", sender->nick, sender->ident, sender->host->name->content, IsAccount(sender)?"/":"", IsAccount(sender)?sender->authname:"", (char *)args[1]); /* Split the line into params */ - cargc=splitline((char *)args[1],cargv,50,0); + cargc = splitline((char *)args[1], cargv, 50, 0); - if (!cargc) { - /* Blank line */ + if(!cargc) /* Blank line */ return; - } - cmd=findcommandintree(controlcmds,cargv[0],1); - if (cmd==NULL) { - controlreply(sender,"Unknown command."); + cmd = findcommandintree(controlcmds,cargv[0],1); + if(!cmd || !noperserv_policy_command_permitted(cmd->level, sender)) { + controlreply(sender, "Unknown command or access denied."); return; } - if (cmd->level>0 && !IsOper(sender)) { - controlreply(sender,"You need to be opered to use this command."); - return; - } - - /* If we were doing "authed user tracking" here we'd put a check in for authlevel */ - /* Check the maxargs */ if (cmd->maxparams<(cargc-1)) { /* We need to do some rejoining */ @@ -732,6 +723,7 @@ void handlemessages(nick *target, int messagetype, void **args) { if((cmd->handler)((void *)sender,cargc-1,&(cargv[1])) == CMD_USAGE) controlhelp(sender, cmd); + break; case LU_KILLED: @@ -739,6 +731,7 @@ void handlemessages(nick *target, int messagetype, void **args) { scheduleoneshot(time(NULL)+1,&controlconnect,NULL); mynick=NULL; triggerhook(HOOK_CONTROL_REGISTERED, NULL); + break; default: