diff options
Diffstat (limited to 'modules/commands/os_session.cpp')
-rw-r--r-- | modules/commands/os_session.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/commands/os_session.cpp b/modules/commands/os_session.cpp index 40412494e..41f3a420d 100644 --- a/modules/commands/os_session.cpp +++ b/modules/commands/os_session.cpp @@ -713,9 +713,10 @@ class OSSession : public Module } ++session->hits; - if (max_session_kill && session->hits >= max_session_kill && akills) + + const Anope::string &akillmask = "*@" + session->addr.mask(); + if (max_session_kill && session->hits >= max_session_kill && akills && !akills->HasEntry(akillmask)) { - const Anope::string &akillmask = "*@" + session->addr.mask(); XLine *x = new XLine(akillmask, OperServ ? OperServ->nick : "", Anope::CurTime + session_autokill_expiry, "Session limit exceeded", XLineManager::GenerateUID()); akills->AddXLine(x); akills->Send(NULL, x); |