]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Call IOHookProviders after the socket has been added to the SocketEngine in UserManag...
authorAttila Molnar <attilamolnar@hush.com>
Wed, 24 Aug 2016 10:18:27 +0000 (12:18 +0200)
committerAttila Molnar <attilamolnar@hush.com>
Wed, 24 Aug 2016 10:18:27 +0000 (12:18 +0200)
src/usermanager.cpp

index 71ccd09da6679322e185e64c2b00a71d3e851000..15c86157bff3784053fcbb596b9d3adefb909819 100644 (file)
@@ -71,14 +71,6 @@ void UserManager::AddUser(int socket, ListenSocket* via, irc::sockets::sockaddrs
        LocalUser* const New = new LocalUser(socket, client, server);
        UserIOHandler* eh = &New->eh;
 
-       // If this listener has an IO hook provider set then tell it about the connection
-       for (ListenSocket::IOHookProvList::iterator i = via->iohookprovs.begin(); i != via->iohookprovs.end(); ++i)
-       {
-               ListenSocket::IOHookProvRef& iohookprovref = *i;
-               if (iohookprovref)
-                       iohookprovref->OnAccept(eh, client, server);
-       }
-
        ServerInstance->Logs->Log("USERS", LOG_DEBUG, "New user fd: %d", socket);
 
        this->unregistered_count++;
@@ -95,6 +87,14 @@ void UserManager::AddUser(int socket, ListenSocket* via, irc::sockets::sockaddrs
                return;
        }
 
+       // If this listener has an IO hook provider set then tell it about the connection
+       for (ListenSocket::IOHookProvList::iterator i = via->iohookprovs.begin(); i != via->iohookprovs.end(); ++i)
+       {
+               ListenSocket::IOHookProvRef& iohookprovref = *i;
+               if (iohookprovref)
+                       iohookprovref->OnAccept(eh, client, server);
+       }
+
        if (this->local_users.size() > ServerInstance->Config->SoftLimit)
        {
                ServerInstance->SNO->WriteToSnoMask('a', "Warning: softlimit value has been reached: %d clients", ServerInstance->Config->SoftLimit);