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

Dir : /opt/imunify360/venv/lib64/python3.11/site-packages/im360/internals/core/
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/ip_versions.py

from typing import Set

from im360.utils.net import is_ipv6_enabled
from defence360agent.utils.validate import IP, IPVersion

_state = {}  # type: Dict[IPVersion, bool]


def init() -> None:
    global _state
    _state = {IP.V4: True, IP.V6: is_ipv6_enabled()}


def enable(ip_version: IPVersion) -> None:
    _state[ip_version] = True


def disable(ip_version: IPVersion) -> bool:
    if ip_version == IP.V6:
        _state[ip_version] = False
        return True
    return False


def is_enabled(ip_version: IPVersion) -> bool:
    return _state[ip_version]


def enabled() -> Set[IPVersion]:
    return set(k for k, v in sorted(_state.items()) if v)


def all() -> Set[IPVersion]:
    return set(_state.keys())