#hYUAddlZddlZddlmZddlmZddlmZddl m Z m Z m Z ddl mZddlmZddlmZejeZGdd e e ZdS) N)utils)config) MessageType) MessageSink MessageSourceexpect)strategy)csfceZdZejjZejj Z dZ e j ejjddZe j ejjddZedZdZdZdZeejd Zeejd Zej d Z!d Z"d Z#dS)LFDFscriptsz lfd_block.pyblock_report_userc  tjd}tj|tj|jkS#ttf$rYdSwxYw)N BLOCK_REPORTF) r ConfiggetospathrealpathBLOCK_REPORT_SCRIPTFileNotFoundErrorNotADirectoryError)selfcurrent_scripts F/opt/imunify360/venv/lib/python3.11/site-packages/im360/plugins/lfd.py_script_installedzLFD._script_installeds  Z77;;==N7##N33rw7G7G(88 "#56   55 s&A--BBcK||_dSN)_loop)rloops r create_sinkzLFD.create_sink* cK||_dSr)_sink)rr sinks r create_sourcezLFD.create_source-r"r#c KdSr)rs rshutdownz LFD.shutdown0s  r#cvK||jtjj|jd{VdSr) _switch_stater rCSFIntegrationENABLEDr)rmessages ron_strategy_changezLFD.on_strategy_change5s[     ! )  "           r#cK|tjjtjj|jd{VdSr)r,r Strategycurrentrr-r.r)r_s ron_config_changezLFD.on_config_change=s^    %  ! )  "           r#cK|o ||jk}|r |s|d{VdSdS|r|d{VdSdSr)STRATEGY_revert_script _setup_script)rcurrent_strategy is_enabledis_script_installedshould_script_be_installeds rr,zLFD._switch_stateEs&0&  - #  '- ,))+++++++++++ , , ' '$$&& & & & & & & & & & ' 'r#cKtdtjd|j}|rt j|t j|jkr;td|j |t j ||j tj d{VdS)Nz+Setup lfd BLOCK_REPORT to Imunify360 scriptrzCreating a symlink %s to %s) loggerinfor rsetrrrrUSER_SCRIPT_LINKsymlink lfd_restart)r old_scripts rr9zLFD._setup_scriptRs ABBBZ//33D4LMM  : G  Z ( (w 899 : : KK-%    Jz4#8 9 9 9or#cKtdtj|jr3tj|j}tj|jnd} tj d |tj d{Vrtj d{VdSdS#t$r&}td|Yd}~dSd}~wwxYw)NzReverting lfd BLOCK_REPORTrz'Failed to revert BLOCK_REPORT value: %s)r?r@rrislinkrBreadlinkremover rrA is_runningrDrwarning)r user_scriptes rr8zLFD._revert_scriptas" 0111 7>>$/ 0 0 +d&;<rgs  !!!!!!======:::::: #"""""$$$$$$  8 $ $\(\(\(\(\(+}\(\(\(\(\(r#