tddlZddlZddlmZddlmZddlmZmZddl m Z ddl m Z ddl mZmZmZejeZeZdZd Zd Zd Zd Zd ZdZdZdZdZdS)Nwraps)eula)CoreUserType) LicenseCLN) MessageType)Genmessage_id_gen publisherc<tfd}|S)NcK|i|d{V}t|ts Jd|ztj|d<|S)N Result should be a dictionary %slicense) isinstancedictr license_infoargskwargsresultfs Y/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/rpc_tools/middleware.pywrapperzadd_license..wrapperssq$)&))))))))&$''  . 7  ' '355y rrrs` r add_licensers3 1XXX Nrc<tfd}|S)NcK|i|d{V}t|ts Jd|ztj}|d|d|dd|d<|S)Nrstatus license_typeeligible_for_imunify_patch)r r!r"r)rrrrget)rrrrrs rrz!add_license_user..wrapper$sq$)&))))))))&$''  . 7  ' )++h'#KK77*1++,++  y rrrs` radd_license_userr$#s3 1XXX" Nrc<tfd}|S)NcK|i|d{V}t|ts Jd|zd}tjrtjst jd{Vsx t jt jt j d}n=#t$r0}dd t|dd}Yd}~nd}~wwxYw||d<|S)Nr)messagetextupdatedzFailed to read EULAzFailed to read EULA: {}r) rrris_validis_freer is_acceptedr'r(r)OSErrorformatstr)rrr eula_dicters rrzadd_eula..wrapper:s6q$)&))))))))&$''  . 7  '   **<*>*> )++++++++  #'<>> $ #'<>>!!II #8 9 @ @Q H H#%!!IIIIII #v s69B00 C*:&C%%C*rrs` radd_eular39s3 1XXX0 Nrc<tfd}|S)NcK|i|d{V}t|ts Jd|ztj|d<|S)Nrversion)rrrVERSIONrs rrzadd_version..wrapperWslq$)&))))))))&$''  . 7  '!Ly rrrs` r add_versionr8Vs3 1XXX Nrc<tfd}|S)Nc4K|i|d{V\}}||dS)N) max_countitems)rrcountr<rs rrzmax_count..wrapperes?Q///////// u"U333rrrs` rr;r;ds3 1XX4444X4 Nrc<tfd}|S)Nc8K|i|d{V\}}}|||dS)N)r;countsr<r=)rrr;rAr<rs rrzcounts..wrappernsD)*D);F););#;#;#;#;#;#; 65&&5IIIrrrs` rrArAms8 1XXJJJJXJ Nrc<tfd}|S)NcKtjdttjd5}|i|d{V}d|D|d<|cdddS#1swxYwYdS)NalwaysT)recordcLg|]!}d|jj"S) )joinr'r).0ws r z5collect_warnings..wrapper..|s(!J!J!Jq#((19>":":!J!J!Jrwarnings)rL simplefilterDeprecationWarningcatch_warnings)rrwarnsrrs rrz!collect_warnings..wrapperwsh(:;;;  $D 1 1 1 U1d-f--------F!J!JE!J!J!JF:                   sAA#&A#rrs` rcollect_warningsrQvs3 1XXX Nrc<tfd}|S)NcZK|i|d{V}t|tsd|i}|S)Nr<)rrrs rrz!default_to_items..wrappersNq$)&))))))))&$'' 'v&F rrrs` rdefault_to_itemsrTs3 1XXX Nrc<tfd}|S)a This middleware copies 'remote_addr' to 'client_addr'. This is needed because send_command_invoke middleware may remove remote_addr parameter from request. Used for endpoints that need remote_addr in their logic. :param f: :return: clK|dd}||d<|g|Ri|d{VS)Nparams remote_addr client_addr)r#)requestrrrXrs rrz%preserve_remote_addr..wrappers[h'++M:: !, Qw0000000000000rrrs` rpreserve_remote_addrr[s5 1XX1111X1 Nrc<tfd}|S)NcTKd}|r |d}n d|vr|d}|t|d}d|vr?d}t|dkr |d}n d|vr|d}|tjkrd|d<d|vrd|d<t j|d ||d d }tj|tj |td | |d{V|ddd|g|Ri|d{VS)NrsinkrWuserTpasswordz***commandcalling_process)rbrWrccreate)stagerX) rlenrNON_ROOTr CommandInvokepopr enrichr report_reporter_gen_createprocess_message)rZrrr^rW user_typemsgcoros rrz,send_command_invoke_message..wrappers  "7DD v  &>D  '(+,,FV## t99q== $QIIv%% &vI 111%)F6NV##%*z"+ * ' ,=t D DC  !# & & &  S"6h G G G G&&s++ + + + + + + + H  ! !- 6 6 6T'3D333F333333333rr)rprs` rsend_command_invoke_messagerqs4 4[[!4!4!4!4[!4F Nr)loggingrL functoolsrdefence360agent.contractsr defence360agent.contracts.configrr!defence360agent.contracts.licenser"defence360agent.contracts.messagesr 2defence360agent.internals.message_status_publisherr r r getLogger__name__loggerrlrr$r3r8r;rArQrTr[rqr=rrr|si******;;;;;;;;888888::::::  8 $ $suu   ,:      *%%%%%r