summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/users.h2
-rw-r--r--src/users.cpp9
2 files changed, 7 insertions, 4 deletions
diff --git a/include/users.h b/include/users.h
index 7fd096c8c..2a5823cc5 100644
--- a/include/users.h
+++ b/include/users.h
@@ -50,7 +50,7 @@ protected:
Serialize::Reference<NickCore> nc;
/* # of invalid password attempts */
- unsigned short invalid_pw_count;
+ unsigned invalid_pw_count;
/* Time of last invalid password */
time_t invalid_pw_time;
diff --git a/src/users.cpp b/src/users.cpp
index 0abe0b66e..3d6034691 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -833,14 +833,17 @@ Anope::string User::Mask() const
bool User::BadPassword()
{
- if (!Config->GetBlock("options").Get<unsigned int>("badpasslimit"))
+ const auto badpasslimit = Config->GetBlock("options").Get<unsigned>("badpasslimit");
+ if (!badpasslimit)
return false;
- if (Config->GetBlock("options").Get<time_t>("badpasstimeout") > 0 && this->invalid_pw_time > 0 && this->invalid_pw_time < Anope::CurTime - Config->GetBlock("options").Get<time_t>("badpasstimeout"))
+ const auto badpasstimeout = Config->GetBlock("options").Get<time_t>("badpasstimeout");
+ if (badpasstimeout > 0 && this->invalid_pw_time > 0 && this->invalid_pw_time < Anope::CurTime - badpasstimeout)
this->invalid_pw_count = 0;
+
++this->invalid_pw_count;
this->invalid_pw_time = Anope::CurTime;
- if (this->invalid_pw_count >= Config->GetBlock("options").Get<unsigned int>("badpasslimit"))
+ if (this->invalid_pw_count >= badpasslimit)
{
this->Kill(Me, "Too many invalid passwords");
return true;