Example #1
1
        public void PerformSync(string matches)
        {
            var whitelist = _aclProvider.GetWhitelisted();

            IpSetSet set = new IpSetSet(IpSetType.HashIp,"wl_ip",0, _system, IpSetSyncMode.SetAndEntries);
            foreach (var w in whitelist)
            {
                set.Entries.Add(new IpSetEntry(set, new IpCidr(w)));
            }
            
            IpSetSets sets = new IpSetSets(_system);
            sets.AddSet(set);
            sets.Sync();

            IpTablesRuleSet rules = new IpTablesRuleSet(4, _system);
            rules.AddRule("-A INPUT -m set --match-set wl_ip src -j ACCEPT -m comment --comment WLRULE");
            rules.AddRule("-A INPUT " + matches + " j DROP -m comment --comment DROPRULE");
            rules.Sync(new DefaultNetfilterSync<IpTablesRule>(Comparer));
        }
Example #2
0
        public void TestParseEntry1()
        {

            var set = IpSetSet.Parse("test_set hash:ip family inet hashsize 10 maxelem 14", null);

            IpSetSets sets = new IpSetSets(null);
            sets.AddSet(set);

            
            String toParse = "test_set 8.8.8.8";
            var entry = IpSetEntry.Parse(toParse, sets);

            Assert.AreEqual("test_set", entry.Set.Name);
            Assert.AreEqual(IPAddress.Parse("8.8.8.8"), entry.Cidr.Address);
        }