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 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 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(_iptablesBinary + " " + command) != 1) { throw new IpTablesNetException(String.Format("Failed to insert rule \"{0}\" due to error: \"{1}\"", command, GetInterface(rule.Chain.Table).GetErrorString())); } }