python3: fix netlink_lib delete_entries
libc and netfilter_conntrack calls, as C bindings, do not work with python3 strings This fixes netlink_lib by using bytes type for addresses manipulation Update corresponding unit test by removing str() conversions Change-Id: I0044d943de3dcde7c4337f396ae9d10cede381f3 Closes-bug: #1779170
This commit is contained in:
parent
88ed88cd90
commit
144d3abf7c
|
@ -117,8 +117,8 @@ class ConntrackManager(object):
|
|||
6: nfct.nfct_set_attr_u16}
|
||||
}
|
||||
|
||||
self.converters = {'src': str,
|
||||
'dst': str,
|
||||
self.converters = {'src': bytes,
|
||||
'dst': bytes,
|
||||
'ipversion': nl_constants.IPVERSION_SOCKET.get,
|
||||
'protocol': constants.IP_PROTOCOL_MAP.get,
|
||||
'code': int,
|
||||
|
@ -173,7 +173,7 @@ class ConntrackManager(object):
|
|||
dest = ctypes.create_string_buffer(
|
||||
nl_constants.IPVERSION_BUFFER[addr_family])
|
||||
libc.inet_pton(nl_constants.IPVERSION_SOCKET[addr_family],
|
||||
source, dest)
|
||||
source.encode('utf-8'), dest)
|
||||
return dest.raw
|
||||
|
||||
def _set_attributes(self, conntrack, entry):
|
||||
|
|
|
@ -124,13 +124,13 @@ class NetlinkLibTestCase(base.BaseTestCase):
|
|||
calls = [
|
||||
mock.call(conntrack_filter,
|
||||
nl_constants.ATTR_IPV4_SRC,
|
||||
str(conntrack._convert_text_to_binary(
|
||||
FAKE_ICMP_ENTRY['src'], 4))
|
||||
conntrack._convert_text_to_binary(
|
||||
FAKE_ICMP_ENTRY['src'], 4)
|
||||
),
|
||||
mock.call(conntrack_filter,
|
||||
nl_constants.ATTR_IPV4_DST,
|
||||
str(conntrack._convert_text_to_binary(
|
||||
FAKE_ICMP_ENTRY['dst'], 4))
|
||||
conntrack._convert_text_to_binary(
|
||||
FAKE_ICMP_ENTRY['dst'], 4)
|
||||
),
|
||||
]
|
||||
nl_lib.nfct.nfct_set_attr.assert_has_calls(calls, any_order=True)
|
||||
|
@ -173,13 +173,13 @@ class NetlinkLibTestCase(base.BaseTestCase):
|
|||
calls = [
|
||||
mock.call(conntrack_filter,
|
||||
nl_constants.ATTR_IPV4_SRC,
|
||||
str(conntrack._convert_text_to_binary(
|
||||
FAKE_UDP_ENTRY['src'], 4))
|
||||
conntrack._convert_text_to_binary(
|
||||
FAKE_UDP_ENTRY['src'], 4)
|
||||
),
|
||||
mock.call(conntrack_filter,
|
||||
nl_constants.ATTR_IPV4_DST,
|
||||
str(conntrack._convert_text_to_binary(
|
||||
FAKE_UDP_ENTRY['dst'], 4))
|
||||
conntrack._convert_text_to_binary(
|
||||
FAKE_UDP_ENTRY['dst'], 4)
|
||||
),
|
||||
]
|
||||
nl_lib.nfct.nfct_set_attr.assert_has_calls(calls, any_order=True)
|
||||
|
@ -222,13 +222,13 @@ class NetlinkLibTestCase(base.BaseTestCase):
|
|||
calls = [
|
||||
mock.call(conntrack_filter,
|
||||
nl_constants.ATTR_IPV4_SRC,
|
||||
str(conntrack._convert_text_to_binary(
|
||||
FAKE_TCP_ENTRY['src'], 4))
|
||||
conntrack._convert_text_to_binary(
|
||||
FAKE_TCP_ENTRY['src'], 4)
|
||||
),
|
||||
mock.call(conntrack_filter,
|
||||
nl_constants.ATTR_IPV4_DST,
|
||||
str(conntrack._convert_text_to_binary(
|
||||
FAKE_TCP_ENTRY['dst'], 4))
|
||||
conntrack._convert_text_to_binary(
|
||||
FAKE_TCP_ENTRY['dst'], 4)
|
||||
),
|
||||
]
|
||||
|
||||
|
@ -307,32 +307,32 @@ class NetlinkLibTestCase(base.BaseTestCase):
|
|||
calls = [
|
||||
mock.call(conntrack_filter,
|
||||
nl_constants.ATTR_IPV4_SRC,
|
||||
str(conntrack._convert_text_to_binary(
|
||||
FAKE_TCP_ENTRY['src'], 4))
|
||||
conntrack._convert_text_to_binary(
|
||||
FAKE_TCP_ENTRY['src'], 4)
|
||||
),
|
||||
mock.call(conntrack_filter,
|
||||
nl_constants.ATTR_IPV4_DST,
|
||||
str(conntrack._convert_text_to_binary(
|
||||
FAKE_TCP_ENTRY['dst'], 4))),
|
||||
conntrack._convert_text_to_binary(
|
||||
FAKE_TCP_ENTRY['dst'], 4)),
|
||||
mock.call(conntrack_filter,
|
||||
nl_constants.ATTR_IPV4_SRC,
|
||||
str(conntrack._convert_text_to_binary(
|
||||
FAKE_UDP_ENTRY['src'], 4))
|
||||
conntrack._convert_text_to_binary(
|
||||
FAKE_UDP_ENTRY['src'], 4)
|
||||
),
|
||||
mock.call(conntrack_filter,
|
||||
nl_constants.ATTR_IPV4_DST,
|
||||
str(conntrack._convert_text_to_binary(
|
||||
FAKE_UDP_ENTRY['dst'], 4))
|
||||
conntrack._convert_text_to_binary(
|
||||
FAKE_UDP_ENTRY['dst'], 4)
|
||||
),
|
||||
mock.call(conntrack_filter,
|
||||
nl_constants.ATTR_IPV4_SRC,
|
||||
str(conntrack._convert_text_to_binary(
|
||||
FAKE_ICMP_ENTRY['src'], 4))
|
||||
conntrack._convert_text_to_binary(
|
||||
FAKE_ICMP_ENTRY['src'], 4)
|
||||
),
|
||||
mock.call(conntrack_filter,
|
||||
nl_constants.ATTR_IPV4_DST,
|
||||
str(conntrack._convert_text_to_binary(
|
||||
FAKE_ICMP_ENTRY['dst'], 4))
|
||||
conntrack._convert_text_to_binary(
|
||||
FAKE_ICMP_ENTRY['dst'], 4)
|
||||
),
|
||||
]
|
||||
nl_lib.nfct.nfct_set_attr.assert_has_calls(calls, any_order=True)
|
||||
|
|
Loading…
Reference in New Issue