d dl Z d dlZd dlZd dlmZmZ d dlmZ d dlm Z m
Z
d dlmZ d dl
mZ d dlmZ d dlmZmZ d d lmZmZ ej Z G d
dee Z G d d
ee Z G d de ZdS ) N)ABCabstractmethod)defaultdict)heappopheappush)Dict)Core)MessageType)BaseMessageProcessorexpect)is_safe_subdir_namermtreec 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_messages2 sc s8}}%% = =A&&wx'8'8';<<<<<<<<<< = =r c
K dS )zModify hookN r s r r3 z"EventProcessorBase._process_modify6
r c
K dS zCreate hookNr@ r s r r4 z"EventProcessorBase._process_create: rA r c
K dS zchange_package hookNr@ r s r r5 z*EventProcessorBase._process_change_package> rA r c
K dS )zRemove hookNr@ r s r r6 z+EventProcessorBase._process_account_removedB rA r c dS z'Whether the message should be processedNr@ r s r r1 z(EventProcessorBase._message_is_relatableF r c
K dS z$Whether messages should be processedNr@ r* s r
is_enabledzEventProcessorBase.is_enabledJ rA r N)__name__
__module____qualname__r r r+ r r
cPanelEventr7 r# r r3 r4 r5 r6 r1 rL 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 r3 z"SettingsChangeBase._process_modifyR sI "(GL"8"8i
++G]CCCCCCCCCCCr c D K | |dd d {V d S )NrT TrW r s r r4 z"SettingsChangeBase._process_createV s6 ++GVTBBBBBBBBBBBr c D K | |dd d {V d S )Nnew_pkgTrZ r s r r5 z*SettingsChangeBase._process_change_packageY s6 ++GYEEEEEEEEEEEr c
K d S r r@ r s r r6 z+SettingsChangeBase._process_account_removed\ s r FrX 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 rX r^ settingss r rW 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 ]\ }}||| ||<