ldx / python-iptables

Python bindings for iptables
730 stars 182 forks source link

cannot use protocol "all" #327

Open patman-cp opened 2 years ago

patman-cp commented 2 years ago

Using protocol "all" causes a failure, with an error of "ValueError: invalid protocol all".

The problem is that in iptc/ip4tc.py the value of socket.IPPROTO_IP is 0, so the setting of protocols in that file of 0 to "all" is overwritten by socket.IPPROTO_IP and the value all will not match the checks in set_protocol.

This in iptc/ip4tc.py:

    protocols = {0: "all",
                socket.IPPROTO_AH: "ah",
...
                socket.IPPROTO_IP: "ip",
...
                }