PK œqhYî¶J‚ßFßF)nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/ $#$#$#

Dir : /opt/imunify360/venv/lib64/python3.11/site-packages/im360/internals/core/rules/
Server: Linux cloud.virginhosting.lk 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
IP: 128.140.68.198
Choose File :

Url:
Dir : //opt/imunify360/venv/lib64/python3.11/site-packages/im360/internals/core/rules/log.py

"""Methods to generate logging iptables rules."""
from typing import Iterator

from im360.internals.core import firewall
from im360.internals.core.firewall import FirewallRules, rule_logging_enabled
from defence360agent.utils.validate import IPVersion

from .types_ import FirewallRule


def rules(
    ipset_name: str, ip_version: IPVersion, prefix: str, priority: int
) -> Iterator[FirewallRule]:
    """Logging iptables rules for ..{sync,ip}.IPSet ipsets."""
    if firewall.firewall_logging_enabled() and rule_logging_enabled(prefix):
        yield FirewallRule(
            rule=FirewallRules.compose_rule(
                FirewallRules.ipset(ipset_name),
                action=FirewallRules.nflog_action(
                    group=FirewallRules.nflog_group(ip_version),
                    prefix=prefix,
                ),
            ),
            priority=priority,
        )