H9N t d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlm Z d dl
mZmZ d dl
mZ d dlmZ d dlmZmZ d d lmZ d d
lmZ d dlmZmZ d dlmZ d d
lmZmZm Z d dl!m"Z" dZ#dZ$dZ%dZ&d' e$e# Z( ej) e* Z+ eeeg G d de Z,dS ) N)Path)Optional)pack)DoesNotExistJOIN)suppress)feature) PROACTIVEFULL)instance)ValidationError)CommonEndpointsbind)Scope) ProactiveProactiveIgnoredPathProactiveIgnoredRule)get_sites_for_user i z(/usr/share/i360-php-opts/rules_whitelistzI{}s{}Ic
e Zd Zej Zd Zd Zd Zd Z e
dd dd Z e
dd dd
Z e
ddd dd Z
dd
ee dedee dee fdZ ddedee dee fdZ e
ddd dd Z e
ddd dd Z e
dddd dd Z e
dddd dd ZdS )ProactiveEndpointsc |dgt t | z
z z
}t t || d g|R S )z
:param path: some path string like "/some/path"
:param rules: some array with ints like [1, 2, 3] or []
:param path_id:
:return:
r utf8)MAX_WHITELIST_RULESlenr IGNORE_ENTRY_PACK_PATTERNencode)selfpathrulespath_ids O/opt/imunify360/venv/lib/python3.11/site-packages/im360/simple_rpc/proactive.py_make_bytes_from_path_entryz.ProactiveEndpoints._make_bytes_from_path_entry( sS !+c%jj899%wF0C0C
FK
c t d t j t t t t j }d}d}t j |d D ]0\ }}d |D }||
||| z
}|dz
}1|r t t d 5 }|
t dt |
| d d d n# 1 swxY w Y t! j t d t d d S # t$ $ r2}t t) | Y d }~d S d }~ww xY wt+ t$ 5 t! j t t d
d d d d S # 1 swxY w Y d S )Nz%Recreating proactive ignore list filer% c | j S Nr )xs r#