HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //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