diff options
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r-- | src/inspircd.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp index c42306a30..2558f3efc 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -4101,6 +4101,18 @@ int InspIRCd(void) while (current->BufferIsReady()) { floodlines++; + if (TIME > current->reset_due) + { + current->reset_due = TIME+3; + current->lines_in = 0; + } + current->lines_in++; + if (current->lines_in > current->flood) + { + log(DEFAULT,"Excess flood from: %s!%s@%s",current->nick,current->ident,current->host); + WriteOpers("*** Excess flood from: %s!%s@%s",current->nick,current->ident,current->host); + kill_link(current,"Excess flood"); + } if ((floodlines > current->flood) && (current->flood != 0)) { if (current->registered == 7) |