public override void AddChain(string table, string chainName) { if (!_inTransaction) { //Revert to using IPTables Binary if non transactional IPTablesBinaryAdapterClient binaryClient = new IPTablesBinaryAdapterClient(_ipVersion, _system, _iptablesBinary); binaryClient.AddChain(table, chainName); } _builder.AddChain(table, chainName); }
public override void DeleteChain(string table, string chainName, bool flush = false) { if (_inTransaction) { _builder.DeleteChain(table, chainName); return; } IPTablesBinaryAdapterClient binaryClient = new IPTablesBinaryAdapterClient(_ipVersion, _system, _iptablesBinary); binaryClient.DeleteChain(table, chainName); }
public override void ReplaceRule(IpTablesRule rule) { if (!_inTransaction) { //Revert to using IPTables Binary if non transactional IPTablesBinaryAdapterClient binaryClient = new IPTablesBinaryAdapterClient(_ipVersion, _system, _iptablesBinary); binaryClient.ReplaceRule(rule); } String command = rule.GetActionCommand("-R", false); _builder.AddCommand(rule.Chain.Table, command); }
public override void DeleteRule(String table, String chainName, int position) { if (!_inTransaction) { //Revert to using IPTables Binary if non transactional IPTablesBinaryAdapterClient binaryClient = new IPTablesBinaryAdapterClient(_ipVersion, _system, _iptablesBinary); binaryClient.DeleteRule(table, chainName, position); return; } String command = "-D " + chainName + " " + position; _builder.AddCommand(table, command); }
public override void AddChain(string table, string chainName) { if (!_inTransaction) { //Revert to using IPTables Binary if non transactional IPTablesBinaryAdapterClient binaryClient = new IPTablesBinaryAdapterClient(_ipVersion, _system, _iptablesBinary); binaryClient.AddChain(table, chainName); return; } if (!GetInterface(table).AddChain(chainName)) { throw new IpTablesNetException(String.Format("Failed to add chain \"{0}\" to table \"{1}\" due to error: \"{2}\"", chainName, table, GetInterface(table).GetErrorString())); } }
public override bool HasChain(string table, string chainName) { if (_inTransaction) { if (_builder.HasChain(table, chainName)) { return(true); } return(false); } IPTablesBinaryAdapterClient binaryClient = new IPTablesBinaryAdapterClient(_ipVersion, _system, _iptablesBinary); return(binaryClient.HasChain(table, chainName)); }
public override void DeleteRule(IpTablesRule rule) { if (!_inTransaction) { //Revert to using IPTables Binary if non transactional IPTablesBinaryAdapterClient binaryClient = new IPTablesBinaryAdapterClient(_ipVersion, _system, _iptablesBinary); binaryClient.DeleteRule(rule); return; } String command = rule.GetActionCommand("-D"); if (GetInterface(rule.Chain.Table).ExecuteCommand(_iptablesBinary + " " + command) != 1) { throw new IpTablesNetException(String.Format("Failed to delete rule \"{0}\" due to error: \"{1}\"", command, GetInterface(rule.Chain.Table).GetErrorString())); } }
public override void DeleteChain(string table, string chainName, bool flush = false) { if (_inTransaction) { if (flush) { GetInterface(table).FlushChain(chainName); } GetInterface(table).DeleteChain(chainName); return; } IPTablesBinaryAdapterClient binaryClient = new IPTablesBinaryAdapterClient(_ipVersion, _system, _iptablesBinary); binaryClient.DeleteChain(table, chainName, flush); }
public override void DeleteRule(String table, String chainName, int position) { if (!_inTransaction) { //Revert to using IPTables Binary if non transactional IPTablesBinaryAdapterClient binaryClient = new IPTablesBinaryAdapterClient(_ipVersion, _system, _iptablesBinary); binaryClient.DeleteRule(table, chainName, position); return; } String command = "-D " + chainName + " " + position; if (GetInterface(table).ExecuteCommand("iptables " + command) != 1) { throw new IpTablesNetException(String.Format("Failed to delete rule \"{0}\" due to error: \"{1}\"", command, GetInterface(table).GetErrorString())); } }
public override void InsertRule(IpTablesRule rule) { if (!_inTransaction) { //Revert to using IPTables Binary if non transactional IPTablesBinaryAdapterClient binaryClient = new IPTablesBinaryAdapterClient(_ipVersion, _system, _iptablesBinary); binaryClient.InsertRule(rule); return; } String command = rule.GetActionCommand("-I"); if (GetInterface(rule.Chain.Table).ExecuteCommand("iptables " + command) != 1) { throw new IpTablesNetException(String.Format("Failed to insert rule \"{0}\" due to error: \"{1}\"", command, GetInterface(rule.Chain.Table).GetErrorString())); } }
public override void InsertRule(IpTablesRule rule) { if (!_inTransaction) { //Revert to using IPTables Binary if non transactional IPTablesBinaryAdapterClient binaryClient = new IPTablesBinaryAdapterClient(_ipVersion, _system, _iptablesBinary); binaryClient.InsertRule(rule); return; } String command = rule.GetActionCommand("-I", false); _builder.AddCommand(rule.Chain.Table, command); }
public override void AddChain(string table, string chainName) { Debug.Assert(chainName != null); if (!IpTablesChain.ValidateChainName(chainName)) { throw new IpTablesNetException(String.Format("Failed to add chain \"{0}\" to table \"{1}\" due to validation error", chainName, table)); } if (!_inTransaction) { //Revert to using IPTables Binary if non transactional IPTablesBinaryAdapterClient binaryClient = new IPTablesBinaryAdapterClient(_ipVersion, _system, _iptablesBinary); binaryClient.AddChain(table, chainName); return; } if (!GetInterface(table).AddChain(chainName)) { throw new IpTablesNetException(String.Format("Failed to add chain \"{0}\" to table \"{1}\" due to error: \"{2}\"", chainName, table, GetInterface(table).GetErrorString())); } }
public Version GetIptablesVersion() { IPTablesBinaryAdapterClient binaryClient = new IPTablesBinaryAdapterClient(_ipVersion, _system, _iptablesBinary); return binaryClient.GetIptablesVersion(); }
public override bool HasChain(string table, string chainName) { if (_inTransaction) { if (_builder.HasChain(table, chainName)) { return true; } return false; } IPTablesBinaryAdapterClient binaryClient = new IPTablesBinaryAdapterClient(_ipVersion, _system, _iptablesBinary); return binaryClient.HasChain(table, chainName); }
public Version GetIptablesVersion() { IPTablesBinaryAdapterClient binaryClient = new IPTablesBinaryAdapterClient(_ipVersion, _system, _iptablesBinary); return(binaryClient.GetIptablesVersion()); }