ZҎLs8dZddlZddlZddlmZddlmZddlmZddl 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.m/Z/ddl0m1Z1ddl2m3Z3m4Z4ddl5m6Z6ddl7m8Z8e,j9rddl:m;Z;nddlGdde$Z?Gdde$Z@Gdde%ZAGdde$ZBGdde%ZCGd d!e%ZDGd"d#e%ZEdS)$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)IMUNIFY_PACKAGE_NAMES 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_show:s_%''  926,T22N^, ,Y55778 8defaultscKtj}dt|tdt |diS)Nr-F) normalize)mutable_config local_configimmutable_config)rget_layer_namesconfigs_to_dictr r/r )r0 layer_pathss r4config_show_defaultsz$ConfigEndpoints.config_show_defaultsEsu#355 "/ "<"<"L"L"N"N + < Kdttd{ViSr,)r r)r0r1s r4get_package_versionsz-PackageVersionsEndpoints.get_package_versionss-34IJJJJJJJJKKr6rT)rVrWrXrrorYr6r4rmrmsD T !!LLL"!LLLr6rmc6eZdZeddZdS) NewsEndpointszget-newsc<Kdtjd{ViSr,)rrir0s r4get_newszNewsEndpoints.get_newss)x|~~------..r6N)rVrWrXrrtrYr6r4rqrqs8 T*/////r6rqceZdZejZedddZeddZeddZeddd Z ed d Z ed dZ ed d dZ 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 rrEinfo unregisterrrwrstrrrFr' HostingPanel retrieve_keyNotImplementedErrorrformat)r0regkeyepanel_es r4rwzEndpoints.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  HHHr}cKtjstdtjrtdt jd{ViS)NzAgent is not registered yetz$Free license can not be unregistered)rrzris_freerr}rss r4r}zEndpoints.unregistersm')) A!"?@@ @     J!"HII In r6zupdate-licensec4Ktjstdtj}t jd{Vt_tj|d{V}|tdiS)Nz(Unregistered (server-id is not assigned)z*License does not exist. Agent unregistered) rrzrr`r'r users_countr refresh_token)r0token new_tokens r4update_licensezEndpoints.update_licenses')) N!"LMM M$&&,..::<< < < < < < < +E22222222  !"NOO O r6rstatusFcKtjtjst d|r"tjrt d|S)Nz%License is invalid for current serverz Free license)rr`ryr{rr license_info)r0paids r4rzEndpoints.rstatusst((***"$$ K!"IJJ J  2J&(( 2!.11 1  """r6versionc"KdtjiSr,) CoreConfigVERSIONrss r4rzEndpoints.versions+,,r6wakeupc KiS)zBWake up the agent, so it can process the request, if it's sleepingrYrss r4rzEndpoints.wakeups  r6rAlatestcK|rl|tjjvrY|r&tj|S|r.tj|||d{VSn|s|dkrtd tj||d{VdS#tj tj f$rYdSwxYw)Nrz9Listing and version are not supported for this files type) r FilesUpdateDISABLEDrIndexget_list update_torrAasyncio TimeoutError UpdateError)r0subjforcelistrs r4 update_fileszEndpoints.update_filess   DF.777 4{4((11333 I"[..88%HHHHHHHHH I w(**%O ,tU++ + + + + + + + + +$e&78    DD s B&&CCr acceptc<Ktjd{VdSrT)r rrss r4 eula_acceptzEndpoints.eula_accept s*kmmr6r*c,KtjSrT)r textrss r4 eula_showzEndpoints.eula_showsy{{r6checkdbc^K|rtjdStjdS)zmCheck DB consistency and repair if needed. If recreate_schema is set recreate schema for attached DB.N)rrecreate_schemacheck_and_repair)r0rs r4rzEndpoints.checkdbs:  (  $ & & & & &  % ' ' ' ' 'r6doctorc8Ktd{V}d|zS)Nz8Please, provide this key: %s to Imunify360 Support Team r%)r0keys r4rzEndpoints.doctors0"$$$$$$$$ IC O r6supportsendcK 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"rEerror descriptiondetails) r0emailsubjectrcln attachments doctor_key ticket_urlrs r4send_to_supportzEndpoints.send_to_support$s  -////////JJ   JJJ  +w Zk  JJ    LL       *&&s# ((A B-A>>BrT)F)NFFrrU)rVrWrXrrrrwr}rrrrrrrrrrrYr6r4rvrvs*L T*####J T, T     T)__###_# T)__--_- T(^^^ T(^^:B^$ T&( T&& T)__(((_( T(^^  ^  T)VAE''''''r6rvcjeZdZdZdZedddZedddZdS) WhmcsEndpointz< Describes all endpoints for interaction with WHMCS 1billingsynccK tj|}n"#tj$rtdwxYwt |j|d{V}d|dS)Nz Invalid JSONsuccessrRrH)rCrDJSONDecodeError ValueErrorr$rG)r0rH decoded_datarRs r4 billing_synczWhmcsEndpoint.billing_syncIsy -:d++LL# - - -^,, , -(\BBBBBBBB#V444s8z get-configczKt|jttd{V}d|dS)N)rbilling_licenseissuesrr)dictrrr)r0rRs r4billing_get_configz WhmcsEndpoint.billing_get_configRsSL,..:<<<<<<<<    $V444r6N)rVrWrX__doc__rrrrrYr6r4rrAss G T)V555 T)\""55#"555r6r)FrrrCloggingrdefence360agentrdefence360agent.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.utilsrrrrrr defence360agent.utils.configr!defence360agent.utils.supportr"r#defence360agent.utils.whmcsr$defence360agent.utils.doctorr&disabledim360.subsys.panelsr'defence360agent.subsys.panelsrVrEr)r[rhrmrqrvrrYr6r4rs !!!!!!44444411111100000022222222988888LLLLLLLLLL655555 >=====766666GGGGGGGG999999777777<1111111;;;;;; 8  BBBBBoBBBJ      _             LLLLLLLL /////M/// W'W'W'W'W' W'W'W't55555M55555r6