std::string moo = std::string(data.GetString()).append(".");
data.Set(moo.c_str());
}
+ conf->ValidateHostname(data.GetString(), "server", "name");
return true;
}
/* 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},
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++)
return true;
}
}
- else if(pos == 0)
+ else if (pos == 0)
{
if (!default_value.empty())
{