JFIF$        dd7 

Viewing File: /usr/lib64/python3.9/site-packages/setools/checker/__pycache__/checker.cpython-39.pyc

a

q�qe��@s�ddlZddlZddlZddlmZmZddlmZddlmZm	Z	ddl
mZddlm
Z
mZdd	lmZd
ZGdd�d�ZdS)
�N)�datetime�timezone)�List�)�InvalidCheckerConfig�InvalidCheckerModule)�
SELinuxPolicy�)�CHECKER_REGISTRY�
CheckerModule)�CHECK_TYPE_KEYz;---------------------------------------------------------

c@sVeZdZdZeedd�dd�Zedd��Zej	ed�d	d��Ze
jfed
�dd�Z
dS)
�
PolicyCheckerz;Configuration file-driven automated policy analysis checks.N)�policy�
configpath�returncCs.tsJd��t�t�|_||_g|_||_dS)Nz$No checks are loaded, this is a bug.)r
�loggingZ	getLogger�__name__�logr�checks�config)�selfrr�r�=/usr/lib64/python3.9/site-packages/setools/checker/checker.py�__init__s
zPolicyChecker.__init__cCs|jS)N)�_configpath)rrrrr"szPolicyChecker.config)rc
Cs�|j�d�|��zDt|d��&}t��}|j||d�Wd�n1sJ0YWn6ty�}ztd�||��|�WYd}~n
d}~00|j�d�g}|�	�D]�\}}|dkr�q�z|t
}Wn4ty�}ztd�|t
���WYd}~n
d}~00zt
||j||�}	Wn8t�yH}ztd�||��|�WYd}~n
d}~00|�|	�q�|�sjtd	�|���|j�d
�t|j���|j�d�|��||_||_||_dS)Nz!Opening policy checker config {}.�r)�sourcez%Unable to parse checker config {}: {}z"Validating configuration settings.ZDEFAULTz{}: Missing {} option.z!{}: Unknown policy check type: {}zNo checks found in {}.zValidated {} checks.z-Successfully opened policy checker config {}.)r�info�format�open�configparserZConfigParserZ	read_file�	Exceptionr�itemsr�KeyErrorrr
r�append�debug�lenrrZ_config)
rr�fdr�er�	checknameZcheckconfig�
check_typeZnewcheckrrrr&sL0�����)rc	Csdd}|jsJd��|�t�|�d�|j��|�d�|j��|�d�t�tj	���g}|jD�]^}d}z�|�t�|�d�|j
��|jr�|�d�|j��|jr�|�d�|j��|�
|j
d	�|j�f�|j�d
�|j
|j��Wqb|j�d�|j
|j��||_|t|���7}|�d�WnNt�yv}z4|�d
�|��|jjd|d�|d7}WYd}~n
d}~00|�r�|�d�|�
|j
d�|�f�n|�d�|�
|j
df�||7}qb|�t�|�d�|D]\}}|�d�||���q�|�d�|��|�d�|j��|�d�|j��|�d�t�tj	���|j�d�|t|j���|S)zCRun all configured checks and print report to the file-like output.rz=Configuration loaded but no checks configured. This is a bug.zPolicy check configuration: {}
zPolicy being checked: {}
zStart time: {}

zCheck name: {}

zDescription: {}

zCheck DISABLED.  Reason: {}

z
DISABLED ({})z Skipping disabled check {!r}: {}zRunning check {0!r}, type {1}.�
z'Unexpected error: {}.  Failing check.

zException info)�exc_infor	NzCheck FAILED

zFAILED ({} failures)zCheck PASSED

ZPASSEDzResult Summary:

z
{:<39} {}
z
{} failure(s) found.

z
End time: {}
z{} failures found in {} checks.)r�write�SECTION_SEPARATORrrrrZnowrZutcr)Zdesc�disabler$rr%r*�outputr&�runr!r)	rr0ZfailuresZresult_summary�checkZcheck_failuresr(r)�resultrrrr1Psb

�
�
�




zPolicyChecker.run)r�
__module__�__qualname__�__doc__r�strr�propertyr�setter�sys�stdout�intr1rrrrr
s
)r
)r:r rrr�typingr�	exceptionrrZ	policyreprZ
checkermoduler
rZ
globalkeysrr.r
rrrr�<module>s
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg