0xsec Shell
0xSec


Server : LiteSpeed
System : Linux webbox1.ncrdns.net 5.14.0-611.55.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 19 15:19:29 EDT 2026 x86_64
User : rahcos ( 1533)
PHP Version : 8.4.23
Disable Function : NONE
Directory :  /opt/imunify360/venv/lib/python3.11/site-packages/im360/plugins/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/imunify360/venv/lib/python3.11/site-packages/im360/plugins/webshield_feature_flags.py
import logging

from defence360agent.contracts.config import SystemConfig
from defence360agent.contracts.messages import MessageType
from defence360agent.contracts.plugins import MessageSink, expect
from defence360agent.subsys import svcctl
from im360.contracts.config import Webshield

logger = logging.getLogger(__name__)


class WebshieldFeatureFlagsPlugin(MessageSink):
    def __init__(self):
        self._loop = None
        self._use_feature_flags = Webshield.USE_FEATURE_FLAGS

    async def create_sink(self, loop) -> None:
        self._loop = loop

    @expect(MessageType.ConfigUpdate)
    async def on_config_update(self, message: MessageType.ConfigUpdate):
        if not isinstance(message["conf"], SystemConfig):
            return
        current = Webshield.USE_FEATURE_FLAGS
        if current == self._use_feature_flags:
            return
        logger.info(
            "WEBSHIELD.use_feature_flags changed from %s to %s,"
            " restarting agent",
            self._use_feature_flags,
            current,
        )
        self._use_feature_flags = current
        await svcctl.imunify360_agent_service().restart()

c0oded By c0rpz