]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/usermanager.cpp
m_spanningtree Remove unneeded #includes
[user/henk/code/inspircd.git] / src / usermanager.cpp
index 0088d1c7f3b8cea1d3e3df7432ef5f8c4be7dd82..abd450b1134b1f29de7251e9d36d77ee38667c30 100644 (file)
@@ -37,7 +37,7 @@ void UserManager::AddUser(int socket, ListenSocket* via, irc::sockets::sockaddrs
        }
        catch (...)
        {
-               ServerInstance->Logs->Log("USERS", DEFAULT,"*** WTF *** Duplicated UUID! -- Crack smoking monkeys have been unleashed.");
+               ServerInstance->Logs->Log("USERS", LOG_DEFAULT,"*** WTF *** Duplicated UUID! -- Crack smoking monkeys have been unleashed.");
                ServerInstance->SNO->WriteToSnoMask('a', "WARNING *** Duplicate UUID allocated!");
                return;
        }
@@ -54,11 +54,11 @@ void UserManager::AddUser(int socket, ListenSocket* via, irc::sockets::sockaddrs
                }
                catch (CoreException& modexcept)
                {
-                       ServerInstance->Logs->Log("SOCKET", DEBUG,"%s threw an exception: %s", modexcept.GetSource(), modexcept.GetReason());
+                       ServerInstance->Logs->Log("SOCKET", LOG_DEBUG,"%s threw an exception: %s", modexcept.GetSource(), modexcept.GetReason());
                }
        }
 
-       ServerInstance->Logs->Log("USERS", DEBUG,"New user fd: %d", socket);
+       ServerInstance->Logs->Log("USERS", LOG_DEBUG,"New user fd: %d", socket);
 
        this->unregistered_count++;
 
@@ -108,7 +108,7 @@ void UserManager::AddUser(int socket, ListenSocket* via, irc::sockets::sockaddrs
                if (!b->Type.empty() && !New->exempt)
                {
                        /* user banned */
-                       ServerInstance->Logs->Log("BANCACHE", DEBUG, "BanCache: Positive hit for " + New->GetIPString());
+                       ServerInstance->Logs->Log("BANCACHE", LOG_DEBUG, "BanCache: Positive hit for " + New->GetIPString());
                        if (!ServerInstance->Config->MoronBanner.empty())
                                New->WriteServ("NOTICE %s :*** %s", New->nick.c_str(), ServerInstance->Config->MoronBanner.c_str());
                        this->QuitUser(New, b->Reason);
@@ -116,7 +116,7 @@ void UserManager::AddUser(int socket, ListenSocket* via, irc::sockets::sockaddrs
                }
                else
                {
-                       ServerInstance->Logs->Log("BANCACHE", DEBUG, "BanCache: Negative hit for " + New->GetIPString());
+                       ServerInstance->Logs->Log("BANCACHE", LOG_DEBUG, "BanCache: Negative hit for " + New->GetIPString());
                }
        }
        else
@@ -135,7 +135,7 @@ void UserManager::AddUser(int socket, ListenSocket* via, irc::sockets::sockaddrs
 
        if (!ServerInstance->SE->AddFd(eh, FD_WANT_FAST_READ | FD_WANT_EDGE_WRITE))
        {
-               ServerInstance->Logs->Log("USERS", DEBUG,"Internal error on new connection");
+               ServerInstance->Logs->Log("USERS", LOG_DEBUG,"Internal error on new connection");
                this->QuitUser(New, "Internal error handling connection");
        }
 
@@ -167,19 +167,19 @@ void UserManager::QuitUser(User *user, const std::string &quitreason, const char
 {
        if (user->quitting)
        {
-               ServerInstance->Logs->Log("CULLLIST",DEBUG, "*** Warning *** - You tried to quit a user (%s) twice. Did your module call QuitUser twice?", user->nick.c_str());
+               ServerInstance->Logs->Log("CULLLIST",LOG_DEBUG, "*** Warning *** - You tried to quit a user (%s) twice. Did your module call QuitUser twice?", user->nick.c_str());
                return;
        }
 
        if (IS_SERVER(user))
        {
-               ServerInstance->Logs->Log("CULLLIST",DEBUG, "*** Warning *** - You tried to quit a fake user (%s)", user->nick.c_str());
+               ServerInstance->Logs->Log("CULLLIST",LOG_DEBUG, "*** Warning *** - You tried to quit a fake user (%s)", user->nick.c_str());
                return;
        }
 
        user->quitting = true;
 
-       ServerInstance->Logs->Log("USERS", DEBUG, "QuitUser: %s=%s '%s'", user->uuid.c_str(), user->nick.c_str(), quitreason.c_str());
+       ServerInstance->Logs->Log("USERS", LOG_DEBUG, "QuitUser: %s=%s '%s'", user->uuid.c_str(), user->nick.c_str(), quitreason.c_str());
        user->Write("ERROR :Closing link: (%s@%s) [%s]", user->ident.c_str(), user->host.c_str(), *operreason ? operreason : quitreason.c_str());
 
        std::string reason;
@@ -231,7 +231,6 @@ void UserManager::QuitUser(User *user, const std::string &quitreason, const char
                                        user->server.c_str(), user->GetFullRealHost().c_str(), user->GetIPString().c_str(), oper_reason.c_str());
                        }
                }
-               user->AddToWhoWas();
        }
 
        user_hash::iterator iter = this->clientlist->find(user->nick);
@@ -239,7 +238,7 @@ void UserManager::QuitUser(User *user, const std::string &quitreason, const char
        if (iter != this->clientlist->end())
                this->clientlist->erase(iter);
        else
-               ServerInstance->Logs->Log("USERS", DEBUG, "iter == clientlist->end, can't remove them from hash... problematic..");
+               ServerInstance->Logs->Log("USERS", LOG_DEBUG, "iter == clientlist->end, can't remove them from hash... problematic..");
 
        ServerInstance->Users->uuidlist->erase(user->uuid);
 }
@@ -390,3 +389,14 @@ int UserManager::ModeCount(const char mode)
        }
        return c;
 }
+
+void UserManager::GarbageCollect()
+{
+       // Reset the already_sent IDs so we don't wrap it around and drop a message
+       LocalUser::already_sent_id = 0;
+       for (LocalUserList::const_iterator i = this->local_users.begin(); i != this->local_users.end(); i++)
+       {
+               (**i).already_sent = 0;
+               (**i).RemoveExpiredInvites();
+       }
+}