]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/xline.cpp
m_spanningtree Translate user mode changes done via FMODE by 1202-protocol servers...
[user/henk/code/inspircd.git] / src / xline.cpp
index 44ae1e98ecbf980ba12e415bdf77bfdbe4705591..c48db51b1dde81ef2f72afd7f69c0dbba67f9aa7 100644 (file)
@@ -23,7 +23,6 @@
 
 #include "inspircd.h"
 #include "xline.h"
-#include "bancache.h"
 
 /** An XLineFactory specialized to generate GLine* pointers
  */
@@ -276,7 +275,7 @@ bool XLineManager::AddLine(XLine* line, User* user)
        if (!xlf)
                return false;
 
-       ServerInstance->BanCache->RemoveEntries(line->type, false); // XXX perhaps remove ELines here?
+       ServerInstance->BanCache.RemoveEntries(line->type, false); // XXX perhaps remove ELines here?
 
        if (xlf->AutoApplyToUserList(line))
                pending_lines.push_back(line);
@@ -306,7 +305,7 @@ bool XLineManager::DelLine(const char* hostmask, const std::string &type, User*
        if (simulate)
                return true;
 
-       ServerInstance->BanCache->RemoveEntries(y->second->type, true);
+       ServerInstance->BanCache.RemoveEntries(y->second->type, true);
 
        FOREACH_MOD(OnDelLine, (user, y->second));
 
@@ -430,10 +429,10 @@ void XLineManager::ExpireLine(ContainerIter container, LookupIter item)
 // applies lines, removing clients and changing nicks etc as applicable
 void XLineManager::ApplyLines()
 {
-       LocalUserList::reverse_iterator u2 = ServerInstance->Users->local_users.rbegin();
-       while (u2 != ServerInstance->Users->local_users.rend())
+       LocalUserList& list = ServerInstance->Users->local_users;
+       for (LocalUserList::iterator j = list.begin(); j != list.end(); ++j)
        {
-               LocalUser* u = *u2++;
+               LocalUser* u = *j;
 
                // Don't ban people who are exempt.
                if (u->exempt)
@@ -471,7 +470,7 @@ void XLineManager::InvokeStats(const std::string &type, int numeric, User* user,
                                ExpireLine(n, i);
                        }
                        else
-                               results.push_back(ServerInstance->Config->ServerName+" "+ConvToStr(numeric)+" "+user->nick+" :"+i->second->Displayable()+" "+
+                               results.push_back(ConvToStr(numeric)+" "+user->nick+" :"+i->second->Displayable()+" "+
                                        ConvToStr(i->second->set_time)+" "+ConvToStr(i->second->duration)+" "+i->second->source+" :"+i->second->reason);
                        i = safei;
                }
@@ -533,11 +532,11 @@ void XLine::DefaultApply(User* u, const std::string &line, bool bancache)
 {
        const std::string banReason = line + "-Lined: " + reason;
 
-       if (!ServerInstance->Config->MoronBanner.empty())
-               u->WriteNotice("*** " + ServerInstance->Config->MoronBanner);
+       if (!ServerInstance->Config->XLineMessage.empty())
+               u->WriteNotice("*** " + ServerInstance->Config->XLineMessage);
 
        if (ServerInstance->Config->HideBans)
-               ServerInstance->Users->QuitUser(u, line + "-Lined", banReason.c_str());
+               ServerInstance->Users->QuitUser(u, line + "-Lined", &banReason);
        else
                ServerInstance->Users->QuitUser(u, banReason);
 
@@ -545,7 +544,7 @@ void XLine::DefaultApply(User* u, const std::string &line, bool bancache)
        if (bancache)
        {
                ServerInstance->Logs->Log("BANCACHE", LOG_DEBUG, "BanCache: Adding positive hit (" + line + ") for " + u->GetIPString());
-               ServerInstance->BanCache->AddHit(u->GetIPString(), this->type, line + "-Lined: " + this->reason, this->duration);
+               ServerInstance->BanCache.AddHit(u->GetIPString(), this->type, banReason, this->duration);
        }
 }