Beispiel #1
0
 public Task <bool> BlockIPAddressesDelta(string ruleNamePrefix, IEnumerable <IPBanFirewallIPAddressDelta> ipAddresses, IEnumerable <PortRange> allowedPorts = null, CancellationToken cancelToken = default)
 {
     lock (this)
     {
         string ruleName = ScrubRuleNamePrefix(ruleNamePrefix);
         if (!blockRules.TryGetValue(ruleName, out MemoryFirewallRule rule))
         {
             blockRules[ruleName] = rule = new MemoryFirewallRule();
         }
         rule.AddIPAddressesDelta(ipAddresses, allowedPorts);
     }
     return(Task.FromResult(true));
 }
Beispiel #2
0
        public override Task <bool> BlockIPAddresses(string ruleNamePrefix, IEnumerable <string> ipAddresses, IEnumerable <PortRange> allowedPorts = null, CancellationToken cancelToken = default)
        {
            string ruleName = ScrubRuleNamePrefix(ruleNamePrefix);

            lock (this)
            {
                if (!blockRules.TryGetValue(ruleName, out MemoryFirewallRule rule))
                {
                    blockRules[ruleName] = rule = new MemoryFirewallRule(true);
                }
                rule.SetIPAddresses(ipAddresses, allowedPorts);
            }
            return(Task.FromResult <bool>(true));
        }
Beispiel #3
0
 public IPBanMemoryFirewall(string rulePrefix = null) : base(rulePrefix)
 {
     allowRule = new MemoryFirewallRule(false, AllowRuleName);
 }