Limits.MaxAway = ConfValue("limits")->getInt("maxaway", 200);
InvBypassModes = options->getBool("invitebypassmodes", true);
NoSnoticeStack = options->getBool("nosnoticestack", false);
+ WelcomeNotice = options->getBool("welcomenotice", true);
range(SoftLimit, 10, ServerInstance->SE->GetMaxFds(), ServerInstance->SE->GetMaxFds(), "<performance:softlimit>");
range(MaxConn, 0, SOMAXCONN, SOMAXCONN, "<performance:somaxconn>");
ReadXLine(this, "exception", "host", ServerInstance->XLines->GetFactory("E"));
memset(DisabledUModes, 0, sizeof(DisabledUModes));
- for (const unsigned char* p = (const unsigned char*)ConfValue("disabled")->getString("usermodes").c_str(); *p; ++p)
+ std::string modes = ConfValue("disabled")->getString("usermodes");
+ for (std::string::const_iterator p = modes.begin(); p != modes.end(); ++p)
{
if (*p < 'A' || *p > ('A' + 64)) throw CoreException(std::string("Invalid usermode ")+(char)*p+" was found.");
DisabledUModes[*p - 'A'] = 1;
}
memset(DisabledCModes, 0, sizeof(DisabledCModes));
- for (const unsigned char* p = (const unsigned char*)ConfValue("disabled")->getString("chanmodes").c_str(); *p; ++p)
+ modes = ConfValue("disabled")->getString("chanmodes");
+ for (std::string::const_iterator p = modes.begin(); p != modes.end(); ++p)
{
if (*p < 'A' || *p > ('A' + 64)) throw CoreException(std::string("Invalid chanmode ")+(char)*p+" was found.");
DisabledCModes[*p - 'A'] = 1;
}
memset(HideModeLists, 0, sizeof(HideModeLists));
- for (const unsigned char* p = (const unsigned char*)ConfValue("security")->getString("hidemodes").c_str(); *p; ++p)
- HideModeLists[*p] = true;
+ modes = ConfValue("security")->getString("hidemodes");
+ for (std::string::const_iterator p = modes.begin(); p != modes.end(); ++p)
+ HideModeLists[(unsigned char) *p] = true;
std::string v = security->getString("announceinvites");
for (int Index = 0; Index * sizeof(Deprecated) < sizeof(ChangedConfig); Index++)
{
std::string dummy;
- if (ConfValue(ChangedConfig[Index].tag)->readString(ChangedConfig[Index].value, dummy, true))
- errstr << "Your configuration contains a deprecated value: <"
- << ChangedConfig[Index].tag << ":" << ChangedConfig[Index].value << "> - " << ChangedConfig[Index].reason
- << " (at " << ConfValue(ChangedConfig[Index].tag)->getTagLocation() << ")\n";
+ ConfigTagList tags = ConfTags(ChangedConfig[Index].tag);
+ for(ConfigIter i = tags.first; i != tags.second; ++i)
+ {
+ if (i->second->readString(ChangedConfig[Index].value, dummy, true))
+ errstr << "Your configuration contains a deprecated value: <"
+ << ChangedConfig[Index].tag << ":" << ChangedConfig[Index].value << "> - " << ChangedConfig[Index].reason
+ << " (at " << i->second->getTagLocation() << ")\n";
+ }
}
Fill();
return (p != name ? ++p : p);
}
-std::string ServerConfig::GetSID()
+const std::string& ServerConfig::GetSID()
{
return sid;
}