shell bypass 403

Cubjrnet7 Shell


name : updateinfo.cpython-39.pyc
a

�!c:J�@s�dZddlmZddlmZddlmZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
mZdd	lmZd
d�ZGdd
�d
e	j�ZdS)zUpdateInfo CLI command.�)�absolute_import)�print_function)�unicode_literalsN)�commands)�OptionParser)�_�exact_width��unicodecCstdd�|D��S)z7Return maximum length of items in a non-empty iterable.css|]}t|�VqdS�N)r)�.0�item�r�?/usr/lib/python3.9/site-packages/dnf/cli/commands/updateinfo.py�	<genexpr>&�z_maxlen.<locals>.<genexpr>)�max)�iterablerrr�_maxlen$srcs0eZdZdZejed�ejed�ejed�ej	ed�ej
ed�iZed�ed�ed	�ed
�d�Zdddd
d
d
dd�Z
ddgee
���Zed�ZdZdddegZ�fdd�Zedd��Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Z d/d0�Z!d1d2�Z"d3d4�Z#d5d6�Z$�Z%S)7�UpdateInfoCommandz)Implementation of the UpdateInfo command.�bugfix�enhancement�security�unknown�
newpackagez
Critical/Sec.zImportant/Sec.z
Moderate/Sec.zLow/Sec.)�Critical�	Important�Moderate�Low�list�info�summary)zlist-updateinfoz
list-securityzlist-seczinfo-updateinfoz
info-securityzinfo-seczsummary-updateinfoZ
updateinfoZupifz!display advisories about packages�	available�	installed�updates�allcstt|��|�d|_dS)zInitialize the command.N)�superr�__init__�_installed_query)�self�cli��	__class__rrr'CszUpdateInfoCommand.__init__c	Cs|��}|jddddtd�d�|jddddtd	�d�|jd
dddtd�d�|jd
dddtd�d�gd�}|��}|jddddtd�d�|jddddtd�d�|jddddtd�d�|jddddtd�d �|jd!d"ddtd#�d �|jd$d%d&||d'tjtd(�d)�dS)*Nz--available�
_availabilityr"�store_constz?advisories about newer versions of installed packages (default))�dest�const�action�helpz--installedr#z?advisories about equal and older versions of installed packagesz	--updatesr$zbadvisories about newer versions of those installed packages for which a newer version is availablez--allr%z3advisories about any versions of installed packages)r!rr z	--summary�_spec_actionr!z$show summary of advisories (default)z--listrzshow list of advisoriesz--infor zshow info of advisoriesz
--with-cve�with_cveF�
store_truez'show only advisories with CVE reference)r/�defaultr1r2z	--with-bz�with_bzz,show only advisories with bugzilla reference�spec�*ZSPECrzPackage specification)�nargs�metavar�choicesr6r1r2)�add_mutually_exclusive_group�add_argumentrrZPkgNarrowCallback)�parser�availabilityZcmdsZ
output_formatrrr�
set_argparserHsX����
�
�
�
�
�
�zUpdateInfoCommand.set_argparsercCs�d|jj_d|jj_|jj|jvr6|j|jj|j_n|jjrJ|jj|j_|jj	r`|jj	|j_
n8|jjrz|jjd|jvr�|j
|j_
n|jj�d�|j_
t�|j_|jjr�|jj�tj�|jjr�|jj�tj�|jjr�|jj�tj�|jj�r|jj�tj�|jj�r�|jj�d�}|dk�r8|jj�tj�n�|dk�rT|jj�tj�np|dv�rp|jj�tj�nT|dk�r�|jj�tj�n8|dv�r�d|j_n$|dk�r�d|j_n|jj�d|�|jj�r�|jj�|jj�d	S)
zADo any command-specific configuration based on command arguments.Trrr)rZsecr)Z	bugzillasZbzs�cvesN) r*ZdemandsZavailable_reposZsack_activation�optsZcommand�direct_commands�spec_actionr3r-r@r8�availabilities�availability_default�pop�set�_advisory_typesr�add�hawkey�ADVISORY_BUGFIXr�ADVISORY_ENHANCEMENTr�ADVISORY_NEWPACKAGEr�ADVISORY_SECURITYr7r4�insert�advisory�extend)r)r8rrr�	configurensJ













zUpdateInfoCommand.configurecCs�|jjdkr$|�|jj�}td�}n^|jjdkrH|�|jj�}td�}n:|jjdkrl|�|jj�}td�}n|�|jj�}td�}|jjdkr�|�	|�n$|jjdkr�|�
|�n|�||�dS)z#Execute the command with arguments.r#r$r%r"rr N)rCr@�installed_apkg_adv_instsr8r�updating_apkg_adv_insts�all_apkg_adv_insts�available_apkg_adv_instsrE�display_list�display_info�display_summary)r)�apkg_adv_insts�descriptionrrr�run�s 


zUpdateInfoCommand.runcCs@|jdur |jj������|_|jj|j|jd�}t	|�dkS)N)�nameZevr__gter)
r(�base�sack�queryr#Zapply�filterr_�evr�len)r)�apackage�qrrr�_newer_equal_installed�s
z(UpdateInfoCommand._newer_equal_installedcs|jjs<|jjs<|jjs<|jjs<|jjs<|jjs<|jjs<dS�j|jjvrNdSt	�fdd�|jjD��rldS|jjr��j|jjvr�dS|jjr�t	�fdd�|jjD��r�dS|jjr�t	�fdd�|jjD��r�dS|jjr�t	dd��j
D��r�dS|jj�rt	dd��j
D���rdSd	S)
NTc3s|]}t��j|�VqdSr)�fnmatch�fnmatchcase�id�r�pat�rRrrr�rz6UpdateInfoCommand._advisory_matcher.<locals>.<genexpr>csg|]}��|��qSr)Z	match_bug)rZbugrnrr�
<listcomp>�rz7UpdateInfoCommand._advisory_matcher.<locals>.<listcomp>csg|]}��|��qSr)Z	match_cve)rZcvernrrro�rcSsg|]}|jtjk�qSr)�typerL�
REFERENCE_CVE�r�refrrrro�rcSsg|]}|jtjk�qSr)rprL�REFERENCE_BUGZILLArrrrrro�rF)rCrJr8�severityZbugzillarBr4r7rp�any�
references)r)rRrrnr�_advisory_matcher�s>������""
z#UpdateInfoCommand._advisory_matcherc#sd|�|�D]T���|jj�}|�|�}t�fdd�|jjD��}|sH|r
|���}�||fVq
dS)z4Return (adv. package, advisory, installed) triplets.c3s|]}t��j|�VqdSr)rirjr_rl�rfrrr�s�zAUpdateInfoCommand._apackage_advisory_installed.<locals>.<genexpr>N)	Zget_advisory_pkgsZget_advisoryr`rarxrvrCr8rh)r)Z
pkgs_queryZcmptype�specsrRZadvisory_matchZapackage_matchr#rryr�_apackage_advisory_installed�s
�
z.UpdateInfoCommand._apackage_advisory_installedcCs@|jj}|��jdd�}|��}|r<|�|��j|jd��}|S)z<Return query containing packages of currently running kernelT)�empty)�	sourcerpm)r`rarb�filtermZget_running_kernel�unionr})r)rargZkernelrrr�running_kernel_pkgs�sz%UpdateInfoCommand.running_kernel_pkgscCs8|jj�����d�}|�|�����}|�|tj	|�S)z5Return available (adv. package, adv., inst.) triplets�)
r`rarbr#Zlatestrr�r{rL�GT)r)rzrgrrrrX�sz*UpdateInfoCommand.available_apkg_adv_instscCs"|�|jj����tjtjB|�S�z5Return installed (adv. package, adv., inst.) triplets)r{r`rarbr#rL�LT�EQ�r)rzrrrrU�s�z*UpdateInfoCommand.installed_apkg_adv_instscCs |�|jj��jdd�tj|�S)z4Return updating (adv. package, adv., inst.) tripletsT)Z
upgradable)r{r`rarbr~rLr�r�rrrrV�s�z)UpdateInfoCommand.updating_apkg_adv_instscCs(|�|jj����tjtjBtjB|�Sr�)	r{r`rarbr#rLr�r�r�r�rrrrWs �z$UpdateInfoCommand.all_apkg_adv_instscCsRi}|D]:\}}}|j||j<|jtjkr|j|jf||j|jf<qt�|���S)zMake the summary of advisories.)rprkrLrPru�collections�Counter�values)r)r\�id2type�apkgrRr#rrr�_summaryszUpdateInfoCommand._summaryc	
CsR|�|�}|�r8ttd�|�dtd�|tjfdtd�|tjfdtd�|tjdffdtd�|tjd	ffdtd
�|tjdffdtd�|tjd
ffdtd�|tjdffdtd�|tjfdtd�|tjfdtd�|tjfg
}t	dd�|D��}|D]4\}}}|�s�qtd|d|t
|�|f��q|jjj
�rN|j��dS)z"Display the summary of advisories.zUpdates Information Summary: rzNew Package notice(s)zSecurity notice(s)r�zCritical Security notice(s)rzImportant Security notice(s)rzModerate Security notice(s)rzLow Security notice(s)rzUnknown Security notice(s)NzBugfix notice(s)zEnhancement notice(s)zother notice(s)css"|]}|drt|d�VqdS)�Nr	)r�vrrrr(rz4UpdateInfoCommand.display_summary.<locals>.<genexpr>z
    %*s %s�)r��printrrLrOrPrMrN�ADVISORY_UNKNOWNrr
r`�confZautocheck_running_kernelr*Z_check_running_kernel)	r)r\r]Ztyp2cntZlabel_counts�width�indent�label�countrrrr[s>
������"z!UpdateInfoCommand.display_summarycs��fdd�}�fdd�}t�}|D]�\}}}d|j|j|jf}�jjsP�jjr�|jD]V}	|	jt	j
krr�jjsrqVn|	jt	jkr��jjs�qV|j|jf|�
|||jft��|	j<qVq"|j|jf|�
|||jft��|j<q"g}
d}}}
t|��dd�d	�D]l\\}}}}t|
t|��}
|��D]F\}}t|t|��}||�}t|t|��}|
�||�||||f��qq�|
D]R\}}}}}�jjj�r�td
||||||
||f�ntd||||||f��qldS)
zDisplay the list of advisories.cs �jjdksdS|rdSdSdS)Nr%�zi �  )rCr@)�inst�r)rr�	inst2mark2s
z1UpdateInfoCommand.display_list.<locals>.inst2markcs2|tjkr�j�|td��S�j�|td��SdS)NzUnknown/Sec.r)rLrP�SECURITY2LABEL�getr�
TYPE2LABEL)�typZsevr�rr�
type2label:s
z2UpdateInfoCommand.display_list.<locals>.type2labelz%s-%s.%srcSs|dS)Nrr��xrrr�<lambda>Rrz0UpdateInfoCommand.display_list.<locals>.<lambda>��keyz%s%-*s %-*s %-*s %sz%s%-*s %-*s %sN)�dictr_rd�archrCr4r7rwrprLrtrqru�
setdefault�updatedrk�sorted�itemsrre�appendr`r��verboser�)r)r\r�r�Znevra_inst_dictr�rRr#ZnevrarsZadvlistZidwZtlwZnwr�Zaupdatedr�ZaidZatypesevr�rr�rrY0s8
� �"zUpdateInfoCommand.display_listcs��jj����jjj�td�td�td�td�td�td�td�td�td	�td
�f
�����fdd�}t�}|D]\}}}|�|||��qrtd
�	t
|dd�d���dS)z/Display the details about available advisories.z	Update ID�TypeZUpdatedZBugsZCVEsZDescriptionZSeverityZRightsZFilesZ	Installedc
s�|jg�j�|jtd��gt|j�ggg|jp0d��|j	g|j
pBd��tt�fdd�|j
D���dg
}|jD]L}|jtjkr�|d�d�|j|jp�d��ql|jtjkrl|d�|j�ql|d��|d���s�d|d<d|d	<�jjd
k�r|�rtd�ntd�g|d
<t��}g}|�d�|�d|j�|�d�t�|�D]f\}}|ddgfv�rf�qJt|�D]>\}}	|dk�r�|nd}
|t|
�}|�d|d|
|	f��qn�qJd�|�S)Nrr�c3s|]}|j�vr|jVqdSr)r��filename)r�pkg)�archesrrrss
�zHUpdateInfoCommand.display_info.<locals>.advisory2info.<locals>.<genexpr>�z{} - {}r���r%�trueZfalse�	zO===============================================================================r�rz	%*s%s: %s�
)rkr�r�rprr
r�r]�
splitlinesruZrightsr�rIZpackagesrwrLrtr��format�titlerq�sortrCr@r�zip�	enumerater�join)rRr#Z
attributesrsr��linesr�Z	atr_lines�i�liner�Zkey_padding�r��labelsr)r�rr�
advisory2infoisH
�
 

z5UpdateInfoCommand.display_info.<locals>.advisory2infoz

cSs|��Sr)�lowerr�rrrr��rz0UpdateInfoCommand.display_info.<locals>.<lambda>r�N)r`raZlist_archesr�r�rrIrKr�r�r�)r)r\r�Z
advisoriesr�rRr#rr�rrZas
�(zUpdateInfoCommand.display_info)&�__name__�
__module__�__qualname__�__doc__rLrMrrNrPr�rOr�r�rDr�keys�aliasesr!rGrFr'�staticmethodrArTr^rhrxr{r�rXrUrVrWr�r[rYrZ�
__classcell__rrr+rr)sR




���
%6	1r)r�Z
__future__rrrr�rirLZdnf.clirZdnf.cli.option_parserrZdnf.i18nrrZ
dnf.pycompr
rZCommandrrrrr�<module>s

© 2025 Cubjrnet7