diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-02-24 18:45:57 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-02-24 18:45:57 +0000 |
commit | 76bed8d2e82d51e3d9ea2a215ad4cac01fe62c99 (patch) | |
tree | 0b4a00f2158729f4a277c743813fcd895ea58481 | |
parent | c30fd933e0cc7e4a1853642f9c7969e290559a85 (diff) |
Now sends out warning when oper on a remote server tries to execute a command that the local class tags say they shouldnt be able to access. Helps detect desyncs caused by muppeted configs, or just plain nefarious goings on.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3318 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/command_parse.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/command_parse.cpp b/src/command_parse.cpp index a606e572c..18915b819 100644 --- a/src/command_parse.cpp +++ b/src/command_parse.cpp @@ -304,6 +304,11 @@ void CommandParser::CallHandler(std::string &commandname,char **parameters, int { n->second->Handle(parameters,pcnt,user); } + else + { + if (!IS_LOCAL(user)) + WriteOpers("*** \2WARNING\2: Command '%s' not allowed for oper '%s', dropped.",commandname.c_str(),user->nick); + } } else { @@ -582,6 +587,8 @@ void CommandParser::ProcessCommand(userrec *user, char* cmd) { log(DEBUG,"permission denied: %s %s",user->nick,command); WriteServ(user->fd,"481 %s :Permission Denied- Oper type %s does not have access to command %s",user->nick,user->oper,command); + if (!IS_LOCAL(user)) + WriteOpers("*** \2WARNING\2: Command '%s' not allowed for oper '%s', dropped.",command,user->nick); cmd_found = 1; return; } |