JFIF$        dd7 

Viewing File: /usr/share/crypto-policies/python/__pycache__/build-crypto-policies.cpython-39.pyc

a

C�h��@s�ddlZddlZddlZddlZddlZddlZddlZdZdd�Zdd�Z	dd�Z
dd	d
�Zdd�Zd
d�Z
edkr|e
�dS)�Nzreload-cmds.shcOst|dtji|��dS)N�file)�print�sys�stderr)�args�kwargs�r�:/usr/share/crypto-policies/python/build-crypto-policies.py�eprintsr
cCs�tjdd�}|jdddd�|jdddd�|jd	td
dd�|jd
ddd�|jdddd�|jddd�|jddd�|��S)zParse the command lineF)�allow_abbrevz--flat�
store_truez1put all the generated files in a single directory)�action�helpz--testz7compare the generated config file with the existing onez--policyZPOLICYz"generate the specified policy only)�type�metavarrz--reloadcmdszDalso save reload cmds into reload-cmds.sh script in output directoryz--strictzfail on warnings�	policydirz5a directory with base policy definition files (*.pol))r�	outputdirz.a target directory with generated config files)�argparse�ArgumentParser�add_argument�str�
parse_args)�parserrrr	rs.��
�����rc
Cs�|jr$tj�|j|�d|�d��}n`tj�|j|�}tj�|�srzt�|�Wn"typtd|���YdS0tj�||d�}|j	�rVz�t
|dd��}|��}Wd�n1s�0Y||k�rtd|�d|�d	��d
d�}tj
||�||�||dd
�}	tj�|	�WdSWdSt�y2Yn$t�yTtd|���YdS0td|�d|���t
|ddd��}|�|�Wd�n1�s�0Yt�dS)N�-z.txtz#Cannot create directory for policy F�utf-8)�encodingzConfig for z for policy z differs from the existing one:cSsdd�|�d�D�S)NcSsg|]}|d�qS)�
r)�.0�lrrr	�
<listcomp>G�z.save_config.<locals>.lines.<locals>.<listcomp>r)�split)�srrr	�linesFszsave_config.<locals>.linesz.new)ZfromfileZtofileTzError reading generated file zSaving config for �w��moder)Zflat�os�path�joinr�isdir�mkdir�OSErrorr
�test�open�read�difflibZunified_diffrr�
writelines�FileNotFoundErrorr�write)
�cmdline�policy_nameZconfig_name�configr(�dirpath�fZ
old_configr#�diffrrr	�save_config0sH
�&
�*r:c
Cs(d}|durg}ztj|g|�Rd|ji�}Wn6tyd}ztdt|��WYd}~dSd}~00dd�tt�D�}|D]�}tj|}|�}	|	�	|�
|	j��}
|dvs�|	�|
��rz(d�
|g|��}t|||	j|
�s�d	}Wn.t�ytd
|	j�td�d}Yn0q|td
|	j�d}q||S)NrrzError: �cSsg|]}d|vr|�qS��	Generatorr�r�grrr	rhr z build_policy.<locals>.<listcomp>>ZEMPTYz	GOST-ONLY�:�zError saving config for zKeeping original configuration�zError testing config for �)�cryptopoliciesZUnscopedCryptoPolicyr�
ValueErrorr
r�dir�policygenerators�__dict__Zgenerate_configZscopedZSCOPESZtest_configr)r:ZCONFIG_NAMEr,)r4r5�subpolicy_names�errZcp�e�
generatorsr?�cls�genr6�namerrr	�build_policy[s:��

rPcCs�d}dd�tt�D�}tj�|jt�}zRt|ddd��0}|D]}tj|}|�	|j
�q<Wd�n1sl0YWnty�td�d}Yn0|S)	NrcSsg|]}d|vr|�qSr<rr>rrr	r�r z$save_reload_cmds.<locals>.<listcomp>r$rr%zError saving reload cmds�)
rFrGr'r(r)r�RELOAD_CMD_NAMEr.rHr3Z
RELOAD_CMDr,r
)r4rJrLr(r8r?rMrrr	�save_reload_cmds~s
0
rScCs�t�}d}|jrt�d�|jrPdd�|j���d�D�}|^}}t|||�}nzt�	|j
��^}|D]H}|j�d�sb|j
dd�rbtj�|j�\}}|d	krbt||�}|rbq�qbWd
�n1s�0Y|s�|jr�t|�}t�|�d
S)z!The actual command implementationr�errorcSsg|]}|r|�qSrr)r�nrrr	r�r zmain.<locals>.<listcomp>r@�.F)�follow_symlinksz.polN)r�strict�warnings�filterwarningsZpolicy�upperr!rPr'�scandirrrO�
startswith�is_filer(�splitextZ
reloadcmdsrSr�exit)r4rJ�namesr5rI�sd�i�extrrr	�main�s(

$
re�__main__)N)rr0r'rrYrDrGrRr
rr:rPrSre�__name__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