wo4h)4dZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZmZdd lmZmZmZmZmZmZdd lmZdd lmZmZmZdd lmZm Z dd l!m"Z"ddl#m$Z$m%Z%m&Z&ddl'm(Z(ddl)m*Z*m+Z+m,Z,m-Z-m.Z.ddl/m0Z0ddl1m2Z2m3Z3ddl4m5Z5ddl6m7Z7e+j8rddl9m:Z:nddl;m:Z:ee<Z=Gdde$Z>Gdde$Z?Gdde%Z@Gdde$ZAGdde%ZBGd d!e%ZCGd"d#e%ZDdS)$z" Here you enumerate rpc endpoints N) getLogger)files) JWTIssuer)NewsFeed)PamAuth)configeula)ANTIVIRUS_MODECoreImmutableMerger LocalConfig MutableMergereffective_user_config) LicenseCLN)CLNCLNErrorInvalidLicenseError)!collect_billing_incompatibilitiesget_license_type)ValidationError)CommonEndpoints RootEndpointsbind)PanelException) CheckRunErrorantivirus_modecheck_dbgetpwnamsystem_packages_info) update_config)ZendeskAPIError send_request)sync_billing_dataget_doctor_key) hosting_panelceZdZeddddZeddddZeddddZedd dd Zedd dd Zedd ddZ dS)ConfigEndpointsrshowNcKtj}|r&t|tj|}d|iSd|iSNitems)r ConfigFilerconfig_to_dict)selfuser full_confuser_conf_dicts Y/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/simple_rpc/endpoints.py config_showzConfigEndpoints.config_show9s_%''  926,T22N^, ,Y55778 8defaultscKtj}dt|tdt |diS)Nr,F) normalize)mutable_config local_configimmutable_config)rget_layer_namesconfigs_to_dictr r.r )r/ layer_pathss r3config_show_defaultsz$ConfigEndpoints.config_show_defaultsDsu#355 "/ "<"<"L"L"N"N + <  imunify-ui imunify-coreimunify-antivirusimunify360-firewallr,)r)r/r0 package_lists r3get_package_versionsz-PackageVersionsEndpoints.get_package_versionss?   3LAAAAAAAABBr5rJ)rSrTrUrrqrVr5r3rjrjsD T !!CCC"!CCCr5rjc6eZdZeddZdS) NewsEndpointszget-newsc<Kdtjd{ViSr+)rrfr/s r3get_newszNewsEndpoints.get_newss)x|~~------..r5N)rSrTrUrrvrVr5r3rsrss8 T*/////r5rsceZdZejZedddZeddZeddZeddd Z ed d Z ed dZ edddZ edddZ edddZedddZeddZedd d dZdS)! EndpointsregisterNc HKtjtjrrtjrt st dnHtdtjz| d{V tj |d{Vn_#t$r!}t t|d}~wt$r(}td| tj t!jd{Vd{Vn#t&$r7tdt t|t($rB}t dt|t|d}~wttf$r!}t t|d}~wwxYwYd}~nd}~wwxYwiS)NzAgent is already registeredz!Unregistering invalid license: %szUCan't register %r as imunify360 key. Trying to register it as a web panel key insteadz3Registration with web panel's key doesn't supportedz{}, {})rr] cache_clear is_registeredis_validr rloggerinfo unregisterrryrstrrwarningr& HostingPanel retrieve_keyNotImplementedErrorrformat)r/regkeyepanel_es r3ryzEndpoints.registers((***  # % % ("$$ (%I)*GHHHI 7 *,,-oo''''''''' .,v&& & & & & & & & &" * * *!#a&&)) ) . . . NN9    .l'466CCEEEEEEEE' . . .I&c!ff---! M M M%hooc!ffc'll&K&KLLL12 . . .%c!ff--- . .& sV'C H C))H7HAEHA H =GH1H  HHHrcKtjstdtjrtdt jd{ViS)NzAgent is not registered yetz$Free license can not be unregistered)rr|ris_freerrrus r3rzEndpoints.unregistersm')) A!"?@@ @     J!"HII In r5zupdate-licensec4Ktjstdtj}t jd{Vt_tj|d{V}|tdiS)Nz(Unregistered (server-id is not assigned)z*License does not exist. Agent unregistered) rr|rr]r&r users_countr refresh_token)r/token new_tokens r3update_licensezEndpoints.update_licenses')) N!"LMM M$&&,..::<< < < < < < < +E22222222  !"NOO O r5rstatusFcKtjtjst d|r"tjrt d|S)Nz%License is invalid for current serverz Free license)rr]r{r}rr license_info)r/paids r3rzEndpoints.rstatusst((***"$$ K!"IJJ J  2J&(( 2!.11 1  """r5versionc"KdtjiSr+) CoreConfigVERSIONrus r3rzEndpoints.versions+,,r5wakeupc KiS)zBWake up the agent, so it can process the request, if it's sleepingrVrus r3rzEndpoints.wakeups  r5r@cK tj||d{VdS#tjtjf$rYdSwxYwrJ)rr@asyncio TimeoutError UpdateError)r/subjforces r3 update_fileszEndpoints.update_filessb ,tU++ + + + + + + + + +$e&78    DD s!AAr acceptc<Ktjd{VdSrJ)r rrus r3 eula_acceptzEndpoints.eula_accepts*kmmr5r)c,KtjSrJ)r textrus r3 eula_showzEndpoints.eula_showsy{{r5checkdbc^K|rtjdStjdS)zmCheck DB consistency and repair if needed. If recreate_schema is set recreate schema for attached DB.N)rrecreate_schemacheck_and_repair)r/rs r3rzEndpoints.checkdb s:  (  $ & & & & &  % ' ' ' ' 'r5doctorc8Ktd{V}d|zS)Nz8Please, provide this key: %s to Imunify360 Support Team r$)r/keys r3rzEndpoints.doctors0"$$$$$$$$ IC O r5supportsendcK td{V}n#t$rd}YnwxYw t||||||d{V}n?#t$r2}td|j|j|jd}~wwxYwd|giS)Nz@Got error from Zendesk API. error=%s, description=%s, details=%sr,)r%rr"r!r~error descriptiondetails) r/emailsubjectrcln attachments doctor_key ticket_urlrs r3send_to_supportzEndpoints.send_to_supports  -////////JJ   JJJ  +w Zk  JJ    LL       *&&s# ((A B-A>>BrJ)F)NFrR)rSrTrUrrrryrrrrrrrrrrrrVr5r3rxrxs*L T*####J T, T     T)__###_# T)__--_- T(^^^ T(^^^  T&( T&& T)__(((_( T(^^  ^  T)VAE''''''r5rxcjeZdZdZdZedddZedddZdS) WhmcsEndpointz< Describes all endpoints for interaction with WHMCS 1billingsynccK tj|}n"#tj$rtdwxYwt |j|d{V}d|dS)Nz Invalid JSONsuccessrPrE)rBrCJSONDecodeError ValueErrorr#rD)r/rE decoded_datarPs r3 billing_synczWhmcsEndpoint.billing_sync?sy -:d++LL# - - -^,, , -(\BBBBBBBB#V444s8z get-configczKt|jttd{V}d|dS)N)rbilling_licenseissuesrr)dictrrr)r/rPs r3billing_get_configz WhmcsEndpoint.billing_get_configHsSL,..:<<<<<<<<    $V444r5N)rSrTrU__doc__rrrrrVr5r3rr7ss G T)V555 T)\""55#"555r5r)ErrrBloggingrdefence360agentrdefence360agent.api.jwt_issuerrdefence360agent.api.newsfeedrdefence360agent.api.pam_authrdefence360agent.contractsrr defence360agent.contracts.configr r rr r rr!defence360agent.contracts.licenserdefence360agent.internals.clnrrr!defence360agent.myimunify.billingrrdefence360agent.rpc_toolsr defence360agent.rpc_tools.lookuprrr"defence360agent.subsys.panels.baserdefence360agent.utilsrrrrrdefence360agent.utils.configr defence360agent.utils.supportr!r"defence360agent.utils.whmcsr#defence360agent.utils.doctorr%disabledim360.subsys.panelsr&defence360agent.subsys.panelsrSr~r(rXrerjrsrxrrVr5r3rs !!!!!!44444411111100000022222222988888LLLLLLLLLL655555 >=====766666GGGGGGGG999999777777<1111111;;;;;; 8  ?????o???D      _               C C C C C C C C/////M/// K'K'K'K'K' K'K'K'\55555M55555r5