X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/4f1aca7dfb6adf867713ad48e14ad79080e13cfa..13d642c516655dd9798b03399de91fc77ca05af9:/include/stg/user_ips.h?ds=sidebyside diff --git a/include/stg/user_ips.h b/include/stg/user_ips.h index 264b5896..52e5df77 100644 --- a/include/stg/user_ips.h +++ b/include/stg/user_ips.h @@ -70,6 +70,7 @@ public: std::string GetIpStr() const; bool IsIPInIPS(uint32_t ip) const; bool OnlyOneIP() const; + bool IsAnyIP() const; size_t Count() const; void Add(const IP_MASK &im); void Erase(); @@ -165,13 +166,19 @@ return false; inline bool USER_IPS::OnlyOneIP() const { -if (ips.size() == 1 && ips.front().mask == 32) +if (ips.size() == 1 && ips.front().mask == 32 && ips.front().ip != 0) return true; return false; } //----------------------------------------------------------------------------- inline +bool USER_IPS::IsAnyIP() const +{ + return !ips.empty() && ips.front().ip == 0; +} +//----------------------------------------------------------------------------- +inline void USER_IPS::Add(const IP_MASK &im) { ips.push_back(im);