diff options
author | Adam <Adam@anope.org> | 2012-09-07 12:04:25 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2012-09-07 12:04:25 -0400 |
commit | 9d6626f70ce866e2e98ce7ce607695b14a8375b7 (patch) | |
tree | f9cf4e1bb295d4707be097898c4544101fcd7340 /src/config.cpp | |
parent | 5c07863ad503edfc8deb1dee38e6222602db54fd (diff) |
Made session tracking ip based, not host based, and allow using CIDR to group multiple ips from one subnet to one session
Diffstat (limited to 'src/config.cpp')
-rw-r--r-- | src/config.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/config.cpp b/src/config.cpp index 91cf8a805..fb1849e6c 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -214,6 +214,9 @@ ServerConfig::ServerConfig() : config_data(), NSDefFlags(NickCoreFlagStrings), C Log() << "Unknown casemap " << this->CaseMap << " - casemap not changed"; } } + + if (this->SessionIPv4CIDR > 32 || this->SessionIPv6CIDR > 128) + throw ConfigException("Session CIDR value out of range"); } bool ServerConfig::CheckOnce(const Anope::string &tag) @@ -1284,6 +1287,8 @@ ConfigItems::ConfigItems(ServerConfig *conf) {"operserv", "sessionlimitdetailsloc", "", new ValueContainerString(&conf->SessionLimitDetailsLoc), DT_STRING, NoValidation}, {"operserv", "maxsessionkill", "0", new ValueContainerUInt(&conf->MaxSessionKill), DT_UINTEGER, NoValidation}, {"operserv", "sessionautokillexpiry", "0", new ValueContainerTime(&conf->SessionAutoKillExpiry), DT_TIME, NoValidation}, + {"operserv", "session_ipv4_cidr", "32", new ValueContainerUInt(&conf->SessionIPv4CIDR), DT_UINTEGER | DT_NORELOAD, NoValidation}, + {"operserv", "session_ipv6_cidr", "128", new ValueContainerUInt(&conf->SessionIPv6CIDR), DT_UINTEGER | DT_NORELOAD, NoValidation}, {"operserv", "addakiller", "no", new ValueContainerBool(&conf->AddAkiller), DT_BOOLEAN, NoValidation}, {"operserv", "akillids", "no", new ValueContainerBool(&conf->AkillIds), DT_BOOLEAN, NoValidation}, {"operserv", "opersonly", "no", new ValueContainerBool(&conf->OSOpersOnly), DT_BOOLEAN, NoValidation}, |