PATH:
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
xray
/
reconfiguration
/
__pycache__
� �%�i� � � � d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm Z d dl mZ d dlm Z mZmZmZ e j � � ZdZ d d lmZ n# e$ r d � ZY nw xY wdeeeef ef fd�Zd ededefd�Zd� Zd� Zd� Zdd�Zdd�ZdS )� N)�suppress)�iglob)�Tuple)� disable_quota)�user_context)� INI_LOCATIONS�INI_USER_LOCATIONS�$INI_USER_LOCATIONS_WEBSITE_ISOLATION�is_excluded_pathz?/opt/cloudlinux/flags/enabled-flags.d/xray-ini-global-mode.flag)�(is_website_isolation_allowed_server_widec � � dS )NF� r � �V/opt/cloudlinux/venv/lib64/python3.11/site-packages/xray/reconfiguration/global_ini.pyr r s � ��ur �returnc # �n K � t D ]*} t | � � D ]}t |� � r�d|fV � ��+t D ]p} t | d � � D ]X}t |� � r� | d |� � }|j |j f|fV � �7# t � d|� � Y �VxY w�qt � � rxt D ]r} t | d � � D ]X}t |� � r� | d |� � }|j |j f|fV � �7# t � d|� � Y �VxY w�qdS dS )z� Generator of existing paths (matching known wildcard locations) for additional ini files Returns tuple of (uid, gid) and path. )r r �path�userzhUnable to get information about user owning %s directory (maybe he`s already terminated?), skip updatingN) r r r r �pw_uid�pw_gid�logger�infor r )�location�dir_path� pw_records r �_iter_existing_ini_locationsr $ s� � � � � "� #� #���h��� #� #�H���)�)� ���(�"�"�"�"�"� #� '� E� E���h�v�.�/�/� E� E�H���)�)� �� E�,�H�V�,�X�6�6� � !�'��)9�:�H�D�D�D�D�D�� ���� ,�-5�7� 7� 7� ����� E� 0�1�1� I�<� I� I�H�!�(�6�"2�3�3� I� I��#�H�-�-� ��I� 0��� 0�� :� :�I� %�+�Y�-=�>��H�H�H�H�H�� ��K�K� !0�19�;� ;� ;� �H���� I�I� I� I� Is �&B � B)�,D�D/�uid�gid�ini_pathc �� � d}t j � |d� � }t j � |� � rd S t | |� � 5 t � � 5 t |d� � 5 }t � d|� � |� |� � d d d � � n# 1 swxY w Y d d d � � n# 1 swxY w Y d d d � � d S # 1 swxY w Y d S )Nz;xray.tasks=0 extension=xray.so�xray.ini�wzGenerating %s file...) �osr �join�existsr r �openr r �write)r r r �ini_contentr �inis r �_create_single_inir* R s� � � 5�K� �7�<�<��*�-�-�D� �w�~�~�d��� ��� �c�3� � � � ��O�O�� ���s�O�O��"����+�T�2�2�2�� � �+���� � � � � � � � � � � ���� � � � � � � � � � � � � � � ���� � � � � � � � � � � � � � � � ���� � � � � � sZ �C �#C�41B1�%C�1B5�5C�8B5�9C�<C �C �C �C �C � C$�'C$c �J � t j � t � � S �N)r# r r% �GLOBAL_INI_MARKERr r r �is_global_ini_moder. c s � � �7�>�>�+�,�,�,r c �T � t t d� � � � � d S )Nr"