/* Needs forward declaration */
bool ValidateDnsServer(ServerConfig* conf, const char* tag, const char* value, ValueItem &data);
+bool DoneELine(ServerConfig* conf, const char* tag);
ServerConfig::ServerConfig(InspIRCd* Instance) : ServerInstance(Instance)
{
const char* ipmask = values[1].GetString();
ZLine* zl = new ZLine(conf->GetInstance(), conf->GetInstance()->Time(), 0, "<Config>", reason, ipmask);
- if (!conf->GetInstance()->XLines->AddLine(zl))
+ if (!conf->GetInstance()->XLines->AddLine(zl, NULL))
delete zl;
return true;
const char* nick = values[1].GetString();
QLine* ql = new QLine(conf->GetInstance(), conf->GetInstance()->Time(), 0, "<Config>", reason, nick);
- if (!conf->GetInstance()->XLines->AddLine(ql))
+ if (!conf->GetInstance()->XLines->AddLine(ql, NULL))
delete ql;
return true;
IdentHostPair ih = xlm->IdentSplit(host);
KLine* kl = new KLine(conf->GetInstance(), conf->GetInstance()->Time(), 0, "<Config>", reason, ih.first.c_str(), ih.second.c_str());
- if (!xlm->AddLine(kl))
+ if (!xlm->AddLine(kl, NULL))
delete kl;
return true;
}
IdentHostPair ih = xlm->IdentSplit(host);
ELine* el = new ELine(conf->GetInstance(), conf->GetInstance()->Time(), 0, "<Config>", reason, ih.first.c_str(), ih.second.c_str());
- if (!xlm->AddLine(el))
+ if (!xlm->AddLine(el, NULL))
delete el;
return true;
}
+// this should probably be moved to configreader, but atm it relies on CheckELines above.
+bool DoneELine(ServerConfig* conf, const char* tag)
+{
+ for (std::vector<User*>::const_iterator u2 = conf->GetInstance()->local_users.begin(); u2 != conf->GetInstance()->local_users.end(); u2++)
+ {
+ User* u = (User*)(*u2);
+ u->exempt = false;
+ }
+
+ conf->GetInstance()->XLines->CheckELines(conf->GetInstance()->XLines->lookup_lines['E']);
+ return true;
+}
+