|
Server : LiteSpeed System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64 User : nandedex ( 1060) PHP Version : 8.1.33 Disable Function : NONE Directory : /opt/imunify360/venv/lib/python3.11/site-packages/im360/internals/core/rules/ |
"""Put redirect_port_rules here to avoid circular import."""
from typing import Callable, Dict, Iterator, Set
from im360.internals.core.firewall import FirewallRules
from .types_ import FirewallRule
def redirect_port_rules(
ipset_name: str,
dest_ports: Set[int],
redirect_map: Dict[int, int],
table: str,
redirector: Callable,
priority: int = FirewallRules.DEFAULT_PRIORITY,
) -> Iterator[FirewallRule]:
"""Generate common port redirection rules for captcha/splashscreen."""
for dest_port, target in redirect_map.items():
if dest_port not in dest_ports:
continue
yield FirewallRule(
rule=redirector(ipset_name, dest_port, target),
table=table,
priority=priority,
)