PHP WebShell

Текущая директория: /usr/lib/python3/dist-packages/uaclient/api/u/pro/security/fix/_common/execute/__pycache__

Просмотр файла: v1.cpython-310.pyc

o

Uٵg�&�@sVddlmZmZddlmZmZmZddlmZm	Z	ddl
mZmZm
Z
mZmZmZmZmZddlmZmZmZmZGdd�de�ZGdd	�d	e�ZGd
d�de�ZGdd
�d
e�ZGdd�d�Zdedefdd�Zdedefdd�Zdedefdd�Zdedefdd�Z dede
fdd�Z!dedefdd�Z"dedefd d!�Z#ded"efd#d$�Z$d%S)&�)�List�Optional)�apt�messages�util)�	FixStatus�status_message)�FixPlanAptUpgradeStep�FixPlanAttachStep�FixPlanEnableStep�FixPlanNoOpStatus�FixPlanNoOpStep�
FixPlanResult�&FixPlanWarningPackageCannotBeInstalled�#FixPlanWarningSecurityIssueNotFixed)�
DataObject�Field�StringDataValue�	data_listc@sJeZdZededd�ededd�ededd�gZdededefdd	�Zd
S)�UpgradedPackage�name�The name of the package��doc�versionz,The version that the package was upgraded to�pocket�.The pocket which contained the package upgradecC�||_||_||_dS�N�rrr)�selfrrr�r!�T/usr/lib/python3/dist-packages/uaclient/api/u/pro/security/fix/_common/execute/v1.py�__init__!s
zUpgradedPackage.__init__N)�__name__�
__module__�__qualname__rr�fields�strr#r!r!r!r"rs���rc@sBeZdZededd�ededdd�gZddedeefd	d
�ZdS)�
FailedUpgraderrrrFr��requiredrNcCs||_||_dSr�rr)r rrr!r!r"r#2s
zFailedUpgrade.__init__r)	r$r%r&rrr'r(rr#r!r!r!r"r)'s��
r)c	@s\eZdZededd�ededd�edee�ddd	�gZ	
d
dedede	e
efdd�Zd
S)�FixExecuteError�
error_typezThe type of the errorr�reasonz!The reason why the error occurred�failed_upgradesFz#A list of ``FailedUpgrade`` objectsr*NcCrr�r.r/r0)r r.r/r0r!r!r"r#Es
zFixExecuteError.__init__r)r$r%r&rrrr)r'r(rrr#r!r!r!r"r-7s(������
�r-c
@s�eZdZededd�ededdd�eded	d�ed
ee�ddd�edee�dd
d�gZ			dde	de	de
e	d
e
eede
eef
dd�ZdS)�FixExecuteResult�titlezThe title of the CVEr�descriptionFzThe description of the CVEr*�statuszThe status of fixing the CVE�upgraded_packagesz%A list of ``UpgradedPackage`` objects�errorsz%A list of ``FixExecuteError`` objectsNcCs"||_||_||_||_||_dSr�r3r4r5r6r7)r r3r5r4r6r7r!r!r"r#hs

zFixExecuteResult.__init__)NNN)
r$r%r&rrrrr-r'r(rrr#r!r!r!r"r2PsH��������
�
�r2c@seZdZdd�ZdS)�ExecuteContextcCs(d|_d|_tjjj|_g|_g|_dS)NF)	�require_enable�require_attachr�SYSTEM_NON_VULNERABLE�value�msgr5�
upgraded_pkgsr7)r r!r!r"r#xs

zExecuteContext.__init__N)r$r%r&r#r!r!r!r"r9wsr9�execute_context�security_issuecCs4|jr|j�t|jjpd|jjd��d|_dSdS)Nzunexpected-error)r.r/�error)rBr7�appendr-�coder>r5)r@rAr!r!r"�
_handle_error�s
��
�rE�warningcCs>|j�t|jt|jj�dd�|jjD�d��tj	j
j|_dS)NcSsg|]}t|d��qS))r)r)��.0�pkgr!r!r"�
<listcomp>�s
�z4_handle_security_issue_not_fixed.<locals>.<listcomp>r1)r7rCr-�warning_typer�datar5�source_packagesr�SYSTEM_STILL_VULNERABLEr=r>�r@rFr!r!r"� _handle_security_issue_not_fixed�s
���	rPc	CsN|j�t|jtjj|jj|jj	d�t
|jj|jjd�gd��tj
jj|_dS)N)�packagerr,r1)r7rCr-rKr�FIX_CANNOT_INSTALL_PACKAGE�formatrL�binary_package�binary_package_versionr)rrrNr=r>r5rOr!r!r"�#_handle_package_cannot_be_installed�s�����rV�stepcs@|j�tdtj�fdd��jjD�d��d|_tj	j
j|_dS)Nzfix-requires-attachc�g|]
}t|�jjd��qS�r,)r)rL�required_servicerG�rWr!r"rJ����z"_handle_attach.<locals>.<listcomp>r1T)
r7rCr-r�*SECURITY_UPDATE_NOT_INSTALLED_SUBSCRIPTIONrLrMr;rrNr=r>r5�r@rWr!r[r"�_handle_attach�s
���
r_csV|jrdS|j�tdtjj�jjd��fdd��jj	D�d��d|_
tjj
j|_dS)Nzfix-requires-enable)�servicecrXrY)r)rLr`rGr[r!r"rJ�r\z"_handle_enable.<locals>.<listcomp>r1T)r;r7rCr-r�SECURITY_SERVICE_DISABLEDrSrLr`rMr:rrNr=r>r5r^r!r[r"�_handle_enable�s�
���rbcs&|js|jrdS�jjsdSt��s,|j�tdt	j
�fdd��jjD�d��d|_dSz1t
��t
jgd��jjddid	��jjD]}t
�|�}|rZ|j�t||�jjd
��qDWdSty�}z)t|dt|��}tjjj|_|j�td|�fd
d��jjD�d��WYd}~dSd}~ww)Nzfix-require-rootcrXrY�r)rLrrGr[r!r"rJ�r\z'_handle_apt_upgrade.<locals>.<listcomp>r1rB)zapt-get�installz--only-upgradez-y�DEBIAN_FRONTEND�noninteractive)�cmd�override_env_varsrr>zfix-error-installing-pkgcrXrYrcrGr[r!r"rJr\)r;r:rL�binary_packagesr�we_are_currently_rootr7rCr-r�SECURITY_APT_NON_ROOTrMr5r�run_apt_update_command�run_apt_command�get_pkg_versionr?rr�	Exception�getattrr(rrNr=r>)r@rWrI�pkg_version�er>r!r[r"�_handle_apt_upgrade�sd
���
��
����
�����rscCs$|jjtjjkrtjjj|_dSdSr)rLr5r�NOT_AFFECTEDr=r�SYSTEM_NOT_AFFECTEDr>r^r!r!r"�_handle_noops�rv�returncCs�t�}|jrt||�|jr)|jD]}t|t�rt||�qt|t�r(t||�q|j	r]|j	D]-}t|t
�r<t||�q/t|t�rGt
||�q/t|t�rRt||�q/t|t�r\t||�q/t|j|j|j|j|jsmdd�S|jd�S)Nr8)r9rBrE�warnings�
isinstancerrPrrV�planr
r_rrbr	rsr
rvr2r3r4r5r?r7)rAr@rFrWr!r!r"�_execute_fixs<




�





���r{N)%�typingrr�uaclientrrr�'uaclient.api.u.pro.security.fix._commonrr�/uaclient.api.u.pro.security.fix._common.plan.v1r	r
rrr
rrr�uaclient.data_typesrrrrrr)r-r2r9rErPrVr_rbrsrvr{r!r!r!r"�<module>sD(
'	�
�
�
��
��
�:

Выполнить команду


Для локальной разработки. Не используйте в интернете!