summaryrefslogtreecommitdiff
path: root/modules/commands/os_session.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/commands/os_session.cpp')
-rw-r--r--modules/commands/os_session.cpp5
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);