diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-10-21 14:18:43 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-10-21 14:18:43 +0000 |
commit | 317c0288c8d98750d47a98fdc0af1691089279d2 (patch) | |
tree | dca32b988db9d9a7d8e42808559153b95b3c051a | |
parent | 6856c87ae51d655870607c6e74e0eed6d338283a (diff) |
Yay, all works!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8251 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/command_parse.cpp | 6 | ||||
-rw-r--r-- | src/userprocess.cpp | 8 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/command_parse.cpp b/src/command_parse.cpp index f3ff69c96..1701a7366 100644 --- a/src/command_parse.cpp +++ b/src/command_parse.cpp @@ -304,9 +304,13 @@ bool CommandParser::ProcessCommand(User *user, std::string &cmd) /* Modify the user's penalty */ user->Penalty += cm->second->Penalty; + ServerInstance->Log(DEBUG,"Penalty for %s is now incremented to %d (%d added on)", user->nick, user->Penalty, cm->second->Penalty); bool do_more = (user->Penalty < 10); - if (do_more) + if (!do_more) + { user->OverPenalty = true; + ServerInstance->Log(DEBUG,"User %s now OVER penalty of 10", user->nick); + } /* activity resets the ping pending timer */ user->nping = ServerInstance->Time() + user->pingmax; diff --git a/src/userprocess.cpp b/src/userprocess.cpp index 75f0da0ee..b65d566f8 100644 --- a/src/userprocess.cpp +++ b/src/userprocess.cpp @@ -122,7 +122,9 @@ void ProcessUserHandler::Call(User* cu) return; } - Server->Parser->DoLines(current); + /* If user is over penalty, dont process here, just build up */ + if (!current->OverPenalty) + Server->Parser->DoLines(current); return; } @@ -161,11 +163,15 @@ void InspIRCd::DoBackgroundUserStuff() User *curr = *count2; if (curr->OverPenalty) + { + Log(DEBUG,"Process line over penalty for %s", curr->nick); Parser->DoLines(curr, true); + } /* Knock a second off */ if (curr->Penalty) { + Log(DEBUG,"Penalty for %s decremented to %d", curr->nick, curr->Penalty); curr->Penalty--; if (!curr->Penalty) curr->OverPenalty = false; |