summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Schatz <genius3000@g3k.solutions>2019-03-10 01:22:00 -0700
committerPeter Powell <petpow@saberuk.com>2019-03-10 10:27:12 +0000
commitf87b72b76f9ef198bdbbb01f9ca409501666c6a2 (patch)
tree3b082674705158e1ce9050b1735278b3e9868915
parent42c7f479b2aebdec4fd190ba06097b7c5bca42a9 (diff)
Fix BanCache entries existing after X-line expiry.
When DefaultApply() adds a hit to the BanCache it uses the X-line duration to set a duration on the entry. This can result in an entry lasting longer than the X-line itself. Fix this by setting the entry duration to the time left on the X-line.
-rw-r--r--src/xline.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/xline.cpp b/src/xline.cpp
index fbb4f0c8b..bf61d76ea 100644
--- a/src/xline.cpp
+++ b/src/xline.cpp
@@ -560,7 +560,7 @@ void XLine::DefaultApply(User* u, const std::string &line, bool bancache)
if (bancache)
{
ServerInstance->Logs->Log("BANCACHE", LOG_DEBUG, "BanCache: Adding positive hit (" + line + ") for " + u->GetIPString());
- ServerInstance->BanCache.AddHit(u->GetIPString(), this->type, banReason, this->duration);
+ ServerInstance->BanCache.AddHit(u->GetIPString(), this->type, banReason, (this->duration > 0 ? (this->expiry - ServerInstance->Time()) : 0));
}
}