]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/configreader.cpp
Remove the PKG_CONFIG_PATH extension code from the build system.
[user/henk/code/inspircd.git] / src / configreader.cpp
index 49ef236d4087bd5954f3e4d951e58b8cf5fe33af..974e52abf137cd3488023463db85a88dcf6bd3b8 100644 (file)
@@ -52,6 +52,8 @@ static ConfigTag* CreateEmptyTag()
 
 ServerConfig::ServerConfig()
        : EmptyTag(CreateEmptyTag())
+       , Limits(EmptyTag)
+       , NoSnoticeStack(false)
 {
        RawLog = HideBans = HideSplits = UndernetMsgPrefix = false;
        WildcardIPv6 = InvBypassModes = true;
@@ -574,7 +576,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;
@@ -669,6 +671,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)
@@ -783,6 +786,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");