]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/usermanager.cpp
Fix erroneously limiting to the size of sa instead of sun_path.
[user/henk/code/inspircd.git] / src / usermanager.cpp
index 968d5db0017fe282430c9405ae9b0b5e156d9b6f..053a308cbb164b6ea9d36e0c83d0259a4c252843 100644 (file)
@@ -76,6 +76,7 @@ void UserManager::AddUser(int socket, ListenSocket* via, irc::sockets::sockaddrs
        this->clientlist[New->nick] = New;
        this->AddClone(New);
        this->local_users.push_front(New);
+       FOREACH_MOD(OnUserInit, (New));
 
        if (!SocketEngine::AddFd(eh, FD_WANT_FAST_READ | FD_WANT_EDGE_WRITE))
        {
@@ -132,7 +133,7 @@ void UserManager::AddUser(int socket, ListenSocket* via, irc::sockets::sockaddrs
                                New->WriteNumeric(ERR_YOUREBANNEDCREEP, ServerInstance->Config->XLineMessage);
 
                        if (ServerInstance->Config->HideBans)
-                               this->QuitUser(New, b->Type + "-Lined", &b->Reason);
+                               this->QuitUser(New, b->Type + "-lined", &b->Reason);
                        else
                                this->QuitUser(New, b->Reason);
                        return;
@@ -162,8 +163,6 @@ void UserManager::AddUser(int socket, ListenSocket* via, irc::sockets::sockaddrs
        FOREACH_MOD(OnSetUserIP, (New));
        if (New->quitting)
                return;
-
-       FOREACH_MOD(OnUserInit, (New));
 }
 
 void UserManager::QuitUser(User* user, const std::string& quitreason, const std::string* operreason)
@@ -221,6 +220,7 @@ void UserManager::QuitUser(User* user, const std::string& quitreason, const std:
 
        uuidlist.erase(user->uuid);
        user->PurgeEmptyChannels();
+       user->UnOper();
 }
 
 void UserManager::AddClone(User* user)