File: //opt/imunify360/venv/lib64/python3.11/site-packages/imav/__pycache__/server.cpython-311.pyc
�
՞iO � �R � d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
mZ ddlm
Z
mZ ddlmZ ddlmZ ddlmZmZ ddlmZ ddlZdd lmZ ddlZddlZddlZdd
lmZ ddl m!Z!m"Z" ddl#m$Z$m%Z%m&Z&m'Z'm(Z( dd
l)m*Z* ddl+m,Z, ddl-m.Z.m/Z/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7m8Z8m9Z9 ddl:m;Z;m<Z<m=Z=m>Z>m?Z? ddl@mAZAmBZB ddlCmDZDmEZEmFZFmGZG ddlHmIZI ddlJmKZK ddlLmMZM ddlNmOZOmPZP ddlQmRZR ddlSmTZTmUZUmVZV ddlWmXZXmYZY ddlZZZdZ[ ede'j\ z � � Z]d Z^ ej_ e`� � Za ePeO�!� � eajb � � Zc G d"� d#� � Zde
d$� � � Zed8d&�Zfd'� Zgd(� Zhd)� Zid*� Zjd+� Zkd%ee5elelf fd,�Zmd-e5fd.�Znd/� Zod0� Zpd1eld%dfd2�Zqd3� Zrd4� Zsd5� Ztd6� Zud7� ZvdS )9u
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License,
or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Copyright © 2019 Cloud Linux Software Inc.
This software is also available under ImunifyAV commercial license,
see <https://www.imunify360.com/legal/eula>
� N)�ThreadPoolExecutor)�contextmanager�suppress)�partial)�Path)�CalledProcessError�check_output)�Tuple)�
AlreadyLocked)�files)�health�
inactivity)�ConfigsValidator�Core�Merger�Model� SimpleRpc)� HookEvent)�
LicenseCLN)�MessageSink�
MessageSource)�g)�IndependentAgentIDAPI)�TheSink)�instance�simplification� tls_check)�NonRootRpcServer�NonRootRpcServerAV� RpcServer�RpcServerAV�
is_running)�persistent_state�systemd_notifier)�Task�create_task_and_log_exceptions�is_root_user�is_systemd_boot)�shutdown_process_pools)�is_db_corrupted)�EXITCODE_GENERAL_ERROR)�DAY�
rate_limit)�flush_sentry)�MalwareHitStatus�MalwareScanResourceType�VulnerabilityHitStatus)�
MalwareHit�VulnerabilityHiti4 z%s.is_corruptedz�Imunify360 database is corrupt. Application cannot run with corrupt database. Please, contact Imunify360 support team at https://cloudlinux.zendesk.com)�periodc � � e Zd Zd� Zd� ZdS )�TaskFactoryc �, � t � � | _ d S �N)�set�pool)�selfs �@/opt/imunify360/venv/lib/python3.11/site-packages/imav/server.py�__init__zTaskFactory.__init__g s � ��E�E�� � � � c � � t ||�� � }| j � |� � |� | j j � � |S )N��loop)r% r: �add�add_done_callback�discard)r; rA �coro�tasks r<