remove failed attempts after success
This commit is contained in:
parent
61c41aefeb
commit
2c7b64233d
@ -33,7 +33,6 @@ void ip_ban::loadFile(fs::path file)
|
|||||||
|
|
||||||
void ip_ban::failedAttempt(std::string username, std::string ip)
|
void ip_ban::failedAttempt(std::string username, std::string ip)
|
||||||
{
|
{
|
||||||
printf("%s\n", username.c_str());
|
|
||||||
std::unique_lock<std::shared_mutex> lock(this->m_ban);
|
std::unique_lock<std::shared_mutex> lock(this->m_ban);
|
||||||
|
|
||||||
std::map<std::string, std::pair<std::map<std::string, ushort>, time_t>>::iterator it = this->ban_list.insert({ip, {{}, 0}}).first;
|
std::map<std::string, std::pair<std::map<std::string, ushort>, time_t>>::iterator it = this->ban_list.insert({ip, {{}, 0}}).first;
|
||||||
@ -45,6 +44,12 @@ void ip_ban::failedAttempt(std::string username, std::string ip)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ip_ban::success(std::string ip)
|
||||||
|
{
|
||||||
|
std::unique_lock<std::shared_mutex> lock(this->m_ban);
|
||||||
|
this->ban_list.erase(ip);
|
||||||
|
}
|
||||||
|
|
||||||
bool ip_ban::checkBanned(std::string ip)
|
bool ip_ban::checkBanned(std::string ip)
|
||||||
{
|
{
|
||||||
std::shared_lock<std::shared_mutex> lock(this->m_ban);
|
std::shared_lock<std::shared_mutex> lock(this->m_ban);
|
||||||
|
|||||||
@ -32,6 +32,7 @@ public:
|
|||||||
void loadFile(fs::path file);
|
void loadFile(fs::path file);
|
||||||
|
|
||||||
void failedAttempt(std::string username, std::string ip);
|
void failedAttempt(std::string username, std::string ip);
|
||||||
|
void success(std::string ip);
|
||||||
bool checkBanned(std::string ip);
|
bool checkBanned(std::string ip);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@ -452,6 +452,7 @@ std::string cmdLOGIN(std::vector<std::string>& received, std::string& loggedInUs
|
|||||||
}
|
}
|
||||||
|
|
||||||
loggedInUsername = received.at(1);
|
loggedInUsername = received.at(1);
|
||||||
|
ip_ban::getInstance().success(ip);
|
||||||
ldap_unbind_ext_s(ldapHandle, NULL, NULL);
|
ldap_unbind_ext_s(ldapHandle, NULL, NULL);
|
||||||
|
|
||||||
return "OK\n";
|
return "OK\n";
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user