ldx / python-iptables

Python bindings for iptables
731 stars 183 forks source link

iptc.errors.XTablesError: can't find target response on iptc.easy.dump_table('filter', ipv6=False) and others #324

Open dazwin opened 2 years ago

dazwin commented 2 years ago

Environment:

Sample code:

import os

os.environ['XTABLES_LIBDIR'] = "/usr/lib/iptables"
os.environ['PYTHON_IPTABLES_XTABLES_VERSION'] = "12"
import iptc

print(iptc.easy.dump_table('filter', ipv6=False))

Full result:

Traceback (most recent call last):
  File "python-iptables-cli.py", line 10, in <module>
    print(iptc.easy.dump_table('filter', ipv6=False))
  File "/usr/lib/python3.7/site-packages/iptc/easy.py", line 208, in dump_table
  File "/usr/lib/python3.7/site-packages/iptc/easy.py", line 208, in <dictcomp>
  File "/usr/lib/python3.7/site-packages/iptc/easy.py", line 213, in dump_chain
  File "/usr/lib/python3.7/site-packages/iptc/ip4tc.py", line 1518, in _get_rules
  File "/usr/lib/python3.7/site-packages/iptc/ip4tc.py", line 1518, in <listcomp>
  File "/usr/lib/python3.7/site-packages/iptc/ip4tc.py", line 1834, in create_rule
  File "/usr/lib/python3.7/site-packages/iptc/ip4tc.py", line 957, in __init__
  File "/usr/lib/python3.7/site-packages/iptc/ip4tc.py", line 1369, in _set_rule
  File "/usr/lib/python3.7/site-packages/iptc/ip4tc.py", line 728, in __init__
iptc.errors.XTablesError: can't find target

The problem appears to be that python-iptables is trying to load libxt_standard.so. This file does not exist on OpenWRT. I believe it is built-in module and so the assumption is that python-iptables should recognize this and not fail.