From 84b7dc1bf77a2420c323ba5c8627aa00a70e2f6a Mon Sep 17 00:00:00 2001 From: brain Date: Sun, 15 Apr 2007 11:47:54 +0000 Subject: Add tweaks to support feature request in bug #256, now awaiting QA test git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6799 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/configreader.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/configreader.cpp') diff --git a/src/configreader.cpp b/src/configreader.cpp index 56ea49289..dbed24ae5 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -320,6 +320,13 @@ bool ValidateMotd(ServerConfig* conf, const char* tag, const char* value, ValueI return true; } +bool ValidateNotEmpty(ServerConfig* conf, const char* tag, const char* value, ValueItem &data) +{ + if (!*data.GetString()) + throw CoreException(std::string("The value for ")+tag+" cannot be empty!"); + return true; +} + bool ValidateRules(ServerConfig* conf, const char* tag, const char* value, ValueItem &data) { conf->ReadFile(conf->RULES, data.GetString()); @@ -569,9 +576,9 @@ void ServerConfig::Read(bool bail, userrec* user) {"admin", "nick", "Misconfigured", new ValueContainerChar (this->AdminNick), DT_CHARPTR, NoValidation}, {"files", "motd", "", new ValueContainerChar (this->motd), DT_CHARPTR, ValidateMotd}, {"files", "rules", "", new ValueContainerChar (this->rules), DT_CHARPTR, ValidateRules}, - {"power", "diepass", "", new ValueContainerChar (this->diepass), DT_CHARPTR, NoValidation}, + {"power", "diepass", "", new ValueContainerChar (this->diepass), DT_CHARPTR, ValidateNotEmpty}, {"power", "pause", "", new ValueContainerInt (&this->DieDelay), DT_INTEGER, NoValidation}, - {"power", "restartpass", "", new ValueContainerChar (this->restartpass), DT_CHARPTR, NoValidation}, + {"power", "restartpass", "", new ValueContainerChar (this->restartpass), DT_CHARPTR, ValidateNotEmpty}, {"options", "prefixquit", "", new ValueContainerChar (this->PrefixQuit), DT_CHARPTR, NoValidation}, {"options", "suffixquit", "", new ValueContainerChar (this->SuffixQuit), DT_CHARPTR, NoValidation}, {"options", "fixedquit", "", new ValueContainerChar (this->FixedQuit), DT_CHARPTR, NoValidation}, -- cgit v1.2.3