mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-10 11:09:04 -04:00
Implement a way to disable options:maxwho, bug #348
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7437 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
parent
caafe7737c
commit
47a4c36063
@ -742,7 +742,9 @@
|
||||
# query. This is to prevent /WHO being used as a #
|
||||
# spam vector or means of flooding an ircd. The #
|
||||
# default is 128, it is not recommended to raise it #
|
||||
# above 1024. Values up to 65535 are permitted. #
|
||||
# above 1024. Values up to 65535 are permitted. If #
|
||||
# this value is omitted, any size WHO is allowed by #
|
||||
# anyone. #
|
||||
# #
|
||||
# somaxconn - The maximum number of sockets that may be waiting #
|
||||
# in the accept queue. This usually allows the ircd #
|
||||
|
@ -312,7 +312,7 @@ CmdResult cmd_who::Handle (const char** parameters, int pcnt, userrec *user)
|
||||
}
|
||||
}
|
||||
/* Send the results out */
|
||||
if ((whoresults.size() <= (size_t)ServerInstance->Config->MaxWhoResults) || opt_unlimit)
|
||||
if ((ServerInstance->Config->MaxWhoResults && (whoresults.size() <= (size_t)ServerInstance->Config->MaxWhoResults)) || opt_unlimit)
|
||||
{
|
||||
for (std::vector<std::string>::const_iterator n = whoresults.begin(); n != whoresults.end(); n++)
|
||||
user->WriteServ(*n);
|
||||
|
@ -37,7 +37,7 @@ ServerConfig::ServerConfig(InspIRCd* Instance) : ServerInstance(Instance)
|
||||
NetBufferSize = 10240;
|
||||
SoftLimit = MAXCLIENTS;
|
||||
MaxConn = SOMAXCONN;
|
||||
MaxWhoResults = 100;
|
||||
MaxWhoResults = 0;
|
||||
debugging = 0;
|
||||
MaxChans = 20;
|
||||
OperMaxChans = 30;
|
||||
@ -297,9 +297,9 @@ bool ValidateNetBufferSize(ServerConfig* conf, const char* tag, const char* valu
|
||||
|
||||
bool ValidateMaxWho(ServerConfig* conf, const char* tag, const char* value, ValueItem &data)
|
||||
{
|
||||
if ((!data.GetInteger()) || (data.GetInteger() > 65535) || (data.GetInteger() < 1))
|
||||
if ((data.GetInteger() > 65535) || (data.GetInteger() < 1))
|
||||
{
|
||||
conf->GetInstance()->Log(DEFAULT,"No MaxWhoResults specified or size out of range, setting to default of 128.");
|
||||
conf->GetInstance()->Log(DEFAULT,"<options:maxwhoresults> size out of range, setting to default of 128.");
|
||||
data.Set(128);
|
||||
}
|
||||
return true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user