403Webshell
Server IP : 104.21.4.30  /  Your IP : 104.23.243.142
Web Server : Apache
System : Linux keen-cori.18-142-40-148.plesk.page 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 06:59:36 UTC 2025 x86_64
User : simottodesign.com_2tntp341vs7 ( 10011)
PHP Version : 8.3.31
Disable Function : opcache_get_status
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3/dist-packages/uaclient/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/uaclient/__pycache__/security_status.cpython-38.pyc
U

2�d%e�@s�ddlZddlmZddlmZmZddlmZddlmZddl	m
Z
ddlmZm
Z
mZmZmZmZddlZddlmZmZdd	lmZdd
lmZddlmZmZmZmZddlm Z dd
l!m"Z"m#Z#ddl$m%Z%m&Z&m'Z'ddl(m)Z)m*Z*m+Z+m,Z,m-Z-dZ.Gdd�de�Z/edd�dd��Z0e
deej1j2fd�dd�Z3ej1j2e4d�dd�Z5e4ee4efe4d�dd�Z6eej1j2e
e4eeej1j7e4ffd �d!d"�Z8e ee4efd#�d$d%�Z9eee4efd�d&d'�Z:e
e4eeej1j7e4ffee4efeee4efd(�d)d*�Z;e ee4efd#�d+d,�Z<dIe
e4eej1j2fe4e=dd/�d0d1�Z>d2d3�Z?d4d5�Z@e4e4e&e%eAeAe=d6�d7d8�ZBee4d9�d:d;�ZCd<d=�ZDe d>�d?d@�ZEdAdB�ZFdCdD�ZGdEdF�ZHdGdH�ZIdS)J�N)�defaultdict)�datetime�timezone)�Enum)�	lru_cache)�choice)�Any�DefaultDict�Dict�List�Tuple�Union)�	livepatch�messages)�_reboot_required)�_is_attached)�PreserveAptCfg�
get_apt_cache�get_apt_cache_datetime�
get_esm_cache)�UAConfig)�ESMAppsEntitlement�ESMInfraEntitlement)�ApplicabilityStatus�ApplicationStatus�ContractStatus)�get_distro_info�get_kernel_info�get_release_info�is_current_series_lts�is_supported)�	esm-infra�esm-appsc@s eZdZdZdZdZdZdZdS)�UpdateStatusz2Represents the availability of a security package.Zupgrade_availableZpending_attachZpending_enableZupgrade_unavailableN)�__name__�
__module__�__qualname__�__doc__�	AVAILABLE�
UNATTACHED�NOT_ENABLED�UNAVAILABLE�r,r,�:/usr/lib/python3/dist-packages/uaclient/security_status.pyr#(s
r#)�maxsizecCsRt�j}dd�|�fddd�|�fddd�|�fd	dd
�|�fddd�|�fd	iS)N�Ubuntuz{}-security�standard-securityZ
UbuntuESMAppsz{}-apps-securityr"Z	UbuntuESMz{}-infra-securityr!z{}-apps-updatesz{}-infra-updates)r�series�format)r1r,r,r-�%get_origin_information_to_service_map0s�r3�str)�returnc	CsRtt�}tt��8}dd�|D�}||d<|D]}|t|��|�q,W5QRX|S)NcSsg|]}|jr|�qSr,)�is_installed��.0�packager,r,r-�
<listcomp>Bsz4get_installed_packages_by_origin.<locals>.<listcomp>�all)r�listrr�get_origin_for_package�append)�result�cache�installed_packagesr9r,r,r-� get_installed_packages_by_origin<s
�rB)r9r5cCs~|jj}t|�dkr6|jdks*|j|jkr.dS|jj}|D]>}t��|j|jfd�}|tkrd|S|jdkr:|j	Sq:dS)a
    Returns the origin for a package installed in the system.

    Technically speaking, packages don't have origins - their versions do.
    We check the available versions (installed, candidate) to determine the
    most reasonable origin for the package.
    �N�unknown�r/�third-party)
�	installed�origins�len�	candidater3�get�origin�archive�ESM_SERVICESZ	component)r9Zavailable_originsrL�servicer,r,r-r=Ms
�
r=)�service_name�ua_infor5cCsP|dks|dr$||dkr$tjjS|ds4tjjS||dkrHtjjStjjS)z�Defines the update status for a package based on the service name.

    For ESM-[Infra|Apps] packages, first checks if Pro is attached. If this is
    the case, also check for availability of the service.
    )r0�standard-updates�attached�enabled_services�entitled_services)r#r(�valuer)r*r+)rPrQr,r,r-�get_update_statusls�
�rW)�packagesr5c
	Cs tt�}tt���}|D�]�}|jr|jD]~}||jkr*d}|jD]8}t��	|j
|jf�}|rB||�||j
f�d}q|qB|jd}|s*d|jkr*|d�||j
f�q*|j|kr||j}	|	jD]J}||jkr�|jD]4}t��	|j
|jf�}|r�||�||j
f�q�q�q�qW5QRX|S)z�Filters a list of packages looking for available updates.

    All versions greater than the installed one are reported, based on where
    it is provided, including ESM pockets, excluding backports.
    FTrZ	backportsrR)rr<rrr6ZversionsrGrHr3rKrLrMr>Zsite�name)
rXr?Z	esm_cacher9�versionZcounted_as_securityrLrOZexpected_originZesm_packager,r,r-�filter_security_updates}sL




��
���





��r[)�cfgr5cCs�t|�j}|ggd�}|r�t|�}t|�}|��tjkrF|d�d�|��dt	j
krf|d�d�|��tjkr�|d�d�|��dt	j
kr�|d�d�|S)z7Returns the Pro information based on the config object.)rSrTrUrUr"rrTr!)r�is_attachedrrZcontract_statusrZENTITLEDr>�application_statusr�ENABLED)r\r]rQZinfra_entitlementZapps_entitlementr,r,r-�get_ua_info�s.
�
��
��r`cCsrt��}t�j}|dk	rn|dk	rn||jkrn|jdk	rn|jjdkrn|jjdk	rnt|jj�dkrndd�|jjD�SgS)NZappliedrcSs"g|]}|jpd|jpdd��qS)rEF�rYZpatchedra)r8Zfixr,r,r-r:�s�z,get_livepatch_fixed_cves.<locals>.<listcomp>)r�statusrZproc_version_signature_versionZkernel�state�fixesrI)Z	lp_statusZour_kernel_versionr,r,r-�get_livepatch_fixed_cves�s(����
�
��	�re)�security_upgradable_versionsrQr5cCsRg}|��D]@\}}t||�}|D](\}}|�|jj|j||||jd��q"q|S)N)r9rZrPrbrLZ
download_size)�itemsrWr>r9rYrZ�size)rfrQ�updatesrOZversion_listrbrZrLr,r,r-�create_updates_list�s
��rjcCst|�}d|i}t�}|d}t|�|d<t|�}g|d<t||�}t|d�|d<t|d�|d<t|d	�|d
<t|d�|d<t|d
�|d<t|d�|d<t|d�|d<t|d�|d<t|d�|d<t|d�|d<t|d�|d<t|�j|d<d||dt�id�S)agReturns the status of security updates on a system.

    The returned dict has a 'packages' key with a list of all installed
    packages which can receive security updates, with or without ESM,
    reflecting the availability of the update based on the Pro status.

    There is also a summary with the Ubuntu Pro information and the package
    counts.
    Zuar;Znum_installed_packagesrR�mainZnum_main_packages�
restrictedZnum_restricted_packages�universeZnum_universe_packages�
multiverseZnum_multiverse_packagesrFZnum_third_party_packagesrDZnum_unknown_packagesr!Znum_esm_infra_packagesr"Znum_esm_apps_packagesZnum_esm_infra_updatesZnum_esm_apps_updatesr0Znum_standard_security_updates�reboot_requiredz0.1Z
fixed_cves)Z_schema_version�summaryrXr)r`rBrIr[rjrrore)r\rQrp�packages_by_originrArfrir,r,r-�security_status_dictsB

�����rrr;F)�
package_lists�
show_items�always_showr5c
Csht|d�}ttjj|d��dtt|��d}|dkrvt|d�t|d�t|d�}ttjj||d	d
d��|dkr�t|d
�t|d�t|d�}|s�|r�ttjj|||dkr�d	nddd��|dk�rt|d�}|s�|�rtj}|dk�rtj}t|j||d��|dk�r\t|d�}	|	�s8|�r\ttj	j||	|	dk�rRd	ndd��td�dS)Nr;)�count� rC)r;r!rkrlr!�s�Main/Restricted)�offsetrv�plural�
repository)r;r"rmrnr"rE�Universe/Multiverse)r;rFrF)rzrv)r;rDrD)rzrvr{)
rI�printrZSS_SUMMARY_TOTALr2r4ZSS_SUMMARY_ARCHIVEZSS_SUMMARY_THIRD_PARTY_SNZSS_SUMMARY_THIRD_PARTY_PLZSS_SUMMARY_UNAVAILABLE)
rsrtruZtotal_packagesrzZpackages_mrZpackages_umZpackages_thirdparty�msgZpackages_unknownr,r,r-�_print_package_summary>sh

�
����	

�
����	



��r�cCsHt�j}t|�j}d�t|j�t|j��}tt	j
j|d��td�dS)Nz{}/{}��daterE)rr1r�eolr2r4Zmonth�yearr~rZSS_INTERIM_SUPPORT)r1�eol_dater�r,r,r-�_print_interim_release_support}s

r�cCsBt�j}t|�r4t|�j}ttjjt	|j
�d��n
ttj�dS)Nr�)rr1r rr�r~rZSS_LTS_SUPPORTr2r4r�ZSS_NO_SECURITY_COVERAGE)r1r�r,r,r-�_print_lts_support�s

r��rOr|�service_status�service_applicability�installed_updates�available_updatesr]c
Cs�t�j}t|�j}|tjkr6tjj||t	|j
�d�}	ntjj||t	|j
�d�}	|rr|	tjj||dkrhdndd�7}	|r�|	tj
j|dkr�dnd||dkr�dndd	�7}	t|	�|r�|tjkr�|tjkr�td�ttjj|d
��td�dS)N)r|rOr�)rOr|r�rCrErx)rir{�isZare)Zverbrir{�rO)rr1rZeol_esmrr_rZSS_SERVICE_ENABLEDr2r4r�ZSS_SERVICE_ADVERTISEZSS_SERVICE_ENABLED_COUNTSZSS_SERVICE_ADVERTISE_COUNTSr~�DISABLEDrZ
APPLICABLEZSS_SERVICE_COMMAND)
rOr|r�r�r�r�r]r1Zeol_date_esm�messager,r,r-�_print_service_support�sD	

�������r�)�package_listc	Cs2d�|�}td�tj|dddd���td�dS)Nrw�
�PF)�widthZbreak_long_wordsZbreak_on_hyphensrE)�joinr~�textwrapZwrap)r��
package_namesr,r,r-�_print_package_list�s
���
r�cCsbt�}|dkr$ttj�td�dSt�tj�}||}|jdkr^ttj	j
|jd��td�dS)NrEr)�days)rr~rZSS_UPDATE_UNKNOWNr�nowrZutcr�ZSS_UPDATE_DAYSr2)Zlast_apt_updater�Ztime_since_updater,r,r-�_print_apt_update_call�s

r�)r\c	Cs�t|���d}t|���d}t|���d}t|���d}t�j}t�}t|�d}t�}t	|d|d|d�d}	t	|d|d|d�d}
t
|�ttj
�td	�t�|s�t|�r�t�ttj�dS|tjkr�t�d	}|s�d
}ttjj|d��td	�tdd||t|d�t|	�|d
�|d�sV|d�sV|d�rxtdd||t|d�t|
�|d
�|�s�ttj�dS)NrrSrkrlr!rmrnr"rEz NOT)�not_attachedryr�r})rr^�applicability_statusrrr1rr`rBr[r�r~rZSS_HELP_CALLr�r r��SS_NO_INTERIM_PRO_SUPPORTrr�r�ZSS_IS_ATTACHEDr2r�rIZ
SS_LEARN_MORE)r\�esm_infra_status�esm_infra_applicability�esm_apps_status�esm_apps_applicabilityr1�is_ltsr]rqZ"security_upgradable_versions_infraZ!security_upgradable_versions_appsr�r,r,r-�security_status�s�
���������



����
�
r�cCsvt�}|d}dd�|D�}t|ddd�|rhttj�td�td�t|�ttjjt|�d��n
ttj	�dS)	NrFcSsg|]
}|j�qSr,�rYr7r,r,r-r:-sz-list_third_party_packages.<locals>.<listcomp>T�rtrurE�	Packages:�r9)
rBr�r~rZSS_THIRD_PARTYr��SS_SHOW_HINTr2rZSS_NO_THIRD_PARTY)rqZthird_party_packagesr�r,r,r-�list_third_party_packages*s�
r�cCsvt�}|d}dd�|D�}t|ddd�|rhttj�td�td�t|�ttjjt|�d��n
ttj	�dS)	NrDcSsg|]
}|j�qSr,r�r7r,r,r-r:Asz-list_unavailable_packages.<locals>.<listcomp>Tr�rEr�r�)
rBr�r~rZSS_UNAVAILABLEr�r�r2rZSS_NO_UNAVAILABLE)rqZunknown_packagesr�r,r,r-�list_unavailable_packages>s�
r�c	s�t�}|d}|d|d}||}t�}t|�d}|D]\}}|�|j�q<t�j}	t�}
t|��	�d}t|��
�d}tdd�|D���tdd�|D���t��fdd�|D��}
t|dd	d
�|
s�t
|	�r�t�ttj�dS|tjk�rt�td�tdd||t|�t|�d
d�ttjjdd��td�t
|	��s؈�rfttjjdd��t����r�ttjjdd��t����p��}|
�r�ttjj|�r�dnddd��t|
�|�r�ttjjt|�d��dS)Nr!rkrlrcSsg|]
}|j�qSr,r�r7r,r,r-r:jsz+list_esm_infra_packages.<locals>.<listcomp>cSsg|]
}|j�qSr,r�r7r,r,r-r:mscs&g|]}|j�kr|j�kr|j�qSr,r�r7�Zavailable_package_namesZinstalled_package_namesr,r-r:ps

�Tr�rEryFr�r��Further installed�	Installed��prefixrOr�)rB�setr[�addr9rr1rrr^r��sortedr�r r�r~rr�rr�r�r�rI�SS_SERVICE_HELPr2�SS_UPDATES_AVAILABLEr��SS_UPDATES_INSTALLED�SS_OTHER_PACKAGESr�r)r\rqZinfra_packagesZmr_packagesZall_infra_packagesZ
infra_updatesrf�update�_r1r�r�r��remaining_package_names�	hint_listr,r�r-�list_esm_infra_packagesSs��
�����	�
�	

��r�c	s�t�}|d}|d|d}||}t�}t|�d}|D]\}}|�|j�q<t�}	t|���d}
t|���d}t	dd�|D���t	dd�|D���t	��fdd�|D��}t
|dd	d
�|	s�ttj
�dStdd|
|t|�t|�dd
�ttjjdd��td�|�r���r2ttjjdd��t����rRttjjdd��t����pZ�}
|�r�ttjj|
�rtdnddd��t|�|
�r�ttjjt|
�d��dS)Nr"rmrnrcSsg|]
}|j�qSr,r�r7r,r,r-r:�sz*list_esm_apps_packages.<locals>.<listcomp>cSsg|]
}|j�qSr,r�r7r,r,r-r:�scs&g|]}|j�kr|j�kr|j�qSr,r�r7r�r,r-r:�s

�Tr�r}Fr�r�rEr�r�r�r�)rBr�r[r�r9rrr^r�r�r�r~rr�r�rIr�r2r�r�r�r�r�r)r\rqZ
apps_packagesZum_packagesZall_apps_packagesZapps_updatesrfr�r�r�r�r�r�r�r,r�r-�list_esm_apps_packages�s|������	�
�	
��r�)r;F)Jr��collectionsrrr�enumr�	functoolsrZrandomr�typingrr	r
rrr
ZaptZuaclientrrZ5uaclient.api.u.pro.security.status.reboot_required.v1rZ(uaclient.api.u.pro.status.is_attached.v1rZuaclient.aptrrrrZuaclient.configrZuaclient.entitlementsrrZ(uaclient.entitlements.entitlement_statusrrrZuaclient.systemrrrrr rNr#r3r9ZPackagerBr4r=rWZVersionr[r`rerjrr�boolr�r�r��intr�r�r�r�r�r�r�r�r,r,r,r-�<module>s| 
�
�>!�
�8��?
�2�LW

Youez - 2016 - github.com/yon3zu
LinuXploit