27 |
|
#include "s_conf.h" |
28 |
|
#include "s_serv.h" |
29 |
|
#include "client.h" |
30 |
– |
#include "common.h" |
30 |
|
#include "ircd.h" |
31 |
|
#include "parse.h" |
32 |
|
#include "fdlist.h" |
35 |
|
#include "memory.h" |
36 |
|
#include "hook.h" |
37 |
|
#include "send.h" |
38 |
+ |
#include "s_misc.h" |
39 |
|
|
40 |
|
#define READBUF_SIZE 16384 |
41 |
|
|
166 |
|
} |
167 |
|
else if (IsClient(client_p)) |
168 |
|
{ |
169 |
< |
if (ConfigFileEntry.no_oper_flood && (IsOper(client_p) || IsCanFlood(client_p))) |
169 |
> |
if (ConfigFileEntry.no_oper_flood && (HasUMode(client_p, UMODE_OPER) || IsCanFlood(client_p))) |
170 |
|
{ |
171 |
|
if (ConfigFileEntry.true_no_oper_flood) |
172 |
|
checkflood = -1; |
466 |
|
|
467 |
|
execute_callback(iorecv_cb, client_p, length, readBuf); |
468 |
|
|
469 |
< |
if (client_p->lasttime < CurrentTime) |
470 |
< |
client_p->lasttime = CurrentTime; |
471 |
< |
if (client_p->lasttime > client_p->since) |
472 |
< |
client_p->since = CurrentTime; |
469 |
> |
if (client_p->localClient->lasttime < CurrentTime) |
470 |
> |
client_p->localClient->lasttime = CurrentTime; |
471 |
> |
if (client_p->localClient->lasttime > client_p->localClient->since) |
472 |
> |
client_p->localClient->since = CurrentTime; |
473 |
|
ClearPingSent(client_p); |
474 |
|
|
475 |
|
/* Attempt to parse what we have */ |
484 |
|
&& (dbuf_length(&client_p->localClient->buf_recvq) > |
485 |
|
(unsigned int)ConfigFileEntry.client_flood)) |
486 |
|
{ |
487 |
< |
if (!(ConfigFileEntry.no_oper_flood && IsOper(client_p))) |
487 |
> |
if (!(ConfigFileEntry.no_oper_flood && HasUMode(client_p, UMODE_OPER))) |
488 |
|
{ |
489 |
|
exit_client(client_p, client_p, "Excess Flood"); |
490 |
|
return; |