diff options
-rw-r--r-- | include/users.h | 2 | ||||
-rw-r--r-- | src/users.cpp | 9 |
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; |