hddlZddlmZddlmZddlmZddlmZm Z ddl m Z ddl m Z mZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZejeZdxZ\ ZZ Z!Z"Z#Z$Z%Z&Z'Z(Z)edZ*de+fdZ,d(dee-de+fdZ.d(dee-de+fdZ/d(dee-de+fdZ0d(dee-fdZ1d(dee-de+fdZ2 d(dee-de+fdZ3d(dee-fdZ4d(dee-fdZ5ej6dddZ7ej6dd d!Z8 d(de-dzde+fd"Z9d(dee-fd#Z:d(dee-fd$Z;ee/e e0e!e1e"e2e#e3e$e4e%e5e&e7e'e9e(e:e)e;i Zde?e-fd'Z@dS)*N)iscoroutinefunction)Path)Optional)MyImunifyConfigPermissionsConfig) LicenseCLN) AV_REPORTFULL)FeatureManagementPerms) MyImunify) HostingPanel)Plesk)importer)ImunifyPatchSubscriptionAPI) zmalware_scanner.viewzmalware_scanner.cleanz3malware_scanner.clean_requires_myimunify_protectionzmalware_scanner.on_demand.scanz1malware_scanner.on_demand.scan_without_rate_limitz malware_scanner.ignore_list.editz*malware_scanner.config.default_action.editz%malware_scanner.imunify_patch.enabledz2malware_scanner.imunify_patch.eligible_to_purchasezproactive_defense.viewz"proactive_defense.config.mode.editz/etc/sysconfig/imunify360returnc\tjtjko tjSN)r NAMErrUSE_PLESK_SERVICE_PLANZ/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/contracts/permissions.pyis_plesk_service_plan_enabledr1s#uz) 5  4ruserc*tj|Sr)r get_protectionrs rmyimunify_protection_enabledr8s  #D ) ))rcX|dStj|jttfvSNT)r get_permavr r rs rms_viewr#<s2 |t ! *4 0 0 3 8 rctjstjsdS|dStrdSt j|jtkS)NFT)ris_freeis_validrr r!r"r rs rms_cleanr'Fs^:#6#8#8u |t$&&t ! *4 0 0 3t ;;rcVtjrt|St|Sr)rENABLEDrr'rs r&ms_clean_requires_myimunify_protectionr*Ts'2+D111 D>>rc^|dStjrdStrdStjSr )rr)rrALLOW_MALWARE_SCANrs rms_on_demand_scanr-Zs8 |tt$&&t  //rcPtjrt|StjSr)rr)rrr,rs r$ms_on_demand_scan_without_rate_limitr/is&2+D111  //rc>|dStjrdStjSNTF)rr)rUSER_IGNORE_LISTrs rms_ignore_list_editr3rs% |tu  --rc>|dStjrdStjSr1)rr)rUSER_OVERRIDE_MALWARE_ACTIONSrs rms_config_default_action_editr6}s' |tu  ::rzimav.contracts.permissionsis_imunify_patch_enabledcdSNFr_s rr<er)modulenamedefaultz.imav.malwarelib.api.imunify_patch_subscriptionhas_imunify_patch_subscriptionscdSr9rr:s rr<r<r=rcKtjp,t|ptjd{VjSr)ris_eligible_for_imunify_patchrArget_purchase_eligibilityeligiblers r%ms_imunify_patch_eligible_to_purchaserGsQ 022  *4 0 0 .FHH H H H H H H  rcN|dStj|jtkSr )r r! proactiver rs rpd_viewrJs% |t ! *4 0 0 :d BBrc>|dStjrdStjSr1)rr)rUSER_OVERRIDE_PROACTIVE_DEFENSErs rpd_config_mode_editrMs% |tu  <z$permissions_list..sO     D11 1 1 1 1 1 1    r) PERMISSIONSrs`rpermissions_listr\sP    %         rr)rN)Aloggingasyncio.coroutinesrpathlibrtypingr defence360agent.contracts.configrr!defence360agent.contracts.licenser,defence360agent.feature_management.constantsr r (defence360agent.feature_management.modelr defence360agent.myimunify.modelr +defence360agent.subsys.panels.hosting_panelr #defence360agent.subsys.panels.pleskrdefence360agent.utilsr.imav.malwarelib.api.imunify_patch_subscriptionr getLogger__name__loggerr[MS_VIEWMS_CLEAN&MS_CLEAN_REQUIRES_MYIMUNIFY_PROTECTIONMS_ON_DEMAND_SCAN$MS_ON_DEMAND_SCAN_WITHOUT_RATE_LIMITMS_IGNORE_LIST_EDITMS_CONFIG_DEFAULT_ACTION_EDITMS_IMUNIFY_PATCH_ENABLED%MS_IMUNIFY_PATCH_ELIGIBLE_TO_PURCHASEPD_VIEWPD_CONFIG_MODE_EDITGLOBAL_CONFDIRboolrstrrr#r'r*r-r/r3r6getms_imunify_patch_enabledrArGrJrMrOrSrVlistr\rrrr~s+222222OOOOOOOO888888HHHHHHHHKKKKKK555555DDDDDD555555******  8 $ $    *(!) 122t**x}*****(3-4 < <8C=