mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-10 02:59:01 -04:00
Give m_connectban a configurable ban message
This commit is contained in:
parent
8af4a2795b
commit
dcd07e3892
@ -563,7 +563,11 @@
|
|||||||
# IP addresses (32 and 128 bits) into CIDR masks, to allow for throttling
|
# IP addresses (32 and 128 bits) into CIDR masks, to allow for throttling
|
||||||
# over whole ISPs/blocks of IPs, which may be needed to prevent attacks.
|
# over whole ISPs/blocks of IPs, which may be needed to prevent attacks.
|
||||||
#
|
#
|
||||||
#<connectban threshold="10" duration="10m" ipv4cidr="32" ipv6cidr="128">
|
# A custom ban message may optionally be specified.
|
||||||
|
#
|
||||||
|
# <connectban threshold="10" duration="10m" ipv4cidr="32" ipv6cidr="128"
|
||||||
|
# banmessage="Your IP range has been attempting to connect too many times in too short a duration. Wait a while, and you will be able to connect.">
|
||||||
|
#
|
||||||
# This allows for 10 connections in an hour with a 10 minute ban if that is exceeded.
|
# This allows for 10 connections in an hour with a 10 minute ban if that is exceeded.
|
||||||
#
|
#
|
||||||
#<module name="m_connectban.so">
|
#<module name="m_connectban.so">
|
||||||
|
@ -27,6 +27,7 @@ class ModuleConnectBan : public Module
|
|||||||
unsigned int banduration;
|
unsigned int banduration;
|
||||||
unsigned int ipv4_cidr;
|
unsigned int ipv4_cidr;
|
||||||
unsigned int ipv6_cidr;
|
unsigned int ipv6_cidr;
|
||||||
|
std::string banmessage;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Version GetVersion() CXX11_OVERRIDE
|
Version GetVersion() CXX11_OVERRIDE
|
||||||
@ -42,6 +43,7 @@ class ModuleConnectBan : public Module
|
|||||||
ipv6_cidr = tag->getInt("ipv6cidr", 128, 1, 128);
|
ipv6_cidr = tag->getInt("ipv6cidr", 128, 1, 128);
|
||||||
threshold = tag->getInt("threshold", 10, 1);
|
threshold = tag->getInt("threshold", 10, 1);
|
||||||
banduration = tag->getDuration("duration", 10*60, 1);
|
banduration = tag->getDuration("duration", 10*60, 1);
|
||||||
|
banmessage = tag->getString("banmessage", "Your IP range has been attempting to connect too many times in too short a duration. Wait a while, and you will be able to connect.");
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnSetUserIP(LocalUser* u) CXX11_OVERRIDE
|
void OnSetUserIP(LocalUser* u) CXX11_OVERRIDE
|
||||||
@ -72,7 +74,7 @@ class ModuleConnectBan : public Module
|
|||||||
if (i->second >= threshold)
|
if (i->second >= threshold)
|
||||||
{
|
{
|
||||||
// Create zline for set duration.
|
// Create zline for set duration.
|
||||||
ZLine* zl = new ZLine(ServerInstance->Time(), banduration, ServerInstance->Config->ServerName, "Your IP range has been attempting to connect too many times in too short a duration. Wait a while, and you will be able to connect.", mask.str());
|
ZLine* zl = new ZLine(ServerInstance->Time(), banduration, ServerInstance->Config->ServerName, banmessage, mask.str());
|
||||||
if (!ServerInstance->XLines->AddLine(zl, NULL))
|
if (!ServerInstance->XLines->AddLine(zl, NULL))
|
||||||
{
|
{
|
||||||
delete zl;
|
delete zl;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user