-
Notifications
You must be signed in to change notification settings - Fork 185
Open
Description
If iptables version 1.8.11-2 is installed and python 3.12 or python 3.13 is used in Ubuntu or Arch Linux and and the python-iptables module of pip version 1.0.1. is installed, the following code creates the following issue:
import iptc
rule = iptc.Rule()
rule.protocol = "udp"
match = iptc.Match(rule, "udp")
match.dport = "22"
XTablesError Traceback (most recent call last)
Cell In[1], line 5
3 rule.protocol = "udp"
4 match = iptc.Match(rule, "udp")
----> 5 match.sport = "22"
File /usr/local/lib/python3.12/dist-packages/iptc/ip4tc.py:460, in IPTCModule.__setattr__(self, name, value)
458 def __setattr__(self, name, value):
459 if not name.startswith('_') and name not in dir(self):
--> 460 self.parse(name.replace("_", "-"), value)
461 else:
462 object.__setattr__(self, name, value)
File /usr/local/lib/python3.12/dist-packages/iptc/ip4tc.py:332, in IPTCModule.parse(self, parameter, value)
328 argv[i + 1] = args[i]
330 entry = self._rule.entry and ct.pointer(self._rule.entry) or None
--> 332 self._parse(argv, inv, entry)
File /usr/local/lib/python3.12/dist-packages/iptc/ip4tc.py:601, in Match._parse(self, argv, inv, entry)
600 def _parse(self, argv, inv, entry):
--> 601 self._xt.parse_match(argv, inv, self._module, entry,
602 ct.cast(self._ptrptr, ct.POINTER(ct.c_void_p)),
603 self._orig_parse, self._orig_options)
File /usr/local/lib/python3.12/dist-packages/iptc/xtables.py:869, in set_nfproto.<locals>.new(*args)
867 xtobj = args[0]
868 xtables._xtables_set_nfproto(xtobj.proto)
--> 869 return fn(*args)
File /usr/local/lib/python3.12/dist-packages/iptc/xtables.py:1144, in xtables.parse_match(self, argv, invert, m, fw, ptr, x6_parse, x6_options)
1142 entry = self._option_lookup(x6_options, argv[0])
1143 if not entry:
-> 1144 raise XTablesError("%s: no such parameter %s" % (m.name,
1145 argv[0]))
1147 cb = xt_option_call()
1148 cb.entry = ct.pointer(entry)
XTablesError: b'udp': no such parameter b'sport'
There are other things that do not work, such as sport for match udp. I don't know why iptc doesn't work with iptables in version 1.8.11-2 anymore.
AbsurdlySuspicious
Metadata
Metadata
Assignees
Labels
No labels