X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/1347f3d1e04bedd1508589173f577673ee2c5554..3f316b0bda61b18136122406677a2e728af01171:/projects/stargazer/plugins/configuration/rpcconfig/user_helper.cpp?ds=inline
diff --git a/projects/stargazer/plugins/configuration/rpcconfig/user_helper.cpp b/projects/stargazer/plugins/configuration/rpcconfig/user_helper.cpp
index 665a04f4..89c41587 100644
--- a/projects/stargazer/plugins/configuration/rpcconfig/user_helper.cpp
+++ b/projects/stargazer/plugins/configuration/rpcconfig/user_helper.cpp
@@ -161,6 +161,18 @@ if ((it = structVal.find("ips")) != structVal.end())
{
USER_IPS ips;
ips = StrToIPS(xmlrpc_c::value_string(it->second));
+
+ for (size_t i = 0; i < ips.Count(); ++i)
+ {
+ CONST_USER_PTR user;
+ uint32_t ip = ips[i].ip;
+ if (users.IsIPInUse(ip, login, &user))
+ {
+ printfd(__FILE__, "Trying to assign an IP %s to '%s' that is already in use by '%s'\n", inet_ntostring(ip).c_str(), login.c_str(), user->GetLogin().c_str());
+ return true;
+ }
+ }
+
if (!ptr->GetProperty().ips.Set(ips,
admin,
login,