HEX
Server: LiteSpeed
System: Linux atali.colombiahosting.com.co 5.14.0-570.12.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 13 06:11:55 EDT 2025 x86_64
User: coopserp (1713)
PHP: 8.2.29
Disabled: dl,exec,passthru,proc_open,proc_close,shell_exec,memory_limit,system,popen,curl_multi_exec,show_source,symlink,link,leak,listen,diskfreespace,tmpfile,ignore_user_abord,highlight_file,source,show_source,fpaththru,virtual,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setid,posix_times,posix_ttyname,posix_uname,proc_get_status,proc_nice,proc_terminate
Upload Files
File: //proc/thread-self/root/lib64/python3.9/site-packages/setools/diff/__pycache__/bool.cpython-39.pyc
a

q�qe�	�@s�UddlmZddlmZddlmZmZddlmZddl	m
Z
mZddlmZee
�Zeeed	<Gd
d�de�Zeeeed�d
d�ZGdd�de
�ZdS)�)�defaultdict)�
NamedTuple�)�
SELinuxPolicy�Boolean�)�DiffResultDescriptor)�
Difference�
SymbolWrapper)�SymbolCache�_bool_cachec@s"eZdZUdZeed<eed<dS)�ModifiedBooleanz*Difference details for a modified Boolean.Zadded_stateZ
removed_stateN)�__name__�
__module__�__qualname__�__doc__�bool�__annotations__�rr�7/usr/lib64/python3.9/site-packages/setools/diff/bool.pyr
s
r
)�policy�boolean�returncCs>zt||WSty8t|�}|t||<|YS0dS)z
    Wrap booleans from the specified policy.

    This caches results to prevent duplicate wrapper
    objects in memory.
    N)r�KeyErrorr
)rr�brrr�boolean_wrappersrc@sDeZdZdZed�Zed�Zed�Zdd�dd�Zdd�dd�Z	dS)	�BooleansDifferencezADetermine the difference in type attributes between two policies.�
diff_booleansN)rcCs�|j�d�|��|�dd�|j��D�dd�|j��D��\|_|_}t	�|_
|D](\}}|j|jkrTt|j|j�|j
|<qTdS)z@Generate the difference in type attributes between the policies.zGGenerating Boolean differences from {0.left_policy} to {0.right_policy}css|]}t|�VqdS�N�r
��.0rrrr�	<genexpr>:�z3BooleansDifference.diff_booleans.<locals>.<genexpr>css|]}t|�VqdSrrr rrrr";r#N)
�log�info�formatZ	_set_diffZleft_policyZboolsZright_policy�added_booleans�removed_booleans�dict�modified_booleans�stater
)�selfZmatched_booleansZleft_booleanZ
right_booleanrrrr2s
����z BooleansDifference.diff_booleanscCs"|j�d�d|_d|_d|_dS)z%Reset diff results on policy changes.zResetting Boolean differencesN)r$�debugr'r(r*)r,rrr�_reset_diffIszBooleansDifference._reset_diff)
rrrrrr'r(r*rr.rrrrr*srN)�collectionsr�typingrZ	policyreprrZdescriptorsr�
differencer	r
rr)rrr
rrrrrr�<module>s