✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ server.blackpussy.asia ​🇻​♯➤ 5.14.0-611.20.1.el9_7.x86_64 #1 SMP 🇾​♯➤ 2026

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 163.245.207.76 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.243
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗞 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ mail,mb_send_mail
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /usr/lib64/python3.9/site-packages/setools/diff/__pycache__//constraints.cpython-39.pyc
a

q�qe� �@s�ddlmZddlmZmZmZmZddlmZm	Z	m
Z
mZmZddl
mZddlmZmZmZddlmZdd	lmZGd
d�de�ZGdd
�d
ee�ZdS)�)�defaultdict)�	FrozenSet�List�Optional�Union�)�
AnyConstraint�ConstraintRuletype�Role�Type�User�)�DiffResultDescriptor)�
Difference�
SymbolWrapper�Wrapper)�class_wrapper_factory)�RuleListc@s�eZdZUdZed�Zed�Zed�Zed�Zed�Z	ed�Z
ed�Zed�ZdZ
eeefed<dZeeefed<dd	�d
d�Zdd	�dd
�Zdd	�dd�Zdd	�dd�Zdd	�dd�Zdd	�dd�ZdS)�ConstraintsDifferencea�
    Determine the difference in constraints between two policies.

    Since the compiler does not union constraints, there may be multiple
    constraints with the same ruletype, object class, and permission
    set, so constraints can only be added or removed, not modified.

    The constraint expressions are compared only on a basic level.
    Expressions that are logically equivalent but are structurally
    different, for example, by associativity, will be considered
    different.  Type and role attributes are also not expanded,
    so if there are changes to attribute members, it will not
    be reflected as a difference.
    �diff_constrains�diff_mlsconstrains�diff_validatetrans�diff_mlsvalidatetransN�_left_constraints�_right_constraints)�returncCs�|j�d�|��|jdus&|jdur.|��|jdus@Jd��|jdusRJd��|�dd�|jtjD�dd�|jtjD��\|_	|_
}dS)zAGenerate the difference in constraint rules between the policies.zJGenerating constraint differences from {0.left_policy} to {0.right_policy}N�)Left constraints didn't load, this a bug.�*Right constraints didn't load, this a bug.css|]}t|�VqdS�N��ConstraintWrapper��.0�c�r$�>/usr/lib64/python3.9/site-packages/setools/diff/constraints.py�	<genexpr>?�z8ConstraintsDifference.diff_constrains.<locals>.<genexpr>css|]}t|�VqdSrrr!r$r$r%r&@r')�log�info�formatrr�_create_constrain_lists�	_set_diffr	Z	constrain�added_constrains�removed_constrains��self�_r$r$r%r2s
��z%ConstraintsDifference.diff_constrainscCs�|j�d�|��|jdus&|jdur.|��|jdus@Jd��|jdusRJd��|�dd�|jtjD�dd�|jtjD��\|_	|_
}dS)zEGenerate the difference in MLS constraint rules between the policies.zNGenerating MLS constraint differences from {0.left_policy} to {0.right_policy}Nrrcss|]}t|�VqdSrrr!r$r$r%r&Pr'z;ConstraintsDifference.diff_mlsconstrains.<locals>.<genexpr>css|]}t|�VqdSrrr!r$r$r%r&Rr')r(r)r*rrr+r,r	Zmlsconstrain�added_mlsconstrains�removed_mlsconstrainsr/r$r$r%rBs"��
�
��z(ConstraintsDifference.diff_mlsconstrainscCs�|j�d�|��|jdus&|jdur.|��|jdus@Jd��|jdusRJd��|�dd�|jtjD�dd�|jtjD��\|_	|_
}dS)zDGenerate the difference in validatetrans rules between the policies.zMGenerating validatetrans differences from {0.left_policy} to {0.right_policy}Nrrcss|]}t|�VqdSrrr!r$r$r%r&cr'z;ConstraintsDifference.diff_validatetrans.<locals>.<genexpr>css|]}t|�VqdSrrr!r$r$r%r&er')r(r)r*rrr+r,r	Z
validatetrans�added_validatetrans�removed_validatetransr/r$r$r%rUs"��
�
��z(ConstraintsDifference.diff_validatetranscCs�|j�d�|��|jdus&|jdur.|��|jdus@Jd��|jdusRJd��|�dd�|jtjD�dd�|jtjD��\|_	|_
}dS)zHGenerate the difference in MLS validatetrans rules between the policies.zPGenerating mlsvalidatetrans differences from {0.left_policy} to {0.right_policy}Nrrcss|]}t|�VqdSrrr!r$r$r%r&vr'z>ConstraintsDifference.diff_mlsvalidatetrans.<locals>.<genexpr>css|]}t|�VqdSrrr!r$r$r%r&xr')r(r)r*rrr+r,r	Zmlsvalidatetrans�added_mlsvalidatetrans�removed_mlsvalidatetransr/r$r$r%rhs"��
�
��z+ConstraintsDifference.diff_mlsvalidatetranscCs�tt�|_|j�d�|��|j��D]}|j|j�	|�q&|j�
�D] \}}|j�d�t|�|��qHtt�|_|j�d�|��|j
��D]}|j|j�	|�q�|j�
�D] \}}|j�d�t|�|��q�|j�d�dS)z$Create rule lists for both policies.z.Building constraint lists from {0.left_policy}zLoaded {0} {1} rules.z/Building constraint lists from {0.right_policy}z)Completed building constraint rule lists.N)r�listrr(�debugr*Zleft_policy�constraints�ruletype�append�items�lenrZright_policy)r0�ruler;Zrulesr$r$r%r+~s

z-ConstraintsDifference._create_constrain_listscCsL|j�d�d|_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_dS)z%Reset diff results on policy changes.z%Resetting all constraints differencesN)r(r9r-r.r2r3r4r5r6r7rr�r0r$r$r%�_reset_diff�sz!ConstraintsDifference._reset_diff)�__name__�
__module__�__qualname__�__doc__rr-r.r2r3r4r5r6r7rrr	r�__annotations__rrrrrr+rAr$r$r$r%rs"
rc@s<eZdZdZdZedd�dd�Zdd�Zd	d
�Zdd�Z	dS)
r z#Wrap constraints for diff purposes.�r;�tclass�perms�exprN)r?rcCs�||_|j|_t|j�|_z|j|_Wnty>d|_Yn0t|�|_g|_|j	D]6}t
|t�r�|j�tdd�|D���qV|j�|�qVdS)Ncss|]}t|�VqdSr)r)r"�itemr$r$r%r&�r'z-ConstraintWrapper.__init__.<locals>.<genexpr>)
�originr;rrHrI�AttributeError�hash�keyrJZ
expression�
isinstance�	frozensetr<)r0r?�opr$r$r%�__init__�s


zConstraintWrapper.__init__cCs|jSr�rOr@r$r$r%�__hash__�szConstraintWrapper.__hash__cCs|j|jkSrrT�r0�otherr$r$r%�__lt__�szConstraintWrapper.__lt__cCs0|j|jko.|j|jko.|j|jko.|j|jkSrrGrVr$r$r%�__eq__�s
�
�
�zConstraintWrapper.__eq__)
rBrCrDrE�	__slots__rrSrUrXrYr$r$r$r%r �sr N)�collectionsr�typingrrrrZ	policyreprr	r
rrZdescriptorsr�
differencerrrZobjclassrrrr r$r$r$r%�<module>s

Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]

Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
17 Jan 2026 3.14 PM
root / root
0755
__init__.cpython-39.opt-1.pyc
2.032 KB
3 Apr 2024 4.13 PM
root / root
0644
__init__.cpython-39.pyc
2.032 KB
3 Apr 2024 4.13 PM
root / root
0644
bool.cpython-39.opt-1.pyc
2.556 KB
3 Apr 2024 4.13 PM
root / root
0644
bool.cpython-39.pyc
2.556 KB
3 Apr 2024 4.13 PM
root / root
0644
bounds.cpython-39.opt-1.pyc
3.884 KB
3 Apr 2024 4.13 PM
root / root
0644
bounds.cpython-39.pyc
3.884 KB
3 Apr 2024 4.13 PM
root / root
0644
commons.cpython-39.opt-1.pyc
2.11 KB
3 Apr 2024 4.13 PM
root / root
0644
commons.cpython-39.pyc
2.11 KB
3 Apr 2024 4.13 PM
root / root
0644
conditional.cpython-39.opt-1.pyc
1.65 KB
3 Apr 2024 4.13 PM
root / root
0644
conditional.cpython-39.pyc
1.65 KB
3 Apr 2024 4.13 PM
root / root
0644
constraints.cpython-39.opt-1.pyc
7.133 KB
3 Apr 2024 4.13 PM
root / root
0644
constraints.cpython-39.pyc
7.403 KB
3 Apr 2024 4.13 PM
root / root
0644
context.cpython-39.opt-1.pyc
1.553 KB
3 Apr 2024 4.13 PM
root / root
0644
context.cpython-39.pyc
1.553 KB
3 Apr 2024 4.13 PM
root / root
0644
default.cpython-39.opt-1.pyc
3.322 KB
3 Apr 2024 4.13 PM
root / root
0644
default.cpython-39.pyc
3.322 KB
3 Apr 2024 4.13 PM
root / root
0644
descriptors.cpython-39.opt-1.pyc
1.201 KB
3 Apr 2024 4.13 PM
root / root
0644
descriptors.cpython-39.pyc
1.201 KB
3 Apr 2024 4.13 PM
root / root
0644
difference.cpython-39.opt-1.pyc
5.412 KB
3 Apr 2024 4.13 PM
root / root
0644
difference.cpython-39.pyc
5.572 KB
3 Apr 2024 4.13 PM
root / root
0644
fsuse.cpython-39.opt-1.pyc
2.98 KB
3 Apr 2024 4.13 PM
root / root
0644
fsuse.cpython-39.pyc
2.98 KB
3 Apr 2024 4.13 PM
root / root
0644
genfscon.cpython-39.opt-1.pyc
3.077 KB
3 Apr 2024 4.13 PM
root / root
0644
genfscon.cpython-39.pyc
3.077 KB
3 Apr 2024 4.13 PM
root / root
0644
ibendportcon.cpython-39.opt-1.pyc
3.095 KB
3 Apr 2024 4.13 PM
root / root
0644
ibendportcon.cpython-39.pyc
3.095 KB
3 Apr 2024 4.13 PM
root / root
0644
ibpkeycon.cpython-39.opt-1.pyc
3.069 KB
3 Apr 2024 4.13 PM
root / root
0644
ibpkeycon.cpython-39.pyc
3.069 KB
3 Apr 2024 4.13 PM
root / root
0644
initsid.cpython-39.opt-1.pyc
2.145 KB
3 Apr 2024 4.13 PM
root / root
0644
initsid.cpython-39.pyc
2.145 KB
3 Apr 2024 4.13 PM
root / root
0644
mls.cpython-39.opt-1.pyc
9.57 KB
3 Apr 2024 4.13 PM
root / root
0644
mls.cpython-39.pyc
9.57 KB
3 Apr 2024 4.13 PM
root / root
0644
mlsrules.cpython-39.opt-1.pyc
3.846 KB
3 Apr 2024 4.13 PM
root / root
0644
mlsrules.cpython-39.pyc
3.974 KB
3 Apr 2024 4.13 PM
root / root
0644
netifcon.cpython-39.opt-1.pyc
3.163 KB
3 Apr 2024 4.13 PM
root / root
0644
netifcon.cpython-39.pyc
3.163 KB
3 Apr 2024 4.13 PM
root / root
0644
nodecon.cpython-39.opt-1.pyc
2.979 KB
3 Apr 2024 4.13 PM
root / root
0644
nodecon.cpython-39.pyc
2.979 KB
3 Apr 2024 4.13 PM
root / root
0644
objclass.cpython-39.opt-1.pyc
2.901 KB
3 Apr 2024 4.13 PM
root / root
0644
objclass.cpython-39.pyc
2.901 KB
3 Apr 2024 4.13 PM
root / root
0644
polcap.cpython-39.opt-1.pyc
1.504 KB
3 Apr 2024 4.13 PM
root / root
0644
polcap.cpython-39.pyc
1.504 KB
3 Apr 2024 4.13 PM
root / root
0644
portcon.cpython-39.opt-1.pyc
3.012 KB
3 Apr 2024 4.13 PM
root / root
0644
portcon.cpython-39.pyc
3.012 KB
3 Apr 2024 4.13 PM
root / root
0644
properties.cpython-39.opt-1.pyc
1.664 KB
3 Apr 2024 4.13 PM
root / root
0644
properties.cpython-39.pyc
1.664 KB
3 Apr 2024 4.13 PM
root / root
0644
rbacrules.cpython-39.opt-1.pyc
5.319 KB
3 Apr 2024 4.13 PM
root / root
0644
rbacrules.cpython-39.pyc
5.49 KB
3 Apr 2024 4.13 PM
root / root
0644
roles.cpython-39.opt-1.pyc
2.827 KB
3 Apr 2024 4.13 PM
root / root
0644
roles.cpython-39.pyc
2.827 KB
3 Apr 2024 4.13 PM
root / root
0644
terules.cpython-39.opt-1.pyc
15.376 KB
3 Apr 2024 4.13 PM
root / root
0644
terules.cpython-39.pyc
15.376 KB
3 Apr 2024 4.13 PM
root / root
0644
typeattr.cpython-39.opt-1.pyc
2.986 KB
3 Apr 2024 4.13 PM
root / root
0644
typeattr.cpython-39.pyc
2.986 KB
3 Apr 2024 4.13 PM
root / root
0644
types.cpython-39.opt-1.pyc
3.607 KB
3 Apr 2024 4.13 PM
root / root
0644
types.cpython-39.pyc
3.607 KB
3 Apr 2024 4.13 PM
root / root
0644
typing.cpython-39.opt-1.pyc
0.577 KB
3 Apr 2024 4.13 PM
root / root
0644
typing.cpython-39.pyc
0.577 KB
3 Apr 2024 4.13 PM
root / root
0644
users.cpython-39.opt-1.pyc
3.635 KB
3 Apr 2024 4.13 PM
root / root
0644
users.cpython-39.pyc
3.635 KB
3 Apr 2024 4.13 PM
root / root
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF