]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/configreader.cpp
Move the definition of the BanCacheHit constructor into the source file from the...
[user/henk/code/inspircd.git] / src / configreader.cpp
index baeffb015f4730c90625b0ad7c4830095b29be21..15d9298b6503c1751ab0e47ed503e843e1808b4c 100644 (file)
@@ -36,7 +36,6 @@ ServerConfig::ServerConfig()
        dns_timeout = 5;
        MaxTargets = 20;
        NetBufferSize = 10240;
-       SoftLimit = SocketEngine::GetMaxFds();
        MaxConn = SOMAXCONN;
        MaxChans = 20;
        OperMaxChans = 30;
@@ -176,7 +175,7 @@ void ServerConfig::CrossCheckConnectBlocks(ServerConfig* current)
                for(ClassVector::iterator i = current->Classes.begin(); i != current->Classes.end(); ++i)
                {
                        ConnectClass* c = *i;
-                       if (c->name.substr(0, 8) != "unnamed-")
+                       if (c->name.compare(0, 8, "unnamed-", 8))
                        {
                                oldBlocksByMask["n" + c->name] = c;
                        }
@@ -366,7 +365,7 @@ void ServerConfig::Fill()
                if (!nsid.empty() && nsid != sid)
                        throw CoreException("You must restart to change the server id");
        }
-       SoftLimit = ConfValue("performance")->getInt("softlimit", SocketEngine::GetMaxFds(), 10, SocketEngine::GetMaxFds());
+       SoftLimit = ConfValue("performance")->getInt("softlimit", (SocketEngine::GetMaxFds() > 0 ? SocketEngine::GetMaxFds() : LONG_MAX), 10);
        CCOnConnect = ConfValue("performance")->getBool("clonesonconnect", true);
        MaxConn = ConfValue("performance")->getInt("somaxconn", SOMAXCONN);
        XLineMessage = options->getString("xlinemessage", options->getString("moronbanner", "You're banned!"));
@@ -392,7 +391,7 @@ void ServerConfig::Fill()
        DefaultModes = options->getString("defaultmodes", "not");
        PID = ConfValue("pid")->getString("file");
        MaxChans = ConfValue("channels")->getInt("users", 20);
-       OperMaxChans = ConfValue("channels")->getInt("opers", 60);
+       OperMaxChans = ConfValue("channels")->getInt("opers");
        c_ipv4_range = ConfValue("cidr")->getInt("ipv4clone", 32);
        c_ipv6_range = ConfValue("cidr")->getInt("ipv6clone", 128);
        Limits.NickMax = ConfValue("limits")->getInt("maxnick", 32);
@@ -406,10 +405,10 @@ void ServerConfig::Fill()
        Limits.MaxGecos = ConfValue("limits")->getInt("maxgecos", 128);
        Limits.MaxAway = ConfValue("limits")->getInt("maxaway", 200);
        Limits.MaxLine = ConfValue("limits")->getInt("maxline", 512);
-       Paths.Config = ConfValue("path")->getString("configdir", CONFIG_PATH);
-       Paths.Data = ConfValue("path")->getString("datadir", DATA_PATH);
-       Paths.Log = ConfValue("path")->getString("logdir", LOG_PATH);
-       Paths.Module = ConfValue("path")->getString("moduledir", MOD_PATH);
+       Paths.Config = ConfValue("path")->getString("configdir", INSPIRCD_CONFIG_PATH);
+       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);
 
@@ -586,7 +585,10 @@ void ServerConfig::Apply(ServerConfig* old, const std::string &useruid)
        User* user = useruid.empty() ? NULL : ServerInstance->FindNick(useruid);
 
        if (!valid)
+       {
                ServerInstance->Logs->Log("CONFIG", LOG_DEFAULT, "There were errors in your configuration file:");
+               Classes.clear();
+       }
 
        while (errstr.good())
        {