2021-12-25 22:36:38 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
class CBanSystem
|
|
|
|
{
|
|
|
|
public:
|
2022-02-19 02:31:16 +01:00
|
|
|
CBanSystem(void);
|
2022-06-14 20:56:55 +02:00
|
|
|
void operator[](std::pair<string, uint64_t> pair);
|
|
|
|
|
2022-02-19 02:31:16 +01:00
|
|
|
void Load(void);
|
|
|
|
void Save(void) const;
|
|
|
|
|
2022-06-14 20:56:55 +02:00
|
|
|
void AddEntry(string svIpAddress, uint64_t nOriginID);
|
|
|
|
void DeleteEntry(string svIpAddress, uint64_t nOriginID);
|
|
|
|
|
|
|
|
void AddConnectionRefuse(string svError, uint64_t nOriginID);
|
2022-06-14 21:53:03 +02:00
|
|
|
void DeleteConnectionRefuse(uint64_t nOriginID);
|
2022-02-19 02:31:16 +01:00
|
|
|
|
2022-06-14 20:56:55 +02:00
|
|
|
void BanListCheck(void);
|
2021-12-25 22:36:38 +01:00
|
|
|
|
2022-06-14 20:56:55 +02:00
|
|
|
bool IsBanned(string svIpAddress, uint64_t nOriginID) const;
|
2022-02-19 02:31:16 +01:00
|
|
|
bool IsRefuseListValid(void) const;
|
|
|
|
bool IsBanListValid(void) const;
|
|
|
|
|
2021-12-25 22:36:38 +01:00
|
|
|
private:
|
2022-06-14 20:56:55 +02:00
|
|
|
vector<std::pair<string, uint64_t>> m_vRefuseList = {};
|
|
|
|
vector<std::pair<string, uint64_t>> m_vBanList = {};
|
2021-12-25 22:36:38 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
extern CBanSystem* g_pBanSystem;
|