X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fusermanager.cpp;h=053a308cbb164b6ea9d36e0c83d0259a4c252843;hb=f37590259eeb5cb9634773c000ea8f0fa083683a;hp=7466f385b565ec3895879590bca90b91c9357e61;hpb=c6e40d36b42a7ebf832c3a57d2816a47ee9c9a76;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/usermanager.cpp b/src/usermanager.cpp index 7466f385b..053a308cb 100644 --- a/src/usermanager.cpp +++ b/src/usermanager.cpp @@ -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)) { @@ -130,7 +131,11 @@ void UserManager::AddUser(int socket, ListenSocket* via, irc::sockets::sockaddrs ServerInstance->Logs->Log("BANCACHE", LOG_DEBUG, "BanCache: Positive hit for " + New->GetIPString()); if (!ServerInstance->Config->XLineMessage.empty()) New->WriteNumeric(ERR_YOUREBANNEDCREEP, ServerInstance->Config->XLineMessage); - this->QuitUser(New, b->Reason); + + if (ServerInstance->Config->HideBans) + this->QuitUser(New, b->Type + "-lined", &b->Reason); + else + this->QuitUser(New, b->Reason); return; } else @@ -158,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) @@ -217,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)