E|RUdZddlZddlZddlZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZdd lmZdd lmZmZdd lmZmZmZmZmZmZmZdd lmZdd l m!Z!m"Z"m#Z#ddl$m%Z%m&Z&ddl'm(Z(ddl)m*Z*m+Z+m,Z,ddl-m.Z.ddl/m0Z0ddl1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7ddl8m9Z9ddl:m;Z;mZ>ddl?m@Z@e4jArddlBmCZCnddlDmCZCeeEZFGdde*ZGdZHdZIdZJiZKe eLefeMd<edd ZNdZOdZPiZQe eRefeMd!<d"eLd#eSd$eTfd%ZUd#eSd$dfd&ZVd"eLd#eSd$dfd'ZWd"eLd$dfd(ZXd)eRd#eSd$eTfd*ZYd#eSd$dfd+ZZd)eRd#eSd$dfd,Z[Gd-d.e*Z\Gd/d0e+Z]Gd1d2e*Z^Gd3d4e+Z_Gd5d6e+Z`Gd7d8e+ZadS)9z" Here you enumerate rpc endpoints N)deque) getLogger)Dict)files) JWTIssuer)NewsFeed)PamAuth)configeula)ANTIVIRUS_MODECoreImmutableMerger LocalConfig MutableMergereffective_user_configint_from_envvar) LicenseCLN)CLNCLNErrorInvalidLicenseError)!collect_billing_incompatibilitiesget_license_type)ValidationError)CommonEndpoints RootEndpointsbind)caller_uid_var)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)ConfigEndpointsr showNcKtj}|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)Nr1F) normalize)mutable_config local_configimmutable_config)rget_layer_namesconfigs_to_dictrr3r)r4 layer_pathss r8config_show_defaultsz$ConfigEndpoints.config_show_defaultsJsu#355 "/ "<"<"L"L"N"N + < s T(F9999 T(FJ''   ('   T(H , , , , T(G,,,,  T(L!!"! T(J       r:r-gN@i'_login_pam_failuresI360_LOGIN_PAM_UID_MAXi,_login_pam_uid_failuresusernamenowreturnct|}|dS|tz }|r.|d|kr"||r |d|k"|s t|=dSt |t kS)NTr)r_get_LOGIN_PAM_WINDOWpopleftlen_LOGIN_PAM_MAX)rbrchistorycutoffs r8_login_pam_allowedrms!%%h//Gt $ $F gaj6)) gaj6))   )t w<<. ((r:c|tz fdtD}|D] }t|= dS)Nc2g|]\}}|dk|Sr].0uhrls r8 z$_login_pam_sweep..s& I I I41a!B%&..Q...r:)rgr_r1)rcstalerbrls @r8_login_pam_sweeprxsX $ $F I I I I.4466 I I IE**  ) )**r:cl|tvrptttkrSt|tttkr'tt t t=t|t|dSrX) r_ri_LOGIN_PAM_MAX_TRACKEDrxnextiter setdefaultrappend)rbrcs r8_login_pam_record_failurers+++ # $ $(> > > " # #'= = =#D.A)B)B$C$CD""8UWW55<.s& M M M41aaefnnQnnnr:)rrar1)rcrwrrls @r8_login_pam_uid_sweeprsX ( (F M M M M288:: M M ME)) #C ( ())r:ctdkrdS|tvrptttkrSt |tttkr'tt t t=t|t |dS)Nr) rrari_LOGIN_PAM_UID_MAX_TRACKEDrr{r|r}rr~)rrcs r8_login_pam_uid_record_failurersQ *** ' ( (,F F FS!!! & ' '+E E E'T2I-J-J(K(KL&&sEGG44;;C@@@@@r:c8eZdZedddZdS)LoginEndpointsloginpamcrKtj} tj}n7#t$r*t dtdwxYw|dkr:t||s*t d|tdt||s*t d|tdt}| ||}|sPt|||dkrt||t d|tdt!|t d |d t%|||d{ViS) Nz.AUDIT login.pam REJECTED: caller_uid_var unsetz,login.pam reached without caller_uid_var setrz#AUDIT login.pam RATE_LIMITED uid=%rz"Authentication rate limit exceededz(AUDIT login.pam RATE_LIMITED username=%rz"AUDIT login.pam FAILED username=%rzAuthentication failedz#AUDIT login.pam SUCCESS username=%rr1)time monotonicrrf LookupErrorrIerror RuntimeErrorrrJrrmr authenticaterrrinfor get_token get_user_type)r4rbpasswordrc caller_uidpam_auth authenticateds r8 login_via_pamzLoginEndpoints.login_via_pamsn O'+--JJ O O O LLI J J JMNN N O ??#9*c#J#J? NN@* M M M!"FGG G!(C00 H NN:H   ""FGG G99 --hAA  ; %h 4 4 4Q-j#>>> NN? J J J!"9:: :""" 98DDD Y[[** 6 6x @ @@@@@@@  s +4AN)rZr[r\rrr]r:r8rrs: T'5     r:rc8eZdZedddZdS)RootLoginEndpointsrrfcKt|stddt|t |d{ViS)NzUser name not foundr1)r#rrrr r)r4rbs r8 login_getzRootLoginEndpoints.login_getss!! 9!"788 8 Y[[** 7 7 A AAAAAAA  r:N)rZr[r\rrr]r:r8rrs: T'5     r:rc8eZdZedddZdS)PackageVersionsEndpointszget-package-versionsNc>Kdttd{ViSr0)r$r)r4r5s r8get_package_versionsz-PackageVersionsEndpoints.get_package_versionss-34IJJJJJJJJKKr:rX)rZr[r\rrr]r:r8rrsD T !!LLL"!LLLr:rc6eZdZeddZdS) NewsEndpointszget-newsc<Kdtjd{ViSr0)rrfr4s r8get_newszNewsEndpoints.get_news s)x|~~------..r:N)rZr[r\rrr]r:r8rr s8 T*/////r:rceZdZejZedddZeddZeddZeddd 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 rrIr unregisterrrrstrrrJr+ HostingPanel retrieve_keyNotImplementedErrorrformat)r4regkeyepanel_es r8rzEndpoints.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)rrris_freerrrs r8rzEndpoints.unregister;sm')) A!"?@@ @     J!"HII In r:zupdate-licensec4Ktjstdtj}t jd{Vt_tj|d{V}|tdiS)Nz(Unregistered (server-id is not assigned)z*License does not exist. Agent unregistered) rrrrr+r users_countr refresh_token)r4token new_tokens r8update_licensezEndpoints.update_licenseEs')) N!"LMM M$&&,..::<< < < < < < < +E22222222  !"NOO O r:rstatusFcKtjtjst d|r"tjrt d|S)Nz%License is invalid for current serverz Free license)rrrrrr license_info)r4paids r8rzEndpoints.rstatusRst((***"$$ K!"IJJ J  2J&(( 2!.11 1  """r:versionc"KdtjiSr0) CoreConfigVERSIONrs r8rzEndpoints.version[s+,,r:wakeupc KiS)zBWake up the agent, so it can process the request, if it's sleepingr]rs r8rzEndpoints.wakeup_s  r:rElatestcK|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_torrEasyncio TimeoutError UpdateError)r4subjforcelistrs r8 update_fileszEndpoints.update_filesds   DF.777 4{4((11333 I"[..88%HHHHHHHHH I w(**%O ,tU++ + + + + + + + + +$e&78    DD s B&&CCr acceptc<Ktjd{VdSrX)r rrs r8 eula_acceptzEndpoints.eula_acceptws*kmmr:r.c,KtjSrX)r textrs r8 eula_showzEndpoints.eula_show{sy{{r:checkdbc^K|rtjdStjdS)zmCheck DB consistency and repair if needed. If recreate_schema is set recreate schema for attached DB.N)r"recreate_schemacheck_and_repair)r4rs r8rzEndpoints.checkdbs:  (  $ & & & & &  % ' ' ' ' 'r:doctorc8Ktd{V}d|zS)Nz8Please, provide this key: %s to Imunify360 Support Team r))r4keys r8rzEndpoints.doctors0"$$$$$$$$ IC O r:supportsendcK 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=%sr1)r*r r'r&rIr descriptiondetails) r4emailsubjectrcln attachments doctor_key ticket_urlrs r8send_to_supportzEndpoints.send_to_supports  -////////JJ   JJJ  +w Zk  JJ    LL       *&&s# ((A B-A>>BrX)F)NFFrrY)rZr[r\rrrrrrrrrrrrrrrr]r:r8rrs*L T*####J T, T     T)__###_# T)__--_- T(^^^ T(^^:B^$ T&( T&& T)__(((_( T(^^  ^  T)VAE''''''r:rcjeZdZdZdZedddZedddZdS) WhmcsEndpointz< Describes all endpoints for interaction with WHMCS 1billingsynccK tj|}n"#tj$rtdwxYwt |j|d{V}d|dS)Nz Invalid JSONsuccessrVrL)rGrHJSONDecodeError ValueErrorr(rK)r4rL decoded_datarVs r8 billing_synczWhmcsEndpoint.billing_syncsy -:d++LL# - - -^,, , -(\BBBBBBBB#V444s8z get-configczKt|jttd{V}d|dS)N)rbilling_licenseissuesrr)dictrrr)r4rVs r8billing_get_configz WhmcsEndpoint.billing_get_configsSL,..:<<<<<<<<    $V444r:N)rZr[r\__doc__rrrrr]r:r8rrss G T)V555 T)\""55#"555r:r)brrrGr collectionsrloggingrtypingrdefence360agentrdefence360agent.api.jwt_issuerrdefence360agent.api.newsfeedrdefence360agent.api.pam_authr defence360agent.contractsr r defence360agent.contracts.configr r rrrrrr!defence360agent.contracts.licenserdefence360agent.internals.clnrrr!defence360agent.myimunify.billingrrdefence360agent.rpc_toolsr defence360agent.rpc_tools.lookuprrrdefence360agent.simple_rpcr"defence360agent.subsys.panels.baserdefence360agent.utilsrr r!r"r#r$defence360agent.utils.configr%defence360agent.utils.supportr&r'defence360agent.utils.whmcsr(defence360agent.utils.doctorr*disabledim360.subsys.panelsr+defence360agent.subsys.panelsrZrIr-rjrgrzr_r__annotations__rrrraintfloatboolrmrxrrrrrrrrrrrr]r:r8r%s !!!!!!44444411111100000022222222988888LLLLLLLLLL655555 655555======766666GGGGGGGG999999777777<1111111;;;;;; 8  BBBBBoBBBL(*T#u*%***$_%=sCC#,.c5j)... ) )5 )T ) ) ) )*%*D****BB%BDBBBB,s,t,,,, - -% -D - - - -)e))))) As A A4 A A A A! ! ! ! ! _! ! ! H          LLLLLLLL /////M/// W'W'W'W'W' W'W'W't55555M55555r: