- ConfigReader* MyConf = new ConfigReader(ServerInstance);
- allowlist.clear();
- for (int i = 0; i < MyConf->Enumerate("securelist"); i++)
- allowlist.push_back(MyConf->ReadValue("securelist", "exception", i));
- WaitTime = MyConf->ReadInteger("securelist", "waittime", "60", 0, true);
- DELETE(MyConf);
- }
-
- void Implements(char* List)
- {
- List[I_OnRehash] = List[I_OnPreCommand] = List[I_On005Numeric] = 1;
+ AllowList newallows;
+
+ ConfigTagList tags = ServerInstance->Config->ConfTags("securehost");
+ for (ConfigIter i = tags.first; i != tags.second; ++i)
+ {
+ std::string host = i->second->getString("exception");
+ if (host.empty())
+ throw ModuleException("<securehost:exception> is a required field at " + i->second->getTagLocation());
+ newallows.push_back(host);
+ }
+
+ ConfigTag* tag = ServerInstance->Config->ConfValue("securelist");
+ exemptregistered = tag->getBool("exemptregistered");
+ showmsg = tag->getBool("showmsg", true);
+ WaitTime = tag->getDuration("waittime", 60, 1);
+ allowlist.swap(newallows);