From 317c0288c8d98750d47a98fdc0af1691089279d2 Mon Sep 17 00:00:00 2001 From: brain Date: Sun, 21 Oct 2007 14:18:43 +0000 Subject: [PATCH] Yay, all works! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8251 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/command_parse.cpp | 6 +++++- 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; -- 2.39.5