]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/users.cpp
Roadmap item "Fix jointhrottle to not try 'throttle' clients during a netmerge (requi...
[user/henk/code/inspircd.git] / src / users.cpp
index 34c7735fe3fb80d9dca1b223327b7b91dc7f1c9e..54fa2b872bd5d5aaef5c3f38c4a22f31f7a9ab2f 100644 (file)
@@ -861,13 +861,7 @@ void User::AddClient(InspIRCd* Instance, int socket, int port, bool iscached, in
 
                        if (r)
                        {
-                               Instance->Log(DEBUG, std::string("BanCache: Adding positive hit for ") + New->GetIPString());
-                               Instance->BanCache->AddHit(New->GetIPString(), "Z", std::string("Z-Lined: ") + r->reason);
-                               char reason[MAXBUF];
-                               if (*Instance->Config->MoronBanner)
-                                       New->WriteServ("NOTICE %s :*** %s", New->nick, Instance->Config->MoronBanner);
-                               snprintf(reason,MAXBUF,"Z-Lined: %s",r->reason);
-                               User::QuitUser(Instance, New, reason);
+                               r->Apply(New);
                                return;
                        }
                }
@@ -969,29 +963,21 @@ void User::FullConnect()
 
        if (!this->exempt)
        {
-               XLine* r = ServerInstance->XLines->MatchesLine("G",this);
+               GLine *r = (GLine *)ServerInstance->XLines->MatchesLine("G", this);
 
                if (r)
                {
                        this->muted = true;
-                       char reason[MAXBUF];
-                       if (*ServerInstance->Config->MoronBanner)
-                               this->WriteServ("NOTICE %s :*** %s", this->nick, ServerInstance->Config->MoronBanner);
-                       snprintf(reason,MAXBUF,"G-Lined: %s",r->reason);
-                       User::QuitUser(ServerInstance, this, reason);
+                       r->Apply(this);
                        return;
                }
 
-               XLine* n = ServerInstance->XLines->MatchesLine("K",this);
+               KLine *n = (KLine *)ServerInstance->XLines->MatchesLine("K", this);
 
                if (n)
                {
                        this->muted = true;
-                       char reason[MAXBUF];
-                       if (*ServerInstance->Config->MoronBanner)
-                               this->WriteServ("NOTICE %s :*** %s", this, ServerInstance->Config->MoronBanner);
-                       snprintf(reason,MAXBUF,"K-Lined: %s",n->reason);
-                       User::QuitUser(ServerInstance, this, reason);
+                       n->Apply(this);
                        return;
                }
        }
@@ -1030,6 +1016,9 @@ void User::FullConnect()
        FOREACH_MOD(I_OnPostConnect,OnPostConnect(this));
 
        ServerInstance->SNO->WriteToSnoMask('c',"Client connecting on port %d: %s!%s@%s [%s] [%s]", this->GetPort(), this->nick, this->ident, this->host, this->GetIPString(), this->fullname);
+
+       ServerInstance->Log(DEBUG, "BanCache: Adding NEGATIVE hit for %s", this->GetIPString());
+       ServerInstance->BanCache->AddHit(this->GetIPString(), "", "");
 }
 
 /** User::UpdateNick()
@@ -1853,7 +1842,7 @@ void User::PurgeEmptyChannels()
                if (i2 != ServerInstance->chanlist->end())
                {
                        FOREACH_MOD(I_OnChannelDelete,OnChannelDelete(i2->second));
-                       DELETE(i2->second);
+                       delete i2->second;
                        ServerInstance->chanlist->erase(i2);
                        this->chans.erase(*n);
                }