MOON
Server: Apache
System: Linux s5.yayogua.com.py 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
User: sanbercountryclu (1012)
PHP: 8.2.33
Disabled: NONE
Upload Files
File: //lib/python3.12/site-packages/sepolicy/__pycache__/interface.cpython-312.pyc
�

�j ��r�ddlZddlZddlZdZdZgd�ZdZ	ddlZiZejdkrded<ejefd	d
ie�ddi��ZejZd
�Zdd�Zdd�Zdd�Zdadd�Zdd�Zd�Zdd�Zd�Zdd�Zy#	ddl
Z
ee
jd<n#e$rddlZeejd<YnwxYwY�_xYw)�Nz_admin$z_role$)	�get_all_interfaces�get_interfaces_from_xml�	get_admin�get_user�get_interface_dict�get_interface_format_text�!get_interface_compile_format_text�get_xml_file�interface_compile_testzselinux-python)�T�unicode�	localedirz/usr/share/locale�fallback�_c�l�g}t|�}|j�D]}|j|��|S)z' Get all interfaces from given xml file)r�keys�append)�path�interfaces_list�idict�ks    �7/usr/lib/python3.12/site-packages/sepolicy/interface.pyrr5s5���O��t�$�E�
�Z�Z�\�����q�!����c�X�ddlm}g}|s	|�}|St|�}t|�}|S)Nr)�get_methods)�sepolicyrr
r)rr�all_interfaces�xml_paths    rrr>s8��$��N��$���
�� ��%��0��:���rc�,�	g}|rR	t|�}t|�}|j�D]%}|jd�s�|j	|��'	|Stj�D]7}|jd�s�|j	|jd�d��9|S#t
$rb}tjj|jj�dt|��d��t
jd�Yd}~|Sd}~wwxYw)z? Get all domains with an admin interface from installed policy.�_admin�: �
�Nr)r
rr�endswithr�IOError�sys�stderr�write�	__class__�__name__�str�exitrr�split)r�
admin_listrrr�e�is       rrrJs���\��J��	�#�D�)�H�&�x�0�E��Z�Z�\���:�:�h�'��%�%�a�(�"���	�%�%�'�A��z�z�(�#��!�!�!�'�'�(�"3�A�"6�7�(�����	��J�J���1�;�;�+?�+?��Q��H�I��H�H�Q�K�K����	�s�:B(�B(�(	D�1AD�Dc��	g}|ro	t|�}t|�}|j�D]B}|jd�s�d|ddzt	j
�vs�2|j
|��D	|St	j�D]_}t!j"dt$z|�}t'|�d	kDs�/d|d	zt	j
�vs�L|j
|d	��a|S#t$rb}tjj|jj�dt|��d��tjd�Yd}~|Sd}~wwxYw)
z1 Get all domains with SELinux user role interface�_rolez	%s_exec_tN���r!r"r#z(.*)%sr)r
rrr$r�
get_all_typesrr%r&r'r(r)r*r+r,r�re�findall�USER_TRANSITION_INTERFACE�len)r�
trans_listrrrr/r0�ms        rrr`s*��`��J��		�#�D�)�H�&�x�0�E��Z�Z�\���:�:�g�&�$�q��"�v�-�(�2H�2H�2J�J�"�)�)�!�,�"���
�%�%�'�A��
�
�8�&?�?��C�A��1�v��z���1��%��)?�)?�)A�A��%�%�a��d�+�	(�����	��J�J���1�;�;�+?�+?��Q��H�I��H�H�Q�K�K����	�s$�:C-�C-�C-�-	E�6AE�Ec	��ddl}ddl}trtSiag}d}||z
}|dz
}	|jj	|�r&|j
jj|�}n%|j
jj|�}|jd�D�]}|jd�D�]}|jd�D]n}|jd�D]"}	|j|	jd���$||jd	�jdgt|jd�<g}�p|jd
�D]n}|jd�D]"}	|j|	jd���$||jd	�jd
gt|jd�<g}�p��
��"	tS#t$rYtSwxYw)NrzZ<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<policy>
<layer name="admin">
z
</layer>
</policy>
�layer�module�	interface�param�name�summary�template)�os�xml.etree.ElementTree�interface_dictr�isfile�etree�ElementTree�parse�
fromstringr6�iterr�get�find�textr%)
rrC�xml�
param_listr�tree�lr:r0r/s
          rrr{s���
� �����N��J��H�
���H����H�

�
�7�7�>�>�$���9�9�(�(�.�.�t�4�D��9�9�(�(�3�3�H�=�D����g�&�A��Y�Y�x�(������,�A��Y�Y�w�/��"�)�)�!�%�%��-�8�0�7A�A�F�F�9�DU�DZ�DZ�]h�6i�N�A�E�E�&�M�3�!#�J�	-�
���
�+�A��Y�Y�w�/��"�)�)�!�%�%��-�8�0�7A�A�F�F�9�DU�DZ�DZ�]g�6h�N�A�E�E�&�M�3�!#�J�	,�
)�'�����
����
�s�FG�	G�Gc	��t|�}|�ddj||d��ddj||djd����}|S)N�(�, rz) � r#r")r�joinr-)r>rr�interface_texts    rrr�sS���t�$�E�$-�t�y�y��y�9I�!�9L�/M�s�x�x�X]�^g�Xh�ij�Xk�Xq�Xq�rv�Xw�Ox�y�N��rc��ddlm}g}||dD]7}|j|j|�|�ddj	|��d�}�9S)Nr#��test_modulerrTrUz)
)�	templatesr[r�dict_valuesrW)�interfaces_dictr>r[�	param_tmpr0rXs      rr	r	�sR��&��I�
�Y�
'��
*������0�0��3�4�'0�$�)�)�I�2F�G��+��rc�|�ddlm}d}|tjd||j�z
}|t||�z
}|S)Nr#rZ��TEMPLATETYPE)r\r[r5�sub�te_test_moduler	)r>rr@r[�tes     r�generate_compile_terf�s>��&�	�B��"�&�&���{�'A�'A�
B�B�B��
+�E�9�
=�=�B�
�Irc��ddl}	ddlm}|j
j
|�dz}|j
j|�jd�d}|d||zz�\}}|dk7rWtjjd�tjjd|z�tjd	�y|S#t$r	ddlm}Y��wxYw)
z; Returns xml format of interfaces for given .if policy filerN��getstatusoutput�/�.zN/usr/bin/python3 /usr/share/selinux/devel/include/support/segenxml.py -w -m %sz-
 Could not process selected interface file.
z
%sr#)
rC�commandsri�ImportError�
subprocessr�dirname�basenamer-r&r'r(r,)�if_filerCri�basedir�filename�rc�outputs       rr
r
�s���
�/�,��g�g�o�o�g�&��,�G��w�w����(�.�.�s�3�A�6�H� �!q�u|�@H�vH�"I�J�J�B��	�Q�w��
�
���J�K��
�
����&��)�������
���/�.�/�s�C�C�Cc�~�gd�}dg}	ddlm}ddl}ddddd	�}t|�}|j
d
�d|vs�||d|vs�ttd�|z�	t|d
d�}|jt||��|j�|d|dz�\}	}
|	dk7rJtjj|
�tjjtd�|z�|j!�D]/}|j"j%|�s�|j'|��1ytjjtd�|z�y#t$r
ddlm}Y��iwxYw#t$r7}tjjtd�||fz�Yd}~��d}~wwxYw)N)�userdom�kernel�corenet�files�devrBrrhzcompiletest.ppzcompiletest.tezcompiletest.fczcompiletest.if)�ppre�fc�ifr�zCompiling %s interfacere�wz,make -f /usr/share/selinux/devel/Makefile %sr|z
Compile test for %s failed.
z%
Compile test for %s has not run. %s
z,
Compiling of %s interface is not supported.)rlrirmrnrCrr-�printr�openr(rf�closer&r'�EnvironmentError�valuesr�exists�remove)
r>r�exclude_interfaces�exclude_interface_typerirC�policy_filesr�fdrtrur/�vs
             rrr�s���I��(�\��/�,��*�2B�JZ�br�s�L��t�$�E��O�O�C� ��#�'9�9�U�9�=M�a�=P�Tj�=j�
�a�(�)�I�5�6�
	\��l�4�(�#�.�B��H�H�(��E�:�;��H�H�J�(�)W�Zf�gk�Zl�)l�m�J�B���Q�w��
�
� � ��(��
�
� � ��#D�!E�	�!Q�R��$�$�&�A��w�w�~�~�a� ��	�	�!��'�
	�
�
����J�K�i�W�X��1�/�.�.�/��" �	\��J�J���Q�H�I�Y�XY�N�Z�[�[��	\�s*�E&�BE<�&E9�8E9�<	F<�-F7�7F<)ra)z#/usr/share/selinux/devel/policy.xml)�compiletest)r5r&r�ADMIN_TRANSITION_INTERFACEr7�__all__�PROGNAME�gettext�kwargs�version_info�translation�tr�builtinsr+�__dict__rm�__builtin__r
rrrrrErrr	rfr
r�rr�<module>r�s��,
�
��&��$��W��
��,��
�F�
���$�� ��y������H�	#�1�	#��	#�"�	#�A�	
�	�	�A��	��,�0��'�T����$Y��K,�,��!$����#����,��$+����S�!�,�s/�?A?�?B6�B�B6�B1�.B6�0B1�1B6