* | Inspire Internet Relay Chat Daemon |
* +------------------------------------+
*
- * InspIRCd: (C) 2002-2008 InspIRCd Development Team
+ * InspIRCd: (C) 2002-2009 InspIRCd Development Team
* See: http://www.inspircd.org/wiki/index.php/Credits
*
* This program is free but copyrighted software; see
* ---------------------------------------------------
*/
-/* $Core: libIRCDuserprocess */
+/* $Core */
#include "inspircd.h"
-#include "wildcard.h"
#include "xline.h"
#include "socketengine.h"
#include "command_parse.h"
char* ReadBuffer = Server->GetReadBuffer();
- if (cu->io)
+ if (cu->GetIOHook())
{
int result2 = 0;
int MOD_RESULT = 0;
try
{
- MOD_RESULT = cu->io->OnRawSocketRead(cu->GetFd(), ReadBuffer, Server->Config->NetBufferSize, result2);
+ MOD_RESULT = cu->GetIOHook()->OnRawSocketRead(cu->GetFd(), ReadBuffer, Server->Config->NetBufferSize, result2);
}
catch (CoreException& modexcept)
{
if (!current->AddBuffer(ReadBuffer))
{
// AddBuffer returned false, theres too much data in the user's buffer and theyre up to no good.
- if (current->registered == REG_ALL)
- {
- if (current->MyClass)
- {
- // Make sure they arn't flooding long lines.
- if (Server->Time() > current->reset_due)
- {
- current->reset_due = Server->Time() + current->MyClass->GetThreshold();
- current->lines_in = 0;
- }
-
- current->lines_in++;
-
- if (current->MyClass->GetFlood() && current->lines_in > current->MyClass->GetFlood())
- Server->FloodQuitUser(current);
- else
- {
- current->WriteServ("NOTICE %s :Your previous line was too long and was not delivered (Over %d chars) Please shorten it.", current->nick.c_str(), MAXBUF-2);
- current->recvq.clear();
- }
- }
- }
- else
- Server->FloodQuitUser(current);
-
+ Server->FloodQuitUser(current);
return;
}
/* If user is over penalty, dont process here, just build up */
- if (!current->OverPenalty)
+ if (current->Penalty < 10)
Server->Parser->DoLines(current);
return;
Parser->DoLines(curr, true);
}
- if (curr->OverPenalty)
- {
- if (curr->sendq.empty())
- curr->OverPenalty = false;
- }
-
switch (curr->registered)
{
case REG_ALL: