#include "inspircd.h"
#include "xline.h"
-#include "bancache.h"
/** An XLineFactory specialized to generate GLine* pointers
*/
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);
lookup_lines[line->type][line->Displayable().c_str()] = line;
line->OnAdd();
- FOREACH_MOD(I_OnAddLine,OnAddLine(user, line));
+ FOREACH_MOD(OnAddLine, (user, line));
return true;
}
if (simulate)
return true;
- ServerInstance->BanCache->RemoveEntries(y->second->type, true);
+ ServerInstance->BanCache.RemoveEntries(y->second->type, true);
- FOREACH_MOD(I_OnDelLine,OnDelLine(user, y->second));
+ FOREACH_MOD(OnDelLine, (user, y->second));
y->second->Unset();
// removes lines that have expired
void XLineManager::ExpireLine(ContainerIter container, LookupIter item)
{
- FOREACH_MOD(I_OnExpireLine, OnExpireLine(item->second));
+ FOREACH_MOD(OnExpireLine, (item->second));
item->second->DisplayExpiry();
item->second->Unset();
// 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)
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;
}
{
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);
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);
}
}