RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters)
{
- return ROUTE_LOCALONLY;
+ if (IS_LOCAL(user))
+ return ROUTE_LOCALONLY; // spanningtree will send ADDLINE
+
+ return ROUTE_BROADCAST;
}
};
{
OnRehash(NULL);
- ServerInstance->AddCommand(&r);
+ ServerInstance->Modules->AddService(r);
ServerInstance->XLines->RegisterFactory(&f);
Implementation eventlist[] = { I_OnUserConnect, I_OnRehash, I_OnUserPostNick, I_OnStats, I_OnBackgroundTimer };
- ServerInstance->Modules->Attach(eventlist, this, 5);
+ ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
}
virtual ~ModuleRLine()
virtual void OnRehash(User *user)
{
- ConfigReader Conf;
+ ConfigTag* tag = ServerInstance->Config->ConfValue("rline");
- MatchOnNickChange = Conf.ReadFlag("rline", "matchonnickchange", 0);
- ZlineOnMatch = Conf.ReadFlag("rline", "zlineonmatch", 0);
- std::string newrxengine = Conf.ReadValue("rline", "engine", 0);
+ MatchOnNickChange = tag->getBool("matchonnickchange");
+ ZlineOnMatch = tag->getBool("zlineonmatch");
+ std::string newrxengine = tag->getString("engine");
if (newrxengine.empty())
rxfactory.SetProvider("regex");