27Oۈ d dl Z d dlZd dlZd dlmZmZ d dlmZ d dlm Z m
Z
d dlmZ d dl
mZmZ d dlmZ d dlmZmZ ej Z G d d
ee Z G d dee Z G d
de ZdS ) N)ABCabstractmethod)defaultdict)heappopheappush)Dict)
ConfigFileCore)MessageType)BaseMessageProcessorexpectc e Zd Zd Zd Zd Z eej d Z d Z
ed Zed Z
ed Zed Zed
Zed ZdS )
EventProcessorBasec F t t | _ || _ d S N)r list_msg_buf_loop)selfloops l/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/plugins/event_monitor_message_processor.py__init__zEventProcessorBase.__init__ s #D))
c X t | j |d |d |f d S )Nusername timestamp)r r r messages r add_messagezEventProcessorBase.add_message s9 M'*-.1Ew0O
r c z K t j fd j D d {V d S )Nc 3 B K | ]} | V d S r )process_user_messages).0
user_messagesr s r z6EventProcessorBase.process_messages.. sE ! **=99 r )asynciogatherr valuesr s `r process_messagesz#EventProcessorBase.process_messages sr n %)]%9%9%;%;
r c x K | | sd S |j dk r| | d {V d S |j dk r| | d {V d S |j dk r| | d {V d S |j dk r| | d {V d S d S )NModifyCreatechange_packageRemove)_message_is_relatablehook_process_modify_process_create_process_change_package_process_account_removedr s r
process_eventz EventProcessorBase.process_event# s ))'22 F<8##&&w///////////
\X
%
%&&w///////////
\-
-
-..w77777777777
\X
%
%//88888888888 &
%r c K t t | D ]0}| t | d d {V 1d S )N )rangelenprocess_messager )r messages_s r r" z(EventProcessorBase.process_user_messages1 sc s8}}%% = =A&&wx'8'8';<<<<<<<<<< = =r c
K dS )zModify hookN r s r r2 z"EventProcessorBase._process_modify5
r c
K dS zCreate hookNr? r s r r3 z"EventProcessorBase._process_create9 r@ r c
K dS zchange_package hookNr? r s r r4 z*EventProcessorBase._process_change_package= r@ r c
K dS )zRemove hookNr? r s r r5 z+EventProcessorBase._process_account_removedA r@ r c dS z'Whether the message should be processedNr? r s r r0 z(EventProcessorBase._message_is_relatableE r c
K dS z$Whether messages should be processedNr? r) s r
is_enabledzEventProcessorBase.is_enabledI r@ r N)__name__
__module____qualname__r r r* r
r cPanelEventr6 r" r r2 r3 r4 r5 r0 rK r? r r r r s
VK#$$9 9 %$9= = = ^ ^ " " ^" ^ 6 6 ^6 3 3 ^3 3 3r r c
e Zd ZdZd Zd Zd Zd Z ddede d d
fdZ
d Zed
Z
ed Zeed eeef fd Zed Zeedede d eeef fd Zed Zd
S )SettingsChangeBasez'Process hook event messages from cPanelc \ K d|j v rdnd}| || d {V d S )Nplanexclude)data_get_settings_and_update)r r
package_fields r r2 z"SettingsChangeBase._process_modifyQ sI "(GL"8"8i
++G]CCCCCCCCCCCr c D K | |dd d {V d S )NrS TrV r s r r3 z"SettingsChangeBase._process_createU s6 ++GVTBBBBBBBBBBBr c D K | |dd d {V d S )Nnew_pkgTrY r s r r4 z*SettingsChangeBase._process_change_packageX s6 ++GYEEEEEEEEEEEr c
K d S r r? r s r r5 z+SettingsChangeBase._process_account_removed[ s r FrW add_to_packagereturnNc K t d| | | d {V }| |||| d {V d S )NzGet settings from %s)loggerinfo_get_settings_from_message_apply_settings)r r rW r] settingss r rV z+SettingsChangeBase._get_settings_and_update^ s *G44488AAAAAAAA""]NH
r c K t d| | d 9|d dk r-t d | D rd S t | s |j | }| || d {V }n># t $ r1 t d | }Y nw xY w|
D ]\ }}||| ||<