Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/__pycache__/clconfpars.cpython-311.pyc
�

^Se�����ddlmZddlmZddlmZddlZddlZddlZddlmZm	Z	ddl
mZddlZGd�de
��ZGd	�d
e
��ZdZdd
�Zdd�ZiZdd�Zdd�Zd�Zd�Zedgd���Zd�ZdS)�)�absolute_import)�division)�print_functionN)�groupby�filterfalse)�
namedtuplec��eZdZd�ZdS)�WebConfigParsingErrorc��||_dS�N��message��selfrs  ��/builddir/build/BUILDROOT/alt-python27-cllib-3.3.8-1.el8.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/clconfpars.py�__init__zWebConfigParsingError.__init__�
�������N��__name__�
__module__�__qualname__r�rrr
r
�#����������rr
c��eZdZd�ZdS)�WebConfigMissingc��||_dSrr
rs  rrzWebConfigMissing.__init__rrNrrrrrrrrr�asectionFc�"�tjddd���}|rt|_|rbt	|d��5}|����tj��d��}ddd��n#1swxYwYn<t	|d��5}|���}ddd��n#1swxYwY|�	dt�d�|z|�	��t|�t�
����S)NTF)�allow_no_value�
interpolation�strict�rb�replace�r�[z]
)�source)�section)
�configparser�ConfigParser�str�optionxform�open�read�decode�locale�getpreferredencoding�read_string�SECHEAD�dict�items)�path�case_sensitive�ignore_bad_encoding�config�f�raws      r�loadr<"s���
�
&�d�59�.3�5�5�5�F��!� �����
�$��
�
�	L���&�&�(�(�/�/�&�"=�"?�"?��K�K�C�	L�	L�	L�	L�	L�	L�	L�	L�	L�	L�	L����	L�	L�	L�	L���$��_�_�	���&�&�(�(�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
���'�7�'�'�'�#�-�d��;�;�;�����W��-�-�.�.�.s#�:A>�>B�B�B;�;B?�B?�=c�L�t��}t|dd���5}|���D]U}	|�|d��\}}|���||���<�F#t
$rY�RwxYw	ddd��n#1swxYwY|S)Nr%�surrogateescape)�errors�)r4r-�	readlines�split�strip�
ValueError)r6�	delimiter�datar:�line�key�values       r�	load_fastrK2s����6�6�D�	
�d�C� 1�	2�	2�	2��a��K�K�M�M�	�	�D�
�!�Z�Z�	�1�5�5�
��U�$)�K�K�M�M��S�Y�Y�[�[�!�!���
�
�
���
����		��������������������Ks5�B�AA<�;B�<
B	�B�B	�	B�B� Bc���	t|}nV#t$rI	t|��x}t|<n+#ttjf$r|s�ix}t|<YnwxYwYnwxYw|S)zD
    Read ini file once (cached) and return its content as dict
    )�cache�KeyErrorr<�IOErrorr)�Error)r6�
ignore_errors�ress   r�	load_oncerS?s���#��D�k�����#�#�#�	#�!%�d���+�C�5��;�;����+�,�	#�	#�	#� �
�� "�"�C�%��+�+�+�	#������#�����Js/�
�
A#�5�A#�%A�A#�A�A#�"A#c��|s|dz}t|d��}t|d��}g}|D]�}|���}|r�|�d��sx|�dd��\}}	|���}||vrG|�|dzt||��zdz��|�|����|�|����|���t|�	����D]7}||vr1|�|dzt||��zdz���8|���tj||��dS)Nz.tmpr%�w�#r=rA�
)r-rD�
startswithrC�writer+�append�close�list�keys�os�rename)
r4r6�tmp_path�fin�fout�	used_keysrH�lrIrJs
          r�change_settingsreOss������;��
�t�S�/�/�C���#���D��I��	�	���J�J�L�L���	�Q�\�\�#�&�&�	�����a���J�C���)�)�+�+�C��d�{�{��
�
�3�s�7�3�t�C�y�>�>�1�$�6�7�7�7�� � ��%�%�%���
�
�4������I�I�K�K�K��D�I�I�K�K� � �4�4���i����J�J�s�3�w�s�4��9�~�~�-�d�2�3�3�3���J�J�L�L�L��I�h������rc�t�tj�|��std|z���t	|d��5}|������}ddd��n#1swxYwYd�|D��}td�|��}d�t|d���D��}g}|D]�}dddd�}	|D]�}	|	�	d	��r,|	�
d	d�����|d
<�C|	�	d��rE|	�
dd���d��d
���|d<��|	�	d��rd|	v|d<��	|�
|����#t$rtd|z���wxYw|S)N�File does not exists %sr%c�\�g|])}|����d����*S)�;)rD�rstrip)�.0r%s  r�
<listcomp>z%nginx_conf_parser.<locals>.<listcomp>ms.��?�?�?�q�Q�W�W�Y�Y�%�%�c�*�*�?�?�?rc�8�|dkp|�d��S)N�rV)rX)r%s r�<lambda>z#nginx_conf_parser.<locals>.<lambda>ns��a�2�g�&B����c�1B�1B�rc3�$K�|]\}}|�|V��dSrr)rk�_�groups   r�	<genexpr>z$nginx_conf_parser.<locals>.<genexpr>os,����g�g�h�a��ef�g�E�g�g�g�g�g�grc�2�|���dkS)N�server)rD)�xs rroz#nginx_conf_parser.<locals>.<lambda>os��q�w�w�y�y�T\�G\�rrn)�server_name�
document_root�sslzroot rxzserver_name � rrwzlisten ryzBad file format in %s)r^r6�isfilerr-r.�
splitlinesrrrXr$rDrCrZ�
IndexErrorr
)
�	conf_filer:�
dirty_data�
data_stripped�	data_pure�data_grouped�vhosts�server_group�server_info�rows
          r�nginx_conf_parserr�gs,��
�7�>�>�)�$�$�F��8�9�D�E�E�E�	
�i��	�	�+���V�V�X�X�(�(�*�*�
�+�+�+�+�+�+�+�+�+�+�+����+�+�+�+�?�?�J�?�?�?�M��B�B�M�R�R�I�g�g�'�)�=\�=\�*]�*]�g�g�g�L�
�F�$�
'�
'��&(�2�d�K�K��	'�#�
6�
6���>�>�'�*�*�6�36�;�;�w��3K�3K�3Q�3Q�3S�3S�K��0�0��^�^�N�3�3�6�14���^�R�1P�1P�1V�1V�WZ�1[�1[�\]�1^�1d�1d�1f�1f�K�
�.�.��^�^�I�.�.�6�).�#��K��&��

6�
�M�M�+�&�&�&�&���	M�	M�	M�'�(?�)�(K�L�L�L�	M�����Ms�'A5�5A9�<A9�B<F�F5c	��tj�|��std|z���t	��}t|d��}|���}|���d�|D��}d}d}i}g}t|��dkr�|�	d��}	d|	vr�|	�
��d}
d}	|
�
d	��\}}|�d
d��}n#t$r|
}YnwxYw|�
|��|�
|��d}��d
|	vr|||<|dz
}d}g}��|r|�
|	����t|��dk��|D�]�}
ddddt||
d��dd�}||
D�]<}d|vrD|�
��d����dd��|d<�Kd|vr0|�
��d���|d<�d|vr=d�d�|�
��dd�D����|d<��d|vr/|�
��d���|d<d|vrE|�
��d������dk|d<��>|�
|�����|S)Nrgr%c�<�g|]}tjd|���|��S)z^((?!#).)*$)�re�search)rk�is  rrlz&apache_conf_parser.<locals>.<listcomp>�s)��?�?�?�!�2�9�]�A�#>�#>�?�A�?�?�?rrFz<VirtualHostrA�0�:�>rnTz</VirtualHost>)�userrwrx�server_alias�portry�
ServerNamezwww.rw�DocumentRootrx�ServerAlias�,c3�4K�|]}t|��V��dSr)r+)rk�ns  rrsz%apache_conf_parser.<locals>.<genexpr>�s(����/Q�/Q�1��A���/Q�/Q�/Q�/Q�/Q�/Qrr��SuexecUserGroupr��	SSLEngine�onry)r^r6r{rr\r-rBr[�len�poprCr$rErZ�intrD�join�lower)r~�	conf_datar:�data_allrG�ID�enable�result�vhost�out�ip_portr��ipr�rHs               r�apache_conf_parserr��s/��
�7�>�>�)�$�$�F��8�9�D�E�E�E����I��Y����A��{�{�}�}�H��G�G�I�I�I�?�?�x�?�?�?�D�	
�B�
�F�
�F��E�

�d�)�)�a�-�-��h�h�q�k�k���S� � ��i�i�k�k�!�n�G��D�
�"�=�=��-�-���D��|�|�C��,�,�����
�
�
�����
�����L�L������L�L������F���s�"�"��F�2�J���E�B��F��E���	��L�L������1�d�)�)�a�-�-�4����� "�"$�!%��V�A�Y�q�\�*�*��
����1�I�
	F�
	F�D��t�#�#�&*�j�j�l�l�1�o�&;�&;�&=�&=�&E�&E�f�b�&Q�&Q��]�#����%�%�(,�
�
���Q��(=�(=�(?�(?��_�%����$�$�'*�x�x�/Q�/Q��
�
���Q�R�R�@P�/Q�/Q�/Q�'Q�'Q��^�$�� �D�(�(�#�z�z�|�|�A��4�4�6�6��V���d�"�"�"�j�j�l�l�1�o�3�3�5�5�;�;�=�=��E��U������������s�.D�D�D�	PamLVECfg)�min_uid�cagefs_enabled�groupsc��t|d��5}|D]�}|�d��r�|���}t|��}|dkr�|ddkr�|dkrt	|d��nd}|dkr"tt	|d����nd	}|d
kr|d�d��ndg}t
|||��ccd
d
d
��S��	d
d
d
��n#1swxYwYd
S)aD
    Parse string like:
    "session      required      pam_lve.so      500      1     group1,group2"
    :param configfile: path to config file to parse
    :type configfile: str
    :return: PamLVECfg instance when pam_lve configuratiom is found, None otherwise
    :rtype: namedtuple
    :raises: IOError, ValueError
    r%rV��z
pam_lve.so�i��F�r��wheelN)r-rXrCr�r��boolr�)�
configfiler:rH�srdr�r�r�s        r�parse_pam_lve_configr��s}��
�j�#�	�	�B�!��
	B�
	B�D����s�#�#�
���
�
���A��A���A��A�v�v�!�A�$�,�.�.�'(�A�v�v�#�a��d�)�)�)�3��45��F�F��c�!�A�$�i�i������,-��F�F��1����C�����	�� ��.�&�A�A�A�A�B�B�B�B�B�B�B�B��
	B�B�B�B�B�B�B�B�B�B�B�B����B�B�B�B��4s�C
C9�+C9�9C=�C=)FF)r=)Fr)�
__future__rrrr)r^r��	itertoolsrr�collectionsrr0�	Exceptionr
rr3r<rKrMrSrer�r�r�r�rrr�<module>r�s���'�&�&�&�&�&�������%�%�%�%�%�%�����	�	�	�	�	�	�	�	�*�*�*�*�*�*�*�*�"�"�"�"�"�"�
�
�
�
������I����
�����y����
��
/�
/�
/�
/� 	�	�	�	�	��
�
�
�
� ����0���8F�F�F�R
�J�{�$K�$K�$K�L�L�	�����r