]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/configreader.cpp
Merge branch 'master+gnutlsprio'
[user/henk/code/inspircd.git] / src / configreader.cpp
index d52f3de13fdc3f03690947555f0f4a6d92b6337e..a81a1b646f8ea81cc911eae6f2ad2835e21b911f 100644 (file)
@@ -53,9 +53,10 @@ static ConfigTag* CreateEmptyTag()
 ServerConfig::ServerConfig()
        : EmptyTag(CreateEmptyTag())
        , Limits(EmptyTag)
+       , NoSnoticeStack(false)
 {
        RawLog = HideBans = HideSplits = UndernetMsgPrefix = false;
-       WildcardIPv6 = InvBypassModes = true;
+       WildcardIPv6 = true;
        dns_timeout = 5;
        MaxTargets = 20;
        NetBufferSize = 10240;
@@ -426,7 +427,6 @@ void ServerConfig::Fill()
        Paths.Data = ConfValue("path")->getString("datadir", INSPIRCD_DATA_PATH);
        Paths.Log = ConfValue("path")->getString("logdir", INSPIRCD_LOG_PATH);
        Paths.Module = ConfValue("path")->getString("moduledir", INSPIRCD_MODULE_PATH);
-       InvBypassModes = options->getBool("invitebypassmodes", true);
        NoSnoticeStack = options->getBool("nosnoticestack", false);
 
        if (Network.find(' ') != std::string::npos)
@@ -575,7 +575,7 @@ void ServerConfig::Apply(ServerConfig* old, const std::string &useruid)
                 errstr << "Possible configuration error: you have not defined any <bind> blocks." << std::endl
                         << "You will need to do this if you want clients to be able to connect!" << std::endl;
 
-       if (old)
+       if (old && valid)
        {
                // On first run, ports are bound later on
                FailedPortList pl;
@@ -670,6 +670,7 @@ void ServerConfig::ApplyModules(User* user)
                std::string name;
                if (tag->readString("name", name))
                {
+                       name = ModuleManager::ExpandModName(name);
                        // if this module is already loaded, the erase will succeed, so we need do nothing
                        // otherwise, we need to add the module (which will be done later)
                        if (removed_modules.erase(name) == 0)
@@ -784,6 +785,7 @@ void ConfigReaderThread::Finish()
                 * XXX: The order of these is IMPORTANT, do not reorder them without testing
                 * thoroughly!!!
                 */
+               ServerInstance->Users.RehashCloneCounts();
                ServerInstance->XLines->CheckELines();
                ServerInstance->XLines->ApplyLines();
                ChanModeReference ban(NULL, "ban");