/usr/lib64/python3.9/site-packages/setools/checker/__pycache__
Edit: /usr/lib64/python3.9/site-packages/setools/checker/__pycache__/assertrbac.cpython-39.pyc (3181B)
a
qéqeŒ ã @ s„ d dl Z d dlmZmZ ddlmZ ddlmZ ddlm Z ddl
mZ dd lm
Z
mZ d
ZdZdZd
ZdZdZG dd„ deƒZdS )é N)ÚListÚUnioné )ÚInvalidCheckValue)ÚAnyRBACRule)Ú
RBACRuleQueryé )Ú
CheckerModule)ÚConfigDescriptorÚConfigSetDescriptorÚsourceÚtargetÚ
exempt_sourceÚ
exempt_targetÚ
expect_sourceÚ
expect_targetc s” e Zd ZdZdZeeeee e
efƒZe
dƒZe
dƒZedddd�Zedddd�Zedddd�Zedddd�Zddœ‡ fd d
„Zedœdd„Z‡ ZS )
Ú
AssertRBACz?Checker module for asserting a RBAC allow rule exists (or not).Zassert_rbacZlookup_roleFT)ÚstrictÚexpandN)Úreturnc sä t ƒ |||¡ t t¡| _| t¡| _| t ¡| _
| t¡| _| t
¡| _| t¡| _| t¡| _t| j| j
fƒs|tdƒ‚| j| j@ }|r®| j d d dd„ |D ƒ¡¡¡ | j| j@ }|rà| j d d dd„ |D ƒ¡¡¡ d S )Nz5At least one of source or target options must be set.z.Overlap in expect_source and exempt_source: {}z, c s s | ]}|j V qd S ©N©Úname©Ú.0Úi© r ú@/usr/lib64/python3.9/site-packages/setools/checker/assertrbac.pyÚ
; ó z&AssertRBAC.__init__..z.Overlap in expect_target and exempt_target: {}c s s | ]}|j V qd S r r r r r r r @ r )ÚsuperÚ__init__ÚloggingZ getLoggerÚ__name__ÚlogÚgetÚ
SOURCE_OPTr Ú
TARGET_OPTr
ÚEXEMPT_SRC_OPTr ÚEXEMPT_TGT_OPTr ÚEXPECT_SRC_OPTr ÚEXPECT_TGT_OPTr Úanyr ÚinfoÚformatÚjoin)ÚselfÚpolicyZ checknameZconfigZsource_exempt_expect_overlapZtarget_exempt_expect_overlap©Ú __class__r r r! ( s, ÿ
ÿ
ÿzAssertRBAC.__init__c
C s@ t | j| jfƒsJ dƒ‚| j d¡ t| j| j| jdd�}t| jƒ}t| j ƒ}g }t
| ¡ ƒD ]x}t|j ¡ ƒ}t|j ¡ ƒ}||8 }||8 }|| j | j
rÈ|| j | j rÈ| t|ƒ¡ | |¡ q^| t|ƒ¡ q^|D ]"}d |¡} | | ¡ | | ¡ qÜ|D ]$}d |¡} | | ¡ | | ¡ �q| j d |¡¡ |S )Nz)AssertRBAC no options set, this is a bug.z#Checking RBAC allow rule assertion.)Zallow)r r
Zruletypez)Expected rule with source "{}" not found.z)Expected rule with target "{}" not found.z
{} failure(s))r, r r
r$ r- r r1 Úsetr r ÚsortedÚresultsr r r Zlog_failÚstrÚappendZlog_okr. Údebug)
r0 ÚqueryZunseen_sourcesZunseen_targetsZfailuresZruleZsrcsZtgtsÚitemZfailurer r r ÚrunB s> ý
ÿ
zAssertRBAC.run)r# Ú
__module__Ú__qualname__Ú__doc__Z
check_typeÚ frozensetr&