/// <summary>Delete all CIDR ranges matched up with an IP from database</summary> /// <returns>List of CIDR ranges removed from database</returns> public List <string> DelCIDRBanByIP(string ip) { try { // check all delete canditates List <CIDRBan> banlist = GetCIDRBanList(); List <string> removelist = new List <string>(); foreach (CIDRBan ban in banlist) { if (CIDRBan.Check(ip, ban.CIDR)) { removelist.Add(ban.CIDR); } } // remove canditates from database foreach (string removed in removelist) { db.Query("DELETE FROM CIDRBans WHERE CIDR = @0", removed); } return(removelist); } catch (Exception ex) { TShock.Log.Error(ex.ToString()); } return(new List <string>()); }
/// <summary>Search CIDR bans with given IP</summary> /// <param name="IP">IP string for searching</param> /// <returns>First CIDRBan object found</returns> public CIDRBan GetCIDRBanByIP(string check) { try { // search for matching range in database List <CIDRBan> banlist = GetCIDRBanList(); foreach (CIDRBan ban in banlist) { if (CIDRBan.Check(check, ban.CIDR)) { return(ban); } } } catch (Exception ex) { TShock.Log.Error(ex.ToString()); } return(null); }