summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2025-04-24 11:51:37 +0100
committerSadie Powell <sadie@witchery.services>2025-04-24 11:59:21 +0100
commit1630ccedb11842dbe56d8ce2b9e9f54a53b01b8c (patch)
tree26d65205ae2e66e86e382eafa42698e00d988cfc
parent36d69b1e5c126ed490d655c500832947665c07d0 (diff)
Remove some double lookups in User::BadPassword.
-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;