99 ddlZddlmZddlmZddlmZddlmZm Z m Z ddl m Z ddl mZmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZejeZdxZ\ Z Z!Z"Z#Z$Z%Z&Z'Z(Z)Z*Z+edZ,de-fdZ.d)dee/de-fdZ0d)dee/de-fdZ1d)dee/de-fdZ2d)dee/fdZ3d)dee/de-fdZ4 d)dee/de-fdZ5d)dee/fdZ6d)dee/fdZ7ej8dddZ9ej8dd d!Z: d)de/dzde-fd"Z;d)dee/fd#Ze e1e!e2e"e3e#e4e$e5e%e6e&e7e'e9e(e;e)ei Z?de-fd&Z@d*d'ZAdeBe/fd(ZCdS)+N)iscoroutinefunction)Path)Optional)MyImunifyConfigPermissionsConfig Wordpress) 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.editzwordpress.waf.editz/etc/sysconfig/imunify360returnc\tjtjko tjSN)rNAMErrUSE_PLESK_SERVICE_PLANZ/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/contracts/permissions.pyis_plesk_service_plan_enabledr7s#uz) 5  4ruserc*tj|Sr)r get_protectionrs rmyimunify_protection_enabledr>s  #D ) ))rcX|dStj|jttfvSNT)r get_permavr r rs rms_viewr$Bs2 |t ! *4 0 0 3 8 rctjstjsdS|dStrdSt j|jtkS)NFT)r is_freeis_validrr r"r#r rs rms_cleanr(Ls^:#6#8#8u |t$&&t ! *4 0 0 3t ;;rcVtjrt|St|Sr)rENABLEDrr(rs r&ms_clean_requires_myimunify_protectionr+Zs'2+D111 D>>rc^|dStjrdStrdStjSr!)rr*rrALLOW_MALWARE_SCANrs rms_on_demand_scanr.`s8 |tt$&&t  //rcPtjrt|StjSr)rr*rrr-rs r$ms_on_demand_scan_without_rate_limitr0os&2+D111  //rc>|dStjrdStjSNTF)rr*rUSER_IGNORE_LISTrs rms_ignore_list_editr4xs% |tu  --rc>|dStjrdStjSr2)rr*rUSER_OVERRIDE_MALWARE_ACTIONSrs rms_config_default_action_editr7s' |tu  ::rzimav.contracts.permissionsis_imunify_patch_enabledcdSNFr_s rr=er)modulenamedefaultz.imav.malwarelib.api.imunify_patch_subscriptionhas_imunify_patch_subscriptionscdSr:rr;s rr=r=r>rcKtjp,t|ptjd{VjSr)r is_eligible_for_imunify_patchrBrget_purchase_eligibilityeligiblers r%ms_imunify_patch_eligible_to_purchaserHsQ 022  *4 0 0 .FHH H H H H H H  rcN|dStj|jtkSr!)r r" proactiver rs rpd_viewrKs% |t ! *4 0 0 :d BBrc>|dStjrdStjSr2)rr*rUSER_OVERRIDE_PROACTIVE_DEFENSErs rpd_config_mode_editrNs% |tu  <z$permissions_list..sO     D11 1 1 1 1 1 1    r) PERMISSIONSrs`rpermissions_listrdsP    %         rr)rN)Dloggingasyncio.coroutinesrpathlibrtypingr defence360agent.contracts.configrrr!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__loggerrcMS_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_EDIT WP_WAF_EDITGLOBAL_CONFDIRrQrstrrr$r(r+r.r0r4r7rWms_imunify_patch_enabledrBrHrKrNrTrVr[r^listrdrrrrss222222 988888HHHHHHHHKKKKKK555555DDDDDD555555******  8 $ $    *(!)  122t**x}*****(3-4 < <8C=