public Task <bool> AllowIPAddresses(string ruleNamePrefix, IEnumerable <IPAddressRange> ipAddresses, IEnumerable <PortRange> allowedPorts = null, CancellationToken cancelToken = default) { lock (this) { allowRuleRanges[ruleNamePrefix] = new MemoryFirewallRuleRanges(ipAddresses.Select(i => IPAddressRange.Parse(i)).ToList(), allowedPorts?.ToList(), false); } return(Task.FromResult <bool>(true)); }
public Task <bool> BlockIPAddresses(string ruleNamePrefix, IEnumerable <IPAddressRange> ranges, IEnumerable <PortRange> allowedPorts = null, CancellationToken cancelToken = default) { // for performance, ranges is assumed to be sorted lock (this) { ruleNamePrefix = ScrubRuleNamePrefix(ruleNamePrefix); List <IPAddressRange> rangesList = new List <IPAddressRange>(ranges); blockRulesRanges[ruleNamePrefix] = new MemoryFirewallRuleRanges(rangesList, allowedPorts?.ToList(), true); } return(Task.FromResult <bool>(true)); }
public override Task <bool> BlockIPAddresses(string ruleNamePrefix, IEnumerable <IPAddressRange> ranges, IEnumerable <PortRange> allowedPorts = null, CancellationToken cancelToken = default) { var portList = allowedPorts?.ToList(); string ruleName = ScrubRuleNamePrefix(BlockRulePrefix, ruleNamePrefix); lock (this) { blockRulesRanges[ruleName] = new MemoryFirewallRuleRanges(ranges, portList, true, ruleName); } return(Task.FromResult <bool>(true)); }
public override Task <bool> AllowIPAddresses(string ruleNamePrefix, IEnumerable <IPAddressRange> ipAddresses, IEnumerable <PortRange> allowedPorts = null, CancellationToken cancelToken = default) { var allowedIPList = ipAddresses.ToList(); var allowedPortList = allowedPorts?.ToList(); lock (this) { allowRuleRanges[ruleNamePrefix] = new MemoryFirewallRuleRanges(allowedIPList, allowedPortList, false); } return(Task.FromResult <bool>(true)); }