From d0c458f5c3e0d33e62c3a05b3624468e868eb03c Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Thu, 17 Jun 2021 17:01:39 +0100 Subject: Fix joinflood applying the bootwait timeout to rehashes. --- src/modules/m_joinflood.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/modules/m_joinflood.cpp') diff --git a/src/modules/m_joinflood.cpp b/src/modules/m_joinflood.cpp index 3241020bf..a196c5731 100644 --- a/src/modules/m_joinflood.cpp +++ b/src/modules/m_joinflood.cpp @@ -153,14 +153,15 @@ class ModuleJoinFlood { } - void ReadConfig(ConfigStatus&) CXX11_OVERRIDE + void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE { ConfigTag* tag = ServerInstance->Config->ConfValue("joinflood"); duration = tag->getDuration("duration", 60, 10, 600); bootwait = tag->getDuration("bootwait", 30); splitwait = tag->getDuration("splitwait", 30); - ignoreuntil = ServerInstance->startup_time + bootwait; + if (status.initial) + ignoreuntil = ServerInstance->startup_time + bootwait; } void OnServerSplit(const Server* server, bool error) CXX11_OVERRIDE -- cgit v1.3.1-10-gc9f91 From 3b5425e6e0776daf0632f4e86057486b60794e2c Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Fri, 18 Jun 2021 11:18:06 +0100 Subject: Fix joinflood overwriting the bootwait timer on split. --- src/modules/m_joinflood.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/modules/m_joinflood.cpp') diff --git a/src/modules/m_joinflood.cpp b/src/modules/m_joinflood.cpp index a196c5731..05f9f0f0e 100644 --- a/src/modules/m_joinflood.cpp +++ b/src/modules/m_joinflood.cpp @@ -167,7 +167,7 @@ class ModuleJoinFlood void OnServerSplit(const Server* server, bool error) CXX11_OVERRIDE { if (splitwait) - ignoreuntil = ServerInstance->Time() + splitwait; + ignoreuntil = std::max(ignoreuntil, ServerInstance->Time() + splitwait); } ModResult OnUserPreJoin(LocalUser* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven) CXX11_OVERRIDE -- cgit v1.3.1-10-gc9f91