public RESTStatus AddUser(SQLLib sql, NetString User, NetworkConnectionInfo ni) { if (ni.HasAcl(ACLFlags.ChangeServerSettings) == false) { ni.Error = "Access denied"; ni.ErrorID = ErrorFlags.AccessDenied; return(RESTStatus.Fail); } if (string.IsNullOrWhiteSpace(User.Data) == true) { ni.Error = "Missing username"; ni.ErrorID = ErrorFlags.InvalidID; return(RESTStatus.Fail); } if (Convert.ToInt32(sql.ExecSQLScalar("SELECT COUNT(*) FROM Users WHERE Username=@u", new SQLParam("@u", User.Data.Trim()))) != 0) { ni.Error = "User already exists"; ni.ErrorID = ErrorFlags.InvalidID; return(RESTStatus.Fail); } sql.InsertMultiData("Users", new SQLData("Username", User.Data.Trim()), new SQLData("Name", "new user"), new SQLData("Permissions", 0), new SQLData("Password", "")); return(RESTStatus.Success); }
public RESTStatus ReportUsersList(SQLLib sql, UsersList users, NetworkConnectionInfo ni) { if (ni.HasAcl(ACLFlags.ComputerLogin) == false) { ni.Error = "Access denied"; ni.ErrorID = ErrorFlags.AccessDenied; return(RESTStatus.Denied); } if (users == null) { ni.Error = "Invalid Items"; ni.ErrorID = ErrorFlags.InvalidValue; return(RESTStatus.Fail); } users.MachineID = ni.Username; lock (ni.sqllock) { if (Convert.ToInt32(sql.ExecSQLScalar("SELECT COUNT(*) FROM ComputerAccounts WHERE MachineID=@m", new SQLParam("@m", users.MachineID))) == 0) { ni.Error = "Invalid MachineID"; ni.ErrorID = ErrorFlags.InvalidValue; return(RESTStatus.NotFound); } } lock (ni.sqllock) { sql.ExecSQL("DELETE FROM UsersList WHERE MachineID=@id", new SQLParam("@id", users.MachineID)); } if (users.Users == null) { users.Users = new Dictionary <string, string>(); } foreach (KeyValuePair <string, string> kvp in users.Users) { if (string.IsNullOrWhiteSpace(kvp.Key) == true || string.IsNullOrWhiteSpace(kvp.Value) == true) { continue; } lock (ni.sqllock) { sql.InsertMultiData("UsersList", new SQLData("MachineID", users.MachineID), new SQLData("SID", kvp.Key), new SQLData("Username", kvp.Value)); } } return(RESTStatus.Success); }
void InsertSupplData(SQLLib sql, string MachineID, int IfIndex, int Type, List <string> lst) { for (int i = 0; i < lst.Count; i++) { sql.InsertMultiData("NetworkConfigSuppl", new SQLData("MachineID", MachineID), new SQLData("InterfaceIndex", IfIndex), new SQLData("Type", Type), new SQLData("Order", i), new SQLData("Data", lst[i] == null ? "" : lst[i].Trim())); } }
public RESTStatus ReportNetadapterConfig(SQLLib sql, ListNetworkAdapterConfiguration netadapters, NetworkConnectionInfo ni) { if (ni.HasAcl(ACLFlags.ComputerLogin) == false) { ni.Error = "Access denied"; ni.ErrorID = ErrorFlags.AccessDenied; return(RESTStatus.Denied); } if (netadapters == null) { ni.Error = "Invalid Items"; ni.ErrorID = ErrorFlags.InvalidValue; return(RESTStatus.Fail); } netadapters.MachineID = ni.Username; lock (ni.sqllock) { if (Convert.ToInt32(sql.ExecSQLScalar("SELECT COUNT(*) FROM ComputerAccounts WHERE MachineID=@m", new SQLParam("@m", netadapters.MachineID))) == 0) { ni.Error = "Invalid MachineID"; ni.ErrorID = ErrorFlags.InvalidValue; return(RESTStatus.NotFound); } } lock (ni.sqllock) { sql.ExecSQL("DELETE FROM NetworkConfigSuppl WHERE MachineID=@id", new SQLParam("@id", netadapters.MachineID)); sql.ExecSQL("DELETE FROM NetworkConfig WHERE MachineID=@id", new SQLParam("@id", netadapters.MachineID)); } if (netadapters.Items == null) { netadapters.Items = new List <NetworkAdapterConfiguration>(); } List <int> IFIndex = new List <int>(); foreach (NetworkAdapterConfiguration ncfg in netadapters.Items) { if (IFIndex.Contains(ncfg.InterfaceIndex) == true) { continue; } IFIndex.Add(ncfg.InterfaceIndex); lock (ni.sqllock) { sql.InsertMultiData("NetworkConfig", new SQLData("MachineID", netadapters.MachineID), new SQLData("InterfaceIndex", ncfg.InterfaceIndex), new SQLData("IPEnabled", ncfg.IPEnabled), new SQLData("MACAddress", ncfg.MACAddress == null ? "" : ncfg.MACAddress.Trim()), new SQLData("ServiceName", ncfg.ServiceName == null ? "" : ncfg.ServiceName.Trim()), new SQLData("SettingsID", ncfg.SettingsID == null ? "" : ncfg.SettingsID.Trim()), new SQLData("Description", ncfg.Description == null ? "" : ncfg.Description.Trim()), new SQLData("DHCPEnabled", ncfg.DHCPEnabled), new SQLData("DHCPServer", ncfg.DHCPServer == null ? "" : ncfg.DHCPServer.Trim()), new SQLData("DNSDomain", ncfg.DNSDomain == null ? "" : ncfg.DNSDomain.Trim()), new SQLData("DNSHostName", ncfg.DNSHostName == null ? "" : ncfg.DNSHostName.Trim()), new SQLData("Caption", ncfg.Caption == null ? "" : ncfg.Caption.Trim()), new SQLData("DHCPLeaseExpires", ncfg.DHCPLeaseExpires), new SQLData("DHCPLeaseObtained", ncfg.DHCPLeaseObtained), new SQLData("WINSEnableLMHostsLookup", ncfg.WINSEnableLMHostsLookup), new SQLData("WINSHostLookupFile", ncfg.WINSHostLookupFile == null ? "" : ncfg.WINSHostLookupFile.Trim()), new SQLData("WINSPrimaryServer", ncfg.WINSPrimaryServer == null ? "" : ncfg.WINSPrimaryServer.Trim()), new SQLData("WINSSecondaryServer", ncfg.WINSSecondaryServer == null ? "" : ncfg.WINSSecondaryServer.Trim()), new SQLData("WINSScopeID", ncfg.WINSScopeID == null ? "" : ncfg.WINSScopeID.Trim())); } if (ncfg.IPAddress == null) { ncfg.IPAddress = new List <string>(); } if (ncfg.IPSubnet == null) { ncfg.IPSubnet = new List <string>(); } if (ncfg.DefaultIPGateway == null) { ncfg.DefaultIPGateway = new List <string>(); } if (ncfg.DNSDomainSuffixSearchOrder == null) { ncfg.DNSDomainSuffixSearchOrder = new List <string>(); } if (ncfg.DNSServerSearchOrder == null) { ncfg.DNSServerSearchOrder = new List <string>(); } lock (ni.sqllock) InsertSupplData(sql, netadapters.MachineID, ncfg.InterfaceIndex, 1, ncfg.IPAddress); lock (ni.sqllock) InsertSupplData(sql, netadapters.MachineID, ncfg.InterfaceIndex, 2, ncfg.IPSubnet); lock (ni.sqllock) InsertSupplData(sql, netadapters.MachineID, ncfg.InterfaceIndex, 3, ncfg.DefaultIPGateway); lock (ni.sqllock) InsertSupplData(sql, netadapters.MachineID, ncfg.InterfaceIndex, 4, ncfg.DNSDomainSuffixSearchOrder); lock (ni.sqllock) InsertSupplData(sql, netadapters.MachineID, ncfg.InterfaceIndex, 5, ncfg.DNSServerSearchOrder); } return(RESTStatus.Success); }