public IEnumerable <string> EnumerateBannedIPAddresses()
 {
     lock (this)
     {
         foreach (MemoryFirewallRule rule in blockRules.Values)
         {
             foreach (string ipAddress in rule.EnumerateIPAddresses())
             {
                 if (!allowRule.Contains(ipAddress))
                 {
                     yield return(ipAddress);
                 }
             }
         }
     }
 }
Beispiel #2
0
        private bool IsIPAddressAllowed(System.Net.IPAddress ipAddressObj, int port = -1)
        {
            lock (this)
            {
                if (allowRule.Contains(ipAddressObj))
                {
                    return(true);
                }

                foreach (MemoryFirewallRuleRanges ranges in allowRuleRanges.Values)
                {
                    if (ranges.Contains(ipAddressObj, port))
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
Beispiel #3
0
        public bool IsIPAddressAllowed(System.Net.IPAddress ipAddressObj, out string ruleName, int port = -1)
        {
            lock (this)
            {
                if (allowRule.Contains(ipAddressObj))
                {
                    ruleName = allowRule.Name;
                    return(true);
                }

                foreach (MemoryFirewallRuleRanges ranges in allowRuleRanges.Values)
                {
                    if (ranges.Contains(ipAddressObj, port))
                    {
                        ruleName = ranges.Name;
                        return(true);
                    }
                }
            }
            ruleName = null;
            return(false);
        }