wo4h7ddlZddlZddlmZddlmZddlmZmZddl m Z ddl m Z ej eZdZdZd Zd Zd Zd Zd ZdZdZdZdS)Nwraps)eula)CoreUserType) LicenseCLN) MessageTypec<tfd}|S)NcK|i|d{V}t|ts Jd|ztj}||d<tj|d<|S)N Result should be a dictionary %slicenseeligible_for_imunify_patch) isinstancedictr license_infois_eligible_for_imunify_patchargskwargsresultr fs Y/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/rpc_tools/middleware.pywrapperzadd_license..wrappersq$)&))))))))&$''  . 7  ')++#y  4 6 6  (  rrrs` r add_licenser s3 1XX    X  Nrc<tfd}|S)NcK|i|d{V}t|ts Jd|ztj}|d|dtjd|d<|S)Nr status license_type)rr rr )rrrrgetrrs rrz!add_license_user..wrapper"sq$)&))))))))&$''  . 7  ')++h'#KK77+5*R*T*T   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..wrapper7s6q$)&))))))))&$''  . 7  '   **<*>*> )++++++++  #'<>> $ #'<>>!!II #8 9 @ @Q H H#%!!IIIIII #v s69B00 C*:&C%%C*rrs` radd_eular16s3 1XXX0 Nrc<tfd}|S)NcK|i|d{V}t|ts Jd|ztj|d<|S)Nr version)rrrVERSIONrrrrs rrzadd_version..wrapperTslq$)&))))))))&$''  . 7  '!Ly rrrs` r add_versionr7Ss3 1XXX Nrc<tfd}|S)Nc4K|i|d{V\}}||dS)N) max_countitems)rrcountr;rs rrzmax_count..wrapperbs?Q///////// u"U333rrrs` rr:r:as3 1XX4444X4 Nrc<tfd}|S)Nc8K|i|d{V\}}}|||dS)N)r:countsr;r<)rrr:r@r;rs rrzcounts..wrapperksD)*D);F););#;#;#;#;#;#; 65&&5IIIrrrs` rr@r@js8 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..ys(!J!J!Jq#((19>":":!J!J!Jrwarnings)rK simplefilterDeprecationWarningcatch_warnings)rrwarnsrrs rrz!collect_warnings..wrappertsh(:;;;  $D 1 1 1 U1d-f--------F!J!JE!J!J!JF:                   sAA#&A#rrs` rcollect_warningsrPss3 1XXX Nrc<tfd}|S)NcZK|i|d{V}t|tsd|i}|S)Nr;)rrr6s rrz!default_to_items..wrappersNq$)&))))))))&$'' 'v&F rrrs` rdefault_to_itemsrSs3 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!)requestrrrWrs rrz%preserve_remote_addr..wrappers[h'++M:: !, Qw0000000000000rrrs` rpreserve_remote_addrrZs5 1XX1111X1 Nrc<tfd}|S)Nc Kd}|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 d{V|dd d|g|Ri|d{VS) NrsinkrVuserTpasswordz***commandcalling_process)rarVrbrW)rlenrNON_ROOTprocess_messager CommandInvokepop)rYrrr]rV user_typecoros rrz,send_command_invoke_message..wrappersr  "7DD v  &>D  '(+,,FV## t99q== $QIIv%% &vI 111%)F6NV##%*z"&&)#I.!$+KK0A4$H$H        H  ! !- 6 6 6T'3D333F333333333rr)rirs` rsend_command_invoke_messagerjs4 4[[!4!4!4!4[!4F Nr)loggingrK functoolsrdefence360agent.contractsr defence360agent.contracts.configrr!defence360agent.contracts.licenser"defence360agent.contracts.messagesr getLogger__name__loggerrr"r1r7r:r@rPrSrZrjr<rrrts)******;;;;;;;;888888::::::  8 $ $(*:      *%%%%%r