diff options
-rw-r--r-- | docs/conf/modules.conf.example | 6 | ||||
-rw-r--r-- | src/modules/m_connectban.cpp | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/docs/conf/modules.conf.example b/docs/conf/modules.conf.example index 874f1fab5..7d7fba26c 100644 --- a/docs/conf/modules.conf.example +++ b/docs/conf/modules.conf.example @@ -563,7 +563,11 @@ # 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. # -#<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. # #<module name="m_connectban.so"> diff --git a/src/modules/m_connectban.cpp b/src/modules/m_connectban.cpp index 0b61ec668..59b8f2d36 100644 --- a/src/modules/m_connectban.cpp +++ b/src/modules/m_connectban.cpp @@ -27,6 +27,7 @@ class ModuleConnectBan : public Module unsigned int banduration; unsigned int ipv4_cidr; unsigned int ipv6_cidr; + std::string banmessage; public: Version GetVersion() CXX11_OVERRIDE @@ -42,6 +43,7 @@ class ModuleConnectBan : public Module ipv6_cidr = tag->getInt("ipv6cidr", 128, 1, 128); threshold = tag->getInt("threshold", 10, 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 @@ -72,7 +74,7 @@ class ModuleConnectBan : public Module if (i->second >= threshold) { // 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)) { delete zl; |