Example #1
0
 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));
 }
Example #2
0
 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));
 }
Example #3
0
        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));
        }
Example #4
0
        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));
        }