Adjust iptc for match-all

This commit is contained in:
Darryl Nixon 2023-06-30 11:59:56 -07:00
parent d4d9147b23
commit 7f21bb8225

View file

@ -35,20 +35,21 @@ class NetQueue:
def _create_rule(self) -> iptc.Rule:
rule = iptc.Rule()
match = iptc.Match(rule, self.protocol)
target = iptc.Target(rule, "NFQUEUE")
target.set_parameter("queue-num", str(self.queue))
if self.protocol:
match = iptc.Match(rule, self.protocol)
rule.add_match(match)
rule.target = target
return rule
def write_rule(self):
table = iptc.Table(iptc.Table.FILTER)
table = iptc.Table(iptc.Table.MANGLE)
chain = iptc.Chain(table, "INPUT")
chain.insert_rule(self.rule)
def delete_rule(self):
table = iptc.Table(iptc.Table.FILTER)
table = iptc.Table(iptc.Table.MANGLE)
chain = iptc.Chain(table, "INPUT")
try:
chain.delete_rule(self.rule)
@ -82,7 +83,7 @@ class NetQueue:
def validate_protocol(protocol: Optional[str]) -> Union[str, None]:
if protocol:
try:
Protocols(protocol)
Protocols[protocol]
except KeyError:
raise KeyError(f"Invalid protocol: {protocol}")
return protocol