summaryrefslogtreecommitdiff
path: root/src/sessions.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sessions.c')
-rw-r--r--src/sessions.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/sessions.c b/src/sessions.c
index 27c973d69..3ea37d9ca 100644
--- a/src/sessions.c
+++ b/src/sessions.c
@@ -151,9 +151,14 @@ int add_session(const char *nick, const char *host, char *hostip)
if (SessionLimitDetailsLoc)
ircdproto->SendMessage(findbot(s_OperServ), nick, "%s", SessionLimitDetailsLoc);
- /* We don't use kill_user() because a user stucture has not yet
- * been created. Simply kill the user. -TheShadow
+ /* Previously on IRCds that send a QUIT (InspIRCD) when a user is killed, the session for a host was
+ * decremented in do_quit, which caused problems and fixed here
+ *
+ * Now, we create the user struture before calling this (to fix some user tracking issues..
+ * read users.c), so we must increment this here no matter what because it will either be
+ * decremented in do_kill or in do_quit - Adam
*/
+ session->count++;
kill_user(s_OperServ, nick, "Session limit exceeded");
session->hits++;