diff --git a/agent_api/src/main/java/dev/aikido/agent_api/helpers/net/IPList.java b/agent_api/src/main/java/dev/aikido/agent_api/helpers/net/IPList.java index 0d1fde97..01813d51 100644 --- a/agent_api/src/main/java/dev/aikido/agent_api/helpers/net/IPList.java +++ b/agent_api/src/main/java/dev/aikido/agent_api/helpers/net/IPList.java @@ -2,15 +2,13 @@ import inet.ipaddr.IPAddress; import inet.ipaddr.IPAddressString; - -import java.util.HashSet; -import java.util.Set; +import inet.ipaddr.format.util.DualIPv4v6Tries; public class IPList { - private Set ipAddresses; + private final DualIPv4v6Tries ipAddresses; public IPList() { - this.ipAddresses = new HashSet<>(); + this.ipAddresses = new DualIPv4v6Tries(); } public void add(String ipOrCIDR) { @@ -56,12 +54,7 @@ public boolean matches(String ip) { } private boolean containsAddress(IPAddress ipAddress) { - for (IPAddress subnet : ipAddresses) { - if (subnet.contains(ipAddress)) { - return true; - } - } - return false; + return ipAddresses.elementContains(ipAddress); } public int length() { return ipAddresses.size();