]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/configreader.cpp
Fix the problems GreenReaper found with the windows select engine, this has never...
[user/henk/code/inspircd.git] / src / configreader.cpp
index 20e6c7c87c54fea261ac9de52e0b967a92639030..2b7555a01a4b4f221509c6aaa0294fe36016850f 100644 (file)
@@ -344,6 +344,7 @@ bool ValidateServerName(ServerConfig* conf, const char*, const char*, ValueItem
                std::string moo = std::string(data.GetString()).append(".");
                data.Set(moo.c_str());
        }
+       conf->ValidateHostname(data.GetString(), "server", "name");
        return true;
 }
 
@@ -761,6 +762,28 @@ void ServerConfig::Read(bool bail, User* user)
        /* These tags MUST occur and must ONLY occur once in the config file */
        static const char* Once[] = { "server", "admin", "files", "power", "options", NULL };
 
+       Deprecated ChangedConfig[] = {
+               {"options",     "hidelinks",            "has been moved to <security:hidelinks> as of 1.2a3"},
+               {"options",     "hidewhois",            "has been moved to <security:hidewhois> as of 1.2a3"},
+               {"options",     "userstats",            "has been moved to <security:userstats> as of 1.2a3"},
+               {"options",     "customversion",        "has been moved to <security:customversion> as of 1.2a3"},
+               {"options",     "hidesplits",           "has been moved to <security:hidesplits> as of 1.2a3"},
+               {"options",     "hidebans",             "has been moved to <security:hidebans> as of 1.2a3"},
+               {"options",     "hidekills",            "has been moved to <security:hidekills> as of 1.2a3"},
+               {"options",     "operspywhois",         "has been moved to <security:operspywhois> as of 1.2a3"},
+               {"options",     "announceinvites",      "has been moved to <security:announceinvites> as of 1.2a3"},
+               {"options",     "hidemodes",            "has been moved to <security:hidemodes> as of 1.2a3"},
+               {"options",     "maxtargets",           "has been moved to <security:maxtargets> as of 1.2a3"},
+               {"options",     "nouserdns",            "has been moved to <performance:nouserdns> as of 1.2a3"},
+               {"options",     "maxwho",               "has been moved to <performance:maxwho> as of 1.2a3"},
+               {"options",     "softlimit",            "has been moved to <performance:softlimit> as of 1.2a3"},
+               {"options",     "somaxconn",            "has been moved to <performance:somaxconn> as of 1.2a3"},
+               {"options",     "netbuffersize",        "has been moved to <performance:netbuffersize> as of 1.2a3"},
+               {"options",     "maxwho",               "has been moved to <performance:maxwho> as of 1.2a3"},
+               {"options",     "loglevel",             "1.2 does not use the loglevel value. Please define <log> tags instead."},
+               {NULL,          NULL,                   NULL}
+       };
+
        /* These tags can occur ONCE or not at all */
        InitialConfig Values[] = {
                {"performance", "softlimit",    "0",                    new ValueContainerUInt (&this->SoftLimit),              DT_INTEGER,  ValidateSoftLimit},
@@ -921,6 +944,16 @@ void ServerConfig::Read(bool bail, User* user)
                        if (!CheckOnce(Once[Index], newconfig))
                                return;
 
+               for (int Index = 0; ChangedConfig[Index].tag; Index++)
+               {
+                       char item[MAXBUF];
+                       *item = 0;
+                       if (ConfValue(newconfig, ChangedConfig[Index].tag, ChangedConfig[Index].value, "", 0, item, MAXBUF, true) || *item)
+                               throw CoreException(std::string("Your configuration contains a deprecated value: <") + ChangedConfig[Index].tag + ":" + ChangedConfig[Index].value + "> - " + ChangedConfig[Index].reason);
+                       else
+                               ServerInstance->Logs->Log("CONFIG",DEBUG,"Deprecated item <%s:%s> does not exist, good.", ChangedConfig[Index].tag, ChangedConfig[Index].value);
+               }
+
                /* Read the values of all the tags which occur once or not at all, and call their callbacks.
                 */
                for (int Index = 0; Values[Index].tag; Index++)
@@ -1709,7 +1742,7 @@ bool ServerConfig::ConfValue(ConfigDataHash &target, const std::string &tag, con
                        return true;
                }
        }
-       else if(pos == 0)
+       else if (pos == 0)
        {
                if (!default_value.empty())
                {