mirror of
https://github.com/anope/anope.git
synced 2026-07-06 18:43:13 +02:00
Added akillexpire directive to defcon block in new config.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1494 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
@@ -906,4 +906,10 @@ defcon
|
||||
* New session limit to use when a DefCon level is using "reduced" session limiting.
|
||||
*/
|
||||
#sessionlimit = 2
|
||||
|
||||
/*
|
||||
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
|
||||
* network.
|
||||
*/
|
||||
#akillexpire = 5m
|
||||
}
|
||||
|
||||
+1
-1
@@ -507,7 +507,7 @@ E int checkDefCon(int level);
|
||||
E void resetDefCon(int level);
|
||||
E int DefConSessionLimit;
|
||||
E char *DefConTimeOut;
|
||||
E char *DefConAKILL;
|
||||
E time_t DefConAKILL;
|
||||
E char *DefConChanModes;
|
||||
E int GlobalOnDefcon;
|
||||
E int GlobalOnDefconMore;
|
||||
|
||||
+3
-3
@@ -287,7 +287,7 @@ static std::string DefCon4;
|
||||
int DefCon[6];
|
||||
char *DefConTimeOut;
|
||||
int DefConSessionLimit;
|
||||
char *DefConAKILL;
|
||||
time_t DefConAKILL;
|
||||
char *DefConChanModes;
|
||||
int GlobalOnDefcon;
|
||||
int GlobalOnDefconMore;
|
||||
@@ -523,7 +523,7 @@ bool ValidateDefCon(ServerConfig *, const char *tag, const char *value, ValueIte
|
||||
if (static_cast<std::string>(value).substr(0, 5) == "level" && isdigit(value[5])) {
|
||||
if (!*data.GetString()) throw ConfigException(static_cast<std::string>("The value for <") + tag + ":" + value + "> cannot be empty when DefCon is enabled!");
|
||||
}
|
||||
else if (static_cast<std::string>(value) == "sessionlimit") {
|
||||
else if (static_cast<std::string>(value) == "sessionlimit" || static_cast<std::string>(value) == "akillexpire") {
|
||||
if (!data.GetInteger()) throw ConfigException(static_cast<std::string>("The value for <") + tag + ":" + value + "> must be non-zero when DefCon is enabled!");
|
||||
}
|
||||
}
|
||||
@@ -701,6 +701,7 @@ int ServerConfig::Read(bool bail)
|
||||
{"defcon", "level2", "", new ValueContainerString(&DefCon2), DT_STRING, ValidateDefCon},
|
||||
{"defcon", "level1", "", new ValueContainerString(&DefCon1), DT_STRING, ValidateDefCon},
|
||||
{"defcon", "sessionlimit", "0", new ValueContainerInt(&DefConSessionLimit), DT_INTEGER, ValidateDefCon},
|
||||
{"defcon", "akillexpire", "0", new ValueContainerTime(&DefConAKILL), DT_TIME, ValidateDefCon},
|
||||
{NULL, NULL, NULL, NULL, DT_NOTHING, NoValidation}
|
||||
};
|
||||
/* These tags can occur multiple times, and therefore they have special code to read them
|
||||
@@ -1281,7 +1282,6 @@ Directive directives[] = {
|
||||
{"DontQuoteAddresses",
|
||||
{{PARAM_SET, PARAM_RELOAD, &DontQuoteAddresses}}},
|
||||
{"DumpCore", {{PARAM_SET, 0, &DumpCore}}},
|
||||
{"DefConAkillExpire", {{PARAM_STRING, PARAM_RELOAD, &DefConAKILL}}},
|
||||
{"DefConChanModes", {{PARAM_STRING, PARAM_RELOAD, &DefConChanModes}}},
|
||||
{"DefConTimeOut", {{PARAM_STRING, PARAM_RELOAD, &DefConTimeOut}}},
|
||||
{"DefConAkillReason",
|
||||
|
||||
+1
-1
@@ -589,7 +589,7 @@ User *do_nick(const char *source, const char *nick, const char *username, const
|
||||
strncat(mask, host, HOSTMAX);
|
||||
alog("DEFCON: adding akill for %s", mask);
|
||||
add_akill(NULL, mask, s_OperServ,
|
||||
time(NULL) + dotime(DefConAKILL),
|
||||
time(NULL) + DefConAKILL,
|
||||
DefConAkillReason ? DefConAkillReason :
|
||||
"DEFCON AKILL");
|
||||
if (check_akill(nick, username, host, vhost, ipbuf)) {
|
||||
|
||||
Reference in New Issue
Block a user