]> jfr.im git - irc/quakenet/newserv.git/commitdiff
Merge noperserv_handle_messages into control.c.
authorGunnar Beutner <redacted>
Thu, 1 Aug 2013 14:40:02 +0000 (16:40 +0200)
committerGunnar Beutner <redacted>
Thu, 1 Aug 2013 14:40:02 +0000 (16:40 +0200)
--HG--
branch : shroudnoperserv

control/control.c

index c2b57053790adb620177db19e5720fc3b28afad8..9640a51f76aaf16c2b5b8755f21dfff80e8aaa99 100644 (file)
@@ -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: