Edit File: clconfpars.cpython-311.opt-1.pyc
� �����e������������������������������d�dl�mZ�d�dl�mZ�d�dl�mZ�d�dlZd�dlZd�dlZd�dlmZm Z �d�dl mZ�d�dlZ�G�d��de ������������Z�G�d ��d e ������������ZdZdd �Zdd�Zi�Zdd�Zdd�Zd��Zd��Z�edg�d�������������Zd��ZdS�)�����)�absolute_import)�division)�print_functionN)�groupby�filterfalse)� namedtuplec�������������������������e�Zd�Zd��ZdS�)�WebConfigParsingErrorc�����������������������||�_���������d�S��N��message��selfr���s��� ��/builddir/build/BUILDROOT/alt-python27-cllib-3.3.5-1.el8.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/clconfpars.py�__init__zWebConfigParsingError.__init__���� ���������������N��__name__� __module__�__qualname__r�����r���r���r ���r �������#����������������������r���r ���c�������������������������e�Zd�Zd��ZdS�)�WebConfigMissingc�����������������������||�_���������d�S�r���r ���r���s��� r���r���zWebConfigMissing.__init__���r���r���Nr���r���r���r���r���r������r���r���r����asectionFc������������������"����t����������j��������dd�d�������������}|rt����������|_��������|rbt ����������|�d������������5�}|��������������������������������������������������������t����������j����������������������d������������}d�d�d��������������n#�1�swxY�w�Y���n<t ����������|�d������������5�}|�����������������������������������}d�d�d��������������n#�1�swxY�w�Y���|� ��������������������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 ����������$�r�Y��Rw�xY�w �d�d�d��������������n#�1�swxY�w�Y���|S�)Nr%����surrogateescape)�errors����)r4���r-���� readlines�split�strip� ValueError)r6���� delimiter�datar:����line�key�values��� r���� load_fastrK���2���s��������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+#�t����������t����������j��������f$�r�|s��i�x}t�����������|�<���Y�nw�xY�wY�nw�xY�w|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������������\��}} |�����������������������������������}||�v�rG|���������������������|dz���t����������|�|���������������������z���dz����������������|���������������������|���������������|���������������������|���������������|������������������������������������t����������|�� ����������������������������������������������D�]7}||vr1|���������������������|dz���t����������|�|���������������������z���dz�����������������8|������������������������������������t����������j��������||�������������d�S�)Nz.tmpr%����w�#r=���rA���� )r-���rD���� startswithrC����writer+����append�close�list�keys�os�rename) r4���r6����tmp_path�fin�fout� used_keysrH����lrI���rJ���s ��� r����change_settingsre���O���ss����������;�� �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������r���c������������������t����t�����������j�����������������������������|�������������st����������d|�z���������������t ����������|�d������������5�}|����������������������������������������������������������������������}d�d�d��������������n#�1�swxY�w�Y���d��|D���������������}t����������d��|������������}d��t����������|d��������������D���������������}g�}|D�]�}ddd�d�} �|D�]�} | � ��������������������d ������������r,| � ��������������������d d�����������������������������������������������|d <����C| � ��������������������d������������rE| � ��������������������dd���������������������������������d������������d ��������������������������������������������|d<�����| � ��������������������d������������rd| v�|d<����� �|� ��������������������|���������������#�t����������$�r�t����������d|�z���������������w�xY�w|S�)N�File does not exists %sr%���c������������������\�����g�|�])}|���������������������������������������������������������d���������������*S�)�;)rD����rstrip)�.0r%���s��� r���� <listcomp>z%nginx_conf_parser.<locals>.<listcomp>m���s.������?�?�?�q�Q�W�W�Y�Y�%�%�c�*�*�?�?�?r���c������������������8�����|�dk����p|�����������������������d������������S�)N��rV���)rX���)r%���s��� r����<lambda>z#nginx_conf_parser.<locals>.<lambda>n���s������a�2�g�&B����c�1B�1B��r���c��������������3����$���K����|�]\��}}|�|V����d�S�r���r���)rk����_�groups��� r���� <genexpr>z$nginx_conf_parser.<locals>.<genexpr>o���s,����������g�g�h�a��ef�g�E�g�g�g�g�g�gr���c������������������2�����|�������������������������������������dk����S�)N�server)rD���)�xs��� r���ro���z#nginx_conf_parser.<locals>.<lambda>o���s������q�w�w�y�y�T\�G\��r���rn���)�server_name� document_root�sslzroot rx���zserver_name � r���rw���zlisten ry���zBad file format in %s)r^���r6����isfiler���r-���r.���� splitlinesr���r���rX���r$���rD���rC���rZ���� IndexErrorr ���) � conf_filer:���� dirty_data� data_stripped� data_pure�data_grouped�vhosts�server_group�server_info�rows ��� r����nginx_conf_parserr����g���s,����� �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����������� �����������t�����������j�����������������������������|�������������st����������d|�z���������������t ������������������������}t����������|�d������������}|�����������������������������������}|������������������������������������d��|D���������������}d}d}i�}g�}t����������|������������dk����r�|� ��������������������d������������} d| v�r�| � ����������������������������������d���������} d} �| � ��������������������d ������������\��}}|���������������������d d������������}n#�t����������$�r�| }Y�nw�xY�w|� ��������������������|�������������|� ��������������������|�������������d}��d | v�r|||<���|dz ��}d}g�}��|r|� ��������������������| ���������������t����������|������������dk������|D��]�} d�ddd�t����������|| ���������d���������������������dd�}|| ���������D��]<}d|v�rD|� ����������������������������������d�����������������������������������������������������������������dd������������|d<����Kd|v�r0|� ����������������������������������d��������������������������������������������|d<����d|v�r=d���������������������d��|� ����������������������������������dd�����������D���������������������������|d<�����d|v�r/|� ����������������������������������d��������������������������������������������|d<���d|v�rE|� ����������������������������������d�������������������������������������������������������������������������������dk����|d<�����>|� ��������������������|����������������|S�)Nrg���r%���c������������������<�����g�|�]}t����������j��������d�|�������������|��S�)z^((?!#).)*$)�re�search)rk����is��� r���rl���z&apache_conf_parser.<locals>.<listcomp>����s)������?�?�?�!�2�9�]�A�#>�#>�?�A�?�?�?r���r���Fz<VirtualHostrA����0�:�>rn���Tz</VirtualHost>)�userrw���rx����server_alias�portry���� ServerNamezwww.rw����DocumentRootrx����ServerAlias�,c��������������3����4���K����|�]}t����������|������������V����d�S�r���)r+���)rk����ns��� r���rs���z%apache_conf_parser.<locals>.<genexpr>����s(����������/Q�/Q�1��A���/Q�/Q�/Q�/Q�/Q�/Qr���r�����SuexecUserGroupr����� SSLEngine�onry���)r^���r6���r{���r���r\���r-���rB���r[����len�poprC���r$���rE���rZ����intrD����join�lower)r~���� conf_datar:����data_allrG����ID�enable�result�vhost�out�ip_portr�����ipr����rH���s��� 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����������|������������}|dk����r�|d���������dk����r�|dk����rt ����������|d���������������������nd}|dk����r"t����������t ����������|d���������������������������������nd }|d k����r|d������������������������������d������������ndg}t ����������|||������������c�cd d d �������������S��� �d d d �������������n#�1�swxY�w�Y���d 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-���rX���rC���r����r�����boolr����)� configfiler:���rH����srd���r����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__r���r���r���r)���r^���r����� itertoolsr���r����collectionsr���r0���� Exceptionr ���r���r3���r<���rK���rM���rS���re���r����r����r����r����r���r���r����<module>r�������s������'��&��&��&��&��&��������������%��%��%��%��%��%���������� � � � �� � � � ��*��*��*��*��*��*��*��*��"��"��"��"��"��"�� � � � ����������I������� ���������y������� ��� /�� /�� /�� /� �� �� �� �� �� �� �� �� � �������0�����8F��F��F�R� �J�{�$K�$K�$K�L�L� ���������r���