]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/command_parse.cpp
Allow forward linking compatability by accepting higher protocol version numbers...
[user/henk/code/inspircd.git] / src / command_parse.cpp
index 2d3d87b2eb4509c2dcadd18aaca0435b5b56f49c..bf025be7ce5c4f505c1b3b31138edeff382175f3 100644 (file)
@@ -266,6 +266,16 @@ bool CommandParser::ProcessCommand(User *user, std::string &cmd)
        /* find the command, check it exists */
        Commandtable::iterator cm = cmdlist.find(command);
 
+       /* Modify the user's penalty regardless of whether or not the command exists */
+       bool do_more = true;
+       if (!user->HasPrivPermission("users/flood/no-throttle"))
+       {
+               // If it *doesn't* exist, give it a slightly heftier penalty than normal to deter flooding us crap
+               user->IncreasePenalty(cm != cmdlist.end() ? cm->second->Penalty : 2);
+               do_more = (user->Penalty < 10);
+       }
+
+
        if (cm == cmdlist.end())
        {
                int MOD_RESULT = 0;
@@ -336,14 +346,6 @@ bool CommandParser::ProcessCommand(User *user, std::string &cmd)
        if (MOD_RESULT == 1)
                return true;
 
-       /* Modify the user's penalty */
-       bool do_more = true;
-       if (!user->HasPrivPermission("users/flood/no-throttle"))
-       {
-               user->IncreasePenalty(cm->second->Penalty);
-               do_more = (user->Penalty < 10);
-       }
-
        /* activity resets the ping pending timer */
        if (user->MyClass)
                user->nping = ServerInstance->Time() + user->MyClass->GetPingTime();
@@ -650,7 +652,7 @@ int CommandParser::TranslateUIDs(const std::deque<TranslateType> to, const std::
        return translations;
 }
 
-int CommandParser::TranslateUIDsOnce(TranslateType to, const std::string &source, std::string &dest)
+int CommandParser::TranslateUIDs(TranslateType to, const std::string &source, std::string &dest)
 {
        User* user = NULL;
        std::string item;