-DE/ d dl Z d dlmZ d dlmZmZmZmZ d dlm Z d dl mZ e j e ZdZd Zd Zd Zd Z G d d Zd ZdS ) N) LicenseCLN) OsReleaseInfo check_runrunsystem_packages_info)get_hardened_php_feature) KernelCarez]wget -qq -O - https://repo.imunify360.cloudlinux.com/defence360/imunifyemail-deploy.sh | bashc p t j t j z rt t fS dS )N )r id_likeRHEL_FEDORA_CENTOSr r r S/opt/imunify360/venv/lib/python3.11/site-packages/im360/subsys/features/__init__.pylist_feature_typesr s2 !AA 46677rr c . t t dS )N)zhardened-php kernelcare)r r r r r get_applicable_featuresr s 022 r c t D ]4}t | | d }t | r | 5dS )z Features repo-files depends on server_id, so it should be actual after every registration operation :param str op: generate_repo/remove_repo N)r getattrcallable)opfeaturemethod_to_calls r update_features_reposr % sY &'' B55N## N r c K t j r+t d t d d S t d t d d S )Nz8Updating repositories configuration with new credentials generate_repoz>License is invalid. Repositories for features will be disabledremove_repo)r is_validloggerinfor warningr r r update_reposr" 1 so -NOOOo..... L m,,,,,r c e Zd ZdZed d Zed d Zedefd Zed d Z ed d Z dS ) IMEmailWrapperimunifyemailreturnNc B K t t d d{V dS )zInstalls imunifyemail.T)shellN)r INSTALL_IE_CMDclss r installzIMEmailWrapper.installA s3 d333333333333r c K t | j g d{V }|| j | d{V dS dS )z'Installs imunifyemail if not installed.N)r PKG_NAMEr, )r+ imunify_email_packages r ensure_installedzIMEmailWrapper.ensure_installedF sg ';CL>&J&J J J J J J J .6++-- 76r c n K t ddg d{V \ }}}n# t $ r Y dS w xY w|dk S )z'Checks whether imunifyemail is enabled./usr/sbin/ie-configzis-onNFr )r FileNotFoundError)r+ returncodeouterrs r is_enabledzIMEmailWrapper.is_enabledM sg ),.CW-M)N)N#N#N#N#N#N#N JSS 55 Qs ..c p K | d{V st g d d{V dS dS )z!Enables imunifyemail if disabled.N)r2 -venabler7 r r* s r ensure_enabledzIMEmailWrapper.ensure_enabledW sf ^^%%%%%%%% ECCCDDDDDDDDDDD E Er c p K | d{V rt g d d{V dS dS )z!Disables imunifyemail if enabled.N)r2 r9 disabler; r* s r ensure_disabledzIMEmailWrapper.ensure_disabled] sy !!!!!!!! 888 r )r&