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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/imunify360/venv/lib/python3.11/site-packages/im360/internals/core/rules/white.py
"""Whitelist [sync/static] specific rules customization."""
from typing import Iterator

from im360.contracts.config import UnifiedAccessLogger
from im360.internals.core import firewall
from im360.internals.core.firewall import FirewallRules
from defence360agent.utils.validate import IPVersion

from .log import rules as log_rules
from .types_ import FirewallRule


def rules(
    ipset_name: str,
    ip_version: IPVersion,
    priority: int = FirewallRules.WHITELIST_PRIORITY,
) -> Iterator[FirewallRule]:
    """Yield iptables *ip_version* white.sync rules for *ipset_name*."""
    yield from log_rules(
        ipset_name, ip_version, UnifiedAccessLogger.WHITELIST, priority
    )
    rule_name = FirewallRules.ipset_rule(ipset_name, FirewallRules.RETURN)
    yield FirewallRule(rule=rule_name, priority=priority)
    yield FirewallRule(
        rule=rule_name,
        table=FirewallRules.NAT
        if firewall.is_nat_available(ip_version)
        else FirewallRules.MANGLE,
        priority=priority,
    )

F1le Man4ger