class NewIsChannelHandler : public HandlerBase1<bool, const std::string&>
{
public:
- NewIsChannelHandler() { }
- ~NewIsChannelHandler() { }
bool Call(const std::string&);
};
void init() CXX11_OVERRIDE
{
ServerInstance->IsChannel = &myhandler;
- OnRehash(NULL);
}
void ValidateChans()
{
badchan = true;
std::vector<Channel*> chanvec;
- for (chan_hash::const_iterator i = ServerInstance->chanlist->begin(); i != ServerInstance->chanlist->end(); ++i)
+ const chan_hash& chans = ServerInstance->GetChans();
+ for (chan_hash::const_iterator i = chans.begin(); i != chans.end(); ++i)
{
if (!ServerInstance->IsChannel(i->second->name))
chanvec.push_back(i->second);
badchan = false;
}
- void OnRehash(User* user) CXX11_OVERRIDE
+ void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
ConfigTag* tag = ServerInstance->Config->ConfValue("channames");
std::string denyToken = tag->getString("denyrange");
std::string allowToken = tag->getString("allowrange");
+
+ if (!denyToken.compare(0, 2, "0-"))
+ denyToken[0] = '1';
+ if (!allowToken.compare(0, 2, "0-"))
+ allowToken[0] = '1';
+
allowedmap.set();
irc::portparser denyrange(denyToken, false);