summaryrefslogtreecommitdiff
path: root/src/config.c
diff options
context:
space:
mode:
authorNaram Qashat cyberbotx@cyberbotx.com <Naram Qashat cyberbotx@cyberbotx.com@5417fbe8-f217-4b02-8779-1006273d7864>2008-11-09 23:41:28 +0000
committerNaram Qashat cyberbotx@cyberbotx.com <Naram Qashat cyberbotx@cyberbotx.com@5417fbe8-f217-4b02-8779-1006273d7864>2008-11-09 23:41:28 +0000
commit93985d17a8f6ac33d4174df2073a2cf79e9b30c5 (patch)
tree934e0cdfa43bc1d1daa701994bb9240147d6fb6e /src/config.c
parent8cf37b7f2e57dc3e75dd7b15e66e3ae2e83e4718 (diff)
Added sendmailpath directive to mail block in new config.
Added ValidateMail function to validate certain mail block config directives only when usemail is enabled. git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1622 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/config.c')
-rw-r--r--src/config.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/config.c b/src/config.c
index 688db97e2..02525e92b 100644
--- a/src/config.c
+++ b/src/config.c
@@ -543,6 +543,16 @@ bool ValidateNickLen(ServerConfig *, const char *, const char *, ValueItem &data
return true;
}
+bool ValidateMail(ServerConfig *, const char *tag, const char *value, ValueItem &data)
+{
+ if (UseMail) {
+ if (static_cast<std::string>(value) == "sendmailpath") {
+ if (!*data.GetString()) throw ConfigException(static_cast<std::string>("The value for <") + tag + ":" + value + "> cannot be empty when e-mail is enabled!");
+ }
+ }
+ return true;
+}
+
void ServerConfig::ReportConfigError(const std::string &errormessage, bool bail)
{
alog("There were errors in your configuration file: %s", errormessage.c_str());
@@ -653,6 +663,7 @@ int ServerConfig::Read(bool bail)
{"nickserv", "nicktracking", "no", new ValueContainerBool(&NSNickTracking), DT_BOOLEAN, NoValidation},
{"nickserv", "addaccessonreg", "no", new ValueContainerBool(&NSAddAccessOnReg), DT_BOOLEAN, NoValidation},
{"mail", "usemail", "no", new ValueContainerBool(&UseMail), DT_BOOLEAN, ValidateEmailReg},
+ {"mail", "sendmailpath", "", new ValueContainerChar(&SendMailPath), DT_CHARPTR, ValidateMail},
{"chanserv", "nick", "ChanServ", new ValueContainerChar(&s_ChanServ), DT_CHARPTR | DT_NORELOAD, ValidateNotEmpty},
{"chanserv", "description", "Channel Registration Service", new ValueContainerChar(&desc_ChanServ), DT_CHARPTR | DT_NORELOAD, ValidateNotEmpty},
{"chanserv", "database", "chan.db", new ValueContainerChar(&ChanDBName), DT_CHARPTR, ValidateNotEmpty},
@@ -1351,7 +1362,6 @@ Directive directives[] = {
{PARAM_STRING, 0, &RemotePassword3}}},
{"RestrictMail", {{PARAM_SET, PARAM_RELOAD, &RestrictMail}}},
{"RestrictOperNicks", {{PARAM_SET, PARAM_RELOAD, &RestrictOperNicks}}},
- {"SendMailPath", {{PARAM_STRING, PARAM_RELOAD, &SendMailPath}}},
{"SendFrom", {{PARAM_STRING, PARAM_RELOAD, &SendFrom}}},
{"HideStatsO", {{PARAM_SET, PARAM_RELOAD, &HideStatsO}}},
{"GlobalOnCycle", {{PARAM_SET, PARAM_RELOAD, &GlobalOnCycle}}},
@@ -1890,7 +1900,6 @@ int read_config(int reload)
}
if (UseMail) {
- CHECK(SendMailPath);
CHECK(SendFrom);
}