X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Finspircd.cpp;h=2558f3efc57a6c40d828adcb7a087318b0c5969e;hb=483ec8439c6564f8e3783223a01c641326b6f2d8;hp=b1aedde73132f856334235d52ce0967fff4b1969;hpb=2df3ad5cfeaea6ca095695fa4b3c786ee8237080;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/inspircd.cpp b/src/inspircd.cpp index b1aedde73..2558f3efc 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -4090,6 +4090,8 @@ int InspIRCd(void) } else { + WriteOpers("*** Excess flood from %s",current->ip); + log(DEFAULT,"Excess flood from: %s",current->ip); add_zline(120,ServerName,"Flood from unregistered connection",current->ip); apply_lines(); } @@ -4099,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)