diff --git a/iptc/ip4tc.py b/iptc/ip4tc.py index 45d047c..4449a61 100644 --- a/iptc/ip4tc.py +++ b/iptc/ip4tc.py @@ -262,6 +262,10 @@ def __init__(self): self._ptrptr = None raise NotImplementedError() + def __repr__(self): + return '\n'.join( + [str(kv)for kv in self.get_all_parameters().iteritems()]) + def parse(self, parameter, value): # Parameter name must always be a string. parameter = parameter.encode() diff --git a/iptc/test/test_targets.py b/iptc/test/test_targets.py index a28f655..2cee665 100755 --- a/iptc/test/test_targets.py +++ b/iptc/test/test_targets.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- +from __future__ import print_function import unittest import iptc @@ -379,7 +380,7 @@ def setUp(self): self.rule.out_interface = "eth0" self.target = iptc.Target(self.rule, "CT") - self.target.notrack = "true" + self.target.helper = "ftp" self.rule.target = self.target self.chain = iptc.Chain(iptc.Table(iptc.Table.RAW), @@ -397,9 +398,19 @@ def tearDown(self): def test_ct(self): self.chain.insert_rule(self.rule) - t = self.chain.rules[0].target - self.assertEquals(t.name, "CT") - self.assertTrue(t.notrack is not None) + try: + t = self.chain.rules[0].target + self.assertEquals(t.name, "CT") + self.assertTrue(t.notrack is not None) + except: + print() + print(self.rule) + print(self.rule.target) + print(self.rule.target.notrack) + print() + import os + os.system("iptables -t raw -L -n") + raise def suite():