| Linux server27.hostingraja.org 2.6.32-954.3.5.lve1.4.93.el6.x86_64 #1 SMP Wed Oct 4 17:04:29 UTC 2023 x86_64 Path : /opt/imunify360/venv/lib64/python3.11/site-packages/im360/internals/core/rules/ |
| Current File : //opt/imunify360/venv/lib64/python3.11/site-packages/im360/internals/core/rules/port.py |
"""Put redirect_port_rules here to avoid circular import."""
from typing import Callable, Dict, Iterator, Set
from .types_ import FirewallRule
def redirect_port_rules(
ipset_name: str,
dest_ports: Set[int],
redirect_map: Dict[int, int],
table: str,
redirector: Callable,
) -> 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,
)