From d60103cada2c954f6d735c0ae4fb7d9b1b5ed844 Mon Sep 17 00:00:00 2001 From: Attila Molnar Date: Mon, 17 Mar 2014 11:05:09 +0100 Subject: Rewrite clone counting to use one map instead of two --- src/users.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/users.cpp') diff --git a/src/users.cpp b/src/users.cpp index 6a31f0a93..a78e9635b 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -497,14 +497,15 @@ void LocalUser::CheckClass(bool clone_count) } else if (clone_count) { - if ((a->GetMaxLocal()) && (ServerInstance->Users->LocalCloneCount(this) > a->GetMaxLocal())) + const UserManager::CloneCounts& clonecounts = ServerInstance->Users->GetCloneCounts(this); + if ((a->GetMaxLocal()) && (clonecounts.local > a->GetMaxLocal())) { ServerInstance->Users->QuitUser(this, "No more connections allowed from your host via this connect class (local)"); if (a->maxconnwarn) ServerInstance->SNO->WriteToSnoMask('a', "WARNING: maximum LOCAL connections (%ld) exceeded for IP %s", a->GetMaxLocal(), this->GetIPString().c_str()); return; } - else if ((a->GetMaxGlobal()) && (ServerInstance->Users->GlobalCloneCount(this) > a->GetMaxGlobal())) + else if ((a->GetMaxGlobal()) && (clonecounts.global > a->GetMaxGlobal())) { ServerInstance->Users->QuitUser(this, "No more connections allowed from your host via this connect class (global)"); if (a->maxconnwarn) -- cgit v1.3.1-10-gc9f91