// 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;
}
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);
}
}