diff options
-rw-r--r-- | src/inspircd_io.cpp | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/src/inspircd_io.cpp b/src/inspircd_io.cpp index b71fc2f1e..3716057af 100644 --- a/src/inspircd_io.cpp +++ b/src/inspircd_io.cpp @@ -96,7 +96,8 @@ bool ServerConfig::DelIOHook(int port) bool ServerConfig::CheckOnce(char* tag, bool bail, userrec* user) { - if (ConfValueEnum(tag,&Config->config_f) > 1) + int count = ConfValueEnum(tag,&Config->config_f); + if (count > 1) { if (bail) { @@ -118,6 +119,28 @@ bool ServerConfig::CheckOnce(char* tag, bool bail, userrec* user) } return false; } + if (count < 1) + { + if (bail) + { + printf("There were errors in your configuration:\nYou have not defined a <%s> tag, this is required.",tag); + Exit(0); + } + else + { + if (user) + { + WriteServ(user->fd,"There were errors in your configuration:"); + WriteServ(user->fd,"You have not defined a <%s> tag, this is required.",tag); + } + else + { + WriteOpers("There were errors in the configuration file:"); + WriteOpers("You have not defined a <%s> tag, this is required.",tag); + } + } + return false; + } return true; } @@ -167,8 +190,7 @@ void ServerConfig::Read(bool bail, userrec* user) */ if (!CheckOnce("server",bail,user) || !CheckOnce("admin",bail,user) || !CheckOnce("files",bail,user) || !CheckOnce("power",bail,user) || !CheckOnce("options",bail,user) - || !CheckOnce("dns",bail,user) || !CheckOnce("options",bail,user) - || !CheckOnce("disabled",bail,user) || !CheckOnce("pid",bail,user)) + || !CheckOnce("dns",bail,user) || !CheckOnce("pid",bail,user)) { return; } |