aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_joinflood.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2021-06-18 15:02:34 +0100
committerGravatar Sadie Powell2021-06-18 15:02:34 +0100
commitb2fde769b6daa6fe062525210d65ae5f1536f4bf (patch)
treee9039e6a3b9a8f3241b71108f4bf2193f4c61b11 /src/modules/m_joinflood.cpp
parentImport a greatly refactored version of the opmoderated module. (diff)
parentFix some inverted ignoreuntil values in the connectban module. (diff)
Merge branch 'insp3' into master.
Diffstat (limited to 'src/modules/m_joinflood.cpp')
-rw-r--r--src/modules/m_joinflood.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/modules/m_joinflood.cpp b/src/modules/m_joinflood.cpp
index 5dfeb845f..c8836d12f 100644
--- a/src/modules/m_joinflood.cpp
+++ b/src/modules/m_joinflood.cpp
@@ -152,20 +152,21 @@ class ModuleJoinFlood
{
}
- void ReadConfig(ConfigStatus&) override
+ void ReadConfig(ConfigStatus& status) override
{
auto tag = ServerInstance->Config->ConfValue("joinflood");
duration = static_cast<unsigned int>(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) override
{
if (splitwait)
- ignoreuntil = ServerInstance->Time() + splitwait;
+ ignoreuntil = std::max<time_t>(ignoreuntil, ServerInstance->Time() + splitwait);
}
ModResult OnUserPreJoin(LocalUser* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven, bool override) override