CasperSecurity

Current Path : /lib/python3/dist-packages/uaclient/entitlements/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/uaclient/entitlements/__pycache__/realtime.cpython-310.pyc

o

��Jhn�@s�ddlZddlmZmZmZmZmZddlmZm	Z	m
Z
mZmZddl
mZddlmZmZddlmZmZmZe	��Ze�e�e��ZddiZGd	d
�d
ej�ZGdd�de�ZGd
d�de�Z Gdd�de�Z!Gdd�de�Z"Gdd�de�Z#dS)�N)�Any�Dict�Optional�Tuple�Type)�apt�event_logger�messages�system�util)�repo)�EntitlementWithMessage�
UAEntitlement)�MessagingOperations�MessagingOperationsDict�StaticAffordance�GenuineIntel�intelc@s�eZdZdZejZejZej	Z
ejjZ
dZdZdZdZdZdefdd�Zdeeeeffd	d
�Zedd��Zedeed
ffdd��Zedeed
ffdd��Z ede!fdd��Z"ddd�Z#dS)�RealtimeKernelEntitlementzrealtime-kernelzubuntu-pro-realtime-kernel.gpgTF�UbuntuRealtimeKernel�returncCs(tjt|j�tdg�d�}t�|�|S)z%Check if system needs to be rebooted.zlinux-.*-realtime)�installed_pkgs�installed_pkgs_regex)r
�
should_reboot�set�packages�event�needs_reboot)�self�reboot_required�r �@/usr/lib/python3/dist-packages/uaclient/entitlements/realtime.py�_check_for_reboots�
z+RealtimeKernelEntitlement._check_for_rebootcCstjttjttjttjtiS�N)�GenericRealtime�variant_name�NvidiaTegraRealtime�RaspberryPiRealtime�IntelIotgRealtime�rr r r!�
_get_variants(s
�z'RealtimeKernelEntitlement._get_variantscCs|jrdStSr#)�access_onlyr$r)r r r!�default_variant0sz)RealtimeKernelEntitlement.default_variant.cCs>ddlm}m}ddlm}t|tj�t|tj�t|tj	�fS)Nr)�FIPSEntitlement�FIPSUpdatesEntitlement)�LivepatchEntitlement)
�uaclient.entitlements.fipsr-r.�uaclient.entitlements.livepatchr/r
r	�REALTIME_FIPS_INCOMPATIBLE�"REALTIME_FIPS_UPDATES_INCOMPATIBLE�REALTIME_LIVEPATCH_INCOMPATIBLE)rr-r.r/r r r!�incompatible_services6s����z/RealtimeKernelEntitlement.incompatible_servicescCstjdd�dffS)NcSst��Sr#)r
�is_containerr r r r!�<lambda>Psz>RealtimeKernelEntitlement.static_affordances.<locals>.<lambda>F)r	�#REALTIME_ERROR_INSTALL_ON_CONTAINERr)r r r!�static_affordancesKs
��z,RealtimeKernelEntitlement.static_affordancescCsDd}|jstjtjdd�fg}d}|jstjdtjifg}||d�S)NT)�msg�defaultr:)�
pre_enable�pre_disable)r+r�prompt_for_confirmationr	�REALTIME_PROMPT�purge�REALTIME_PRE_DISABLE_PROMPT)rr<r=r r r!�	messagingUs$���
���
�z#RealtimeKernelEntitlement.messagingNcCs@t|j��tt����}|rt�t|�tjj	|j
d��dSdS)N)�title)rr�intersectionr�get_installed_packages_names�remove_packages�listr	�DISABLE_FAILED_TMPL�formatrC)rrr r r!rFus

���z)RealtimeKernelEntitlement.remove_packages)rN)$�__name__�
__module__�__qualname__�namer	�REALTIME_TITLErC�REALTIME_DESCRIPTION�description�REALTIME_HELP_TEXT�	help_text�urls�REALTIME_HOME_PAGE�help_doc_url�
repo_key_file�apt_noninteractive�supports_access_only�supports_purge�origin�boolr"r�strrrr*�propertyr,rr
r5rr9rrBrFr r r r!rs0	
	�rcs.eZdZedeedff�fdd��Z�ZS)�RealtimeVariantr.cs(t�fdd��j��D��}t�j|S)Ncs*g|]\}}t|tjj�j|jd���qS))�service�variant)r
r	�REALTIME_VARIANT_INCOMPATIBLErIrC)�.0rM�clsr)r r!�
<listcomp>�s����z9RealtimeVariant.incompatible_services.<locals>.<listcomp>)�tuple�other_variants�items�superr5)r�incompatible_variants��	__class__r)r!r5�s
��z%RealtimeVariant.incompatible_services)rJrKrLr]rr
r5�
__classcell__r r rjr!r^�s$r^cs>eZdZdZejZejZdZ	dZ
edef�fdd��Z
�ZS)r$�genericTrcsdt�j}t��j}|dkr0|�d�pg}tjj|j	|j
d|pdd�}|�tj
d|if�||d<|S)Nrmr<�unknown)r`r_�base_flavor�current_flavorr:)rhrBr
�get_kernel_info�flavor�getr	�#KERNEL_FLAVOR_CHANGE_WARNING_PROMPTrIr%rM�appendrr>)rrBrpr<r:rjr r!rB�s"
���zGenericRealtime.messaging)rJrKrLr%r	�REALTIME_GENERIC_TITLErC�REALTIME_GENERIC_DESCRIPTIONrP�
is_variant�check_packages_are_installedr]rrBrlr r rjr!r$�s�r$c@s$eZdZdZejZejZdZ	dZ
dS)r&znvidia-tegraTN)rJrKrLr%r	�REALTIME_NVIDIA_TITLErC�REALTIME_NVIDIA_DESCRIPTIONrPrxryr r r r!r&�sr&c@s2eZdZdZejZejZdZ	dZ
defdd�ZdS)r'�raspiTrc
Cs\d}zt�|�����}d|vpd|vWSty-}z
t�d|�WYd}~dSd}~ww)Nz/proc/device-tree/modelzraspberry pi 4zraspberry pi 5z)Error while detecting if raspberry pi: %rF)r
�	load_file�strip�lower�	Exception�LOG�info)r�proc_file_path�model�er r r!�variant_auto_select�s��z'RaspberryPiRealtime.variant_auto_selectN)
rJrKrLr%r	�REALTIME_RASPI_TITLErC�REALTIME_RASPI_DESCRIPTIONrPrxryr[r�r r r r!r'�sr'c@sLeZdZdZejZejZdZ	dZ
deee
fdeeeejffdd�ZdS)r(z
intel-iotgT�platform_checksrcCsPt��jpd}t�||�}|�dg�}||vrdSdtjj|j|d�	|�d�fS)N��cpu_vendor_ids)TNF�,)rC�vendor�supported_vendors)
r
�get_cpu_info�cpuinfo_vendor_id�CPU_VENDOR_MAPrsr	�INAPPLICABLE_VENDOR_NAMErIrC�join)rr��	vendor_idr�r r r!�verify_platform_checks�s�z(IntelIotgRealtime.verify_platform_checksN)rJrKrLr%r	�REALTIME_INTEL_TITLErC�REALTIME_INTEL_DESCRIPTIONrPrxryrr\rrr[r�NamedMessager�r r r r!r(�s
��r()$�logging�typingrrrrr�uaclientrrr	r
r�uaclient.entitlementsr�uaclient.entitlements.baser
r�uaclient.typesrrr�get_event_loggerr�	getLogger�replace_top_level_logger_namerJr�r��RepoEntitlementrr^r$r&r'r(r r r r!�<module>sm
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY