403Webshell
Server IP : 159.223.102.202  /  Your IP : 216.73.217.92
Web Server : nginx/1.26.0
System : Linux Gen1-cloudpanel2ubuntu2404-1vcpu-1gb-nyc1-01 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User : albasshbotta ( 1021)
PHP Version : 8.2.19
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/uaclient/entitlements/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/uaclient/entitlements/__pycache__/livepatch.cpython-312.pyc
�

|f5���ddlZddlmZmZmZmZddlmZmZm	Z	m
Z
mZmZm
Z
mZddlmZmZddlmZddlmZddgZd	d
d�Zej0�Zej4ej6e��ZGd�d
e�Zd�Zy)�N)�Any�Dict�Optional�Tuple)�event_logger�
exceptions�http�	livepatch�messages�snap�system�util)�IncompatibleService�
UAEntitlement)�ApplicationStatus)�StaticAffordanceg�?g�?z)Invalid Auth-Token provided to livepatch.z2Your running kernel is not supported by Livepatch.)zUnknown Auth-Tokenzunsupported kernelc	���eZdZejj
ZdZejZ	ejZejZ
dZdZdZdZedeedffd��Zedeedffd��Zddedefd	�Z	dd
ededefd�Zdd
�Zdeeeej<ffd�Zdeeeej<ffd�Z d�Z!	dde"e#e$fde"e#e$fdedef�fd�
Z%�xZ&S)�LivepatchEntitlementr
FT�return.c��ddlm}ddlm}t	|t
j�t	|t
j�fS)Nr��FIPSEntitlement)�RealtimeKernelEntitlement)�uaclient.entitlements.fipsr�uaclient.entitlements.realtimerrr�LIVEPATCH_INVALIDATES_FIPS�REALTIME_LIVEPATCH_INCOMPATIBLE)�selfrrs   �A/usr/lib/python3/dist-packages/uaclient/entitlements/livepatch.py�incompatible_servicesz*LivepatchEntitlement.incompatible_services+s=��>�L�
 ���!D�!D�
�
 �)��8�8�
�	
�	
�c���ddlm}||j�}t|j	�dt
jk(��tjj|j��d�dftj�fd�dffS)Nrr��titlec�*�tj�S�N)r
�is_container�r!r�<lambda>z9LivepatchEntitlement.static_affordances.<locals>.<lambda>Js���+�+�-�r!Fc����Sr&r()�is_fips_enableds�rr)z9LivepatchEntitlement.static_affordances.<locals>.<lambda>Os����r!)rr�cfg�bool�application_statusr�ENABLEDr�"SERVICE_ERROR_INSTALL_ON_CONTAINER�formatr$�!LIVEPATCH_ERROR_WHEN_FIPS_ENABLED)rr�fips_entr+s   @r�static_affordancesz'LivepatchEntitlement.static_affordances:s����	?�"�4�8�8�,����'�'�)�!�,�0A�0I�0I�I�
���;�;�B�B��*�*�C��.��
��:�:�'��
�

�
	
r!�silentc�"�tj�sGtjtj
j
d���tj�tj�sItjtj
j
d���	tjd�tj�	tj d�t#j$d|j&j(t"j*�}t#j$d|j&j,t"j.�}tj0||tj2�
�t5j6�sItjtj
j
d���	tjd�t5j<||�|j?dd��S#tj$rU}tjd|��tjtjj
d���Yd}~���d}~wwxYw#tj$rU}tjd	|��tjtjj
d
���Yd}~���d}~wwxYw#tj$r$}tj8t;|����d}~wwxYw)zYEnable specific entitlement.

        @return: True on success, False otherwise.
        �snapd)�packagesz
snapd snapz!Failed to install snapd as a snap��exc_infozsnap install snapd)�commandNzFailed to refresh snapd snapzsnap refresh snapdr	�https)�
http_proxy�https_proxy�retry_sleepszcanonical-livepatch snapzcanonical-livepatch��	error_msgT��process_directives�
process_token) r�is_snapd_installed�event�infor�INSTALLING_PACKAGESr1�
install_snapd�is_snapd_installed_as_a_snap�install_snapr�ProcessExecutionError�LOG�warning�EXECUTING_COMMAND_FAILED�run_snapd_wait_cmd�refresh_snapr	�validate_proxyr,r=�PROXY_VALIDATION_SNAP_HTTP_URLr>�PROXY_VALIDATION_SNAP_HTTPS_URL�configure_snap_proxy�SNAP_INSTALL_RETRIESr
�is_livepatch_installed�ErrorInstallingLivepatch�str�configure_livepatch_proxy�setup_livepatch_config)rr5�er=r>s     r�_perform_enablez$LivepatchEntitlement._perform_enableTsd��
�&�&�(��J�J�x�3�3�:�:�G�:�L�M���� ��0�0�2��J�J��,�,�3�3�\�3�J�
�
��!�!�'�*�	
���!�	����g�&��(�(��D�H�H�'�'��)L�)L�
�
��)�)��T�X�X�)�)�4�+O�+O�
��	
�!�!�!�#��2�2�	
�
�/�/�1��J�J��,�,�3�3�7�4��
�

L��!�!�"7�8�	�+�+�J��D��*�*�#�4�+�
�	
��Y�3�3�
����?�!��L��
�
��5�5�<�<� 4�=�����
���/�/�	��K�K�6��K�C��J�J��1�1�8�8�0�9��
�
��	��6�3�3�
L� �9�9�C��F�K�K��
L�sJ�$H�I,�K�I)�A
I$�$I)�,K�?A
K�K�L�*L	�	LrCrDc��|jjjj|j�}|r	t|�|�r,|jd�}|s9tj!d|j"�|jj$d}|j'�\}}|t(j*k7r^tjd�tjtj,�	t/j0t2j4d	g�	t/j0t2j4d
|gd��tjtj<jd
���y#tj$rf}tjt|�|��tjtjjt|����Yd}~yd}~wwxYw#tj$r*}tjt|�|��Yd}~yd}~wwxYw#tj$r�}tj6}t8j;�D]\}	}
|	t|�vs�||
z
}n|tj6k(r|t|�z
}tj|�Yd}~yd}~wwxYw)aProcesss configuration setup for livepatch directives.

        :param process_directives: Boolean set True when directives should be
            processsed.
        :param process_token: Boolean set True when token should be
            processsed.
        r9r@NF�
resourceTokenzHNo specific resourceToken present. Using machine token as %s credentials�machineTokenz&Disabling livepatch before re-enabling�disable�enableT��capturezCanonical Livepatchr#)r,�machine_token_file�entitlements�get�name�process_config_directivesrrLrM�errorrYrFrGr�LIVEPATCH_UNABLE_TO_CONFIGUREr1�debugr$�
machine_tokenr.r�DISABLED�LIVEPATCH_DISABLE_REATTACHr
�subpr
�
LIVEPATCH_CMD�LIVEPATCH_UNABLE_TO_ENABLE�
ERROR_MSG_MAP�items�ENABLED_TMPL)rrCrD�entitlement_cfgr\�livepatch_tokenr.�_details�msg�
error_message�
print_messages           rr[z+LivepatchEntitlement.setup_livepatch_config�s@���(�(�5�5�B�B�F�F��I�I�
���	
�)�/�:��-�1�1�/�B�O�"��	�	�&��J�J��
#'�(�(�"8�"8��"H��+/�+B�+B�+D�(���!�%6�%?�%?�?����A�B��
�
�8�>�>�?�!��K�K��!8�!8�)� D�E�
�����,�,�h��H� ��
�J�J��%�%�,�,�3H�,�I�
���Y�3�3�
��	�	�#�a�&�1�	�-��
�
��:�:�A�A�"%�a�&�B���
��
��."�7�7�!��I�I�c�!�f�q�I�1� ��!���3�3�	
��9�9��4A�4G�4G�4I��0�M�=�$��A��.��}�,�����(�=�=�=��3�q�6�M�C��
�
�3����	
�sN�E8�6%G4�(H4�8G1�AG,�,G1�4H1� H,�,H1�4K�7K�?>K�Kc�|�tj�sytjtjdgd��y)zYDisable specific entitlement

        @return: True on success, False otherwise.
        Trarc)r
rWr
rprq)rr5s  r�_perform_disablez%LivepatchEntitlement._perform_disable�s/��
�/�/�1�����Y�,�,�i�8�$�G�r!c��tjdf}tj�s tjt
jfS	tj�}|� tjt
jfS|S#tj$rD}tjt
jj|j��fcYd}~Sd}~wwxYw)N)�livepatch_error)rr/r
rWrnr�LIVEPATCH_NOT_ENABLED�statusrrL�WARNING� LIVEPATCH_CLIENT_FAILURE_WARNINGr1�stderr�+LIVEPATCH_APPLICATION_STATUS_CLIENT_FAILURE)rr��livepatch_statusr\s    rr.z'LivepatchEntitlement.application_status�s���$�+�+�T�2���/�/�1�%�.�.��0N�0N�O�O�	�(�/�/�1���#�"�*�*��D�D��
��
���/�/�	�!�)�)��9�9�@�@�$%�H�H�A���
��	�s�B�C�9C�C�Cc�*�tj�}|tjjk(rKt	j
�}dtjj|j|j��fS|tjjk(rKt	j
�}dtjj|j|j��fS|tjjk(rdtjfSy)NT)�version�arch)FN)r
�on_supported_kernel�LivepatchSupport�UNSUPPORTEDr
�get_kernel_infor�LIVEPATCH_KERNEL_NOT_SUPPORTEDr1�
uname_release�uname_machine_arch�
KERNEL_EOL�LIVEPATCH_KERNEL_EOL�KERNEL_UPGRADE_REQUIRED�!LIVEPATCH_KERNEL_UPGRADE_REQUIRED)r�support�kernel_infos   r�enabled_warning_statusz+LivepatchEntitlement.enabled_warning_status�s����/�/�1���i�0�0�<�<�<� �0�0�2�K���7�7�>�>�'�5�5�$�7�7�?���
��i�0�0�;�;�;� �0�0�2�K���-�-�4�4�'�5�5�$�7�7�5���
��i�0�0�H�H�H���:�:��
�r!c��tj�tjjk(r$t	j
�stjSyr&)r
r�r�r�r
r'r�*LIVEPATCH_KERNEL_NOT_SUPPORTED_DESCRIPTION)rs r�status_description_overridez0LivepatchEntitlement.status_description_overrides=���)�)�+��)�)�5�5�
6��'�'�)��F�F�F�r!�orig_access�deltas�allow_enablec���t�
|�|||�ry|jdi�}|jdi�jdd�}|r|j�\}}|S|j	�\}}|t
jk(ry|jdi�}	tddg�}
t|
j|	��}t|jd	d��}t||g�retjd
�tjtjj!|j"���|j%||��Sy)
a1Process any contract access deltas for this entitlement.

        :param orig_access: Dictionary containing the original
            resourceEntitlement access details.
        :param deltas: Dictionary which contains only the changed access keys
        and values.
        :param allow_enable: Boolean set True if allowed to perform the enable
            operation. When False, a message will be logged to inform the user
            about the recommended enabled service.

        :return: True when delta operations are processed; False when noop.
        T�entitlement�obligations�enabledByDefaultF�
directives�caCerts�remoteServerr_zANew livepatch directives or token. running setup_livepatch_config)�servicerB)�super�process_contract_deltasrgrbr.rrn�setr-�intersection�anyrMrGrFr�#SERVICE_UPDATING_CHANGED_DIRECTIVESr1rhr[)rr�r�r��delta_entitlement�process_enable_default�enable_success�_r.�delta_directives�supported_deltasrCrD�	__class__s             �rr�z,LivepatchEntitlement.process_contract_deltassU���$�7�*�;���M��"�J�J�}�b�9��!2�!6�!6�}�b�!I�!M�!M���"
��"� $���
��N�A�!�!� $� 7� 7� 9���A��!2�!;�!;�;��,�0�0��r�B���	�>�:�;��!��)�)�*:�;�
���V�Z�Z���?�@�
��"�M�2�3��H�H�)�
�
�J�J��<�<�C�C� �I�I�D��
�
�.�.�#5�+�/��
�r!)F)TT)'�__name__�
__module__�__qualname__r�urls�LIVEPATCH_HOME_PAGE�help_doc_urlrh�LIVEPATCH_TITLEr$�LIVEPATCH_DESCRIPTION�description�LIVEPATCH_HELP_TEXT�	help_text�#affordance_check_kernel_min_version�affordance_check_kernel_flavor�affordance_check_series�affordance_check_arch�propertyrrr rr4r-r]r[r}rr�NamedMessager.r�r�rrYrr��
__classcell__)r�s@rrrsj����=�=�4�4�L��D��$�$�E��0�0�K��,�,�I�*/�'�%*�"�"��!��
�
�u�-@�#�-E�'F�
��
��
�E�*:�C�*?�$@�
��
�2=
�d�=
�t�=
�@FJ�<�"&�<�>B�<�	
�<�|��	� �(�8�+@�+@�"A�A�	B��4�	�t�X�h�3�3�4�4�	5��@�#�	5��#�s�(�^�5��S�#�X��5��	5�

�5�5r!rc��|sy|jdi�jdi�}|jd�}|r7tjtjddj|�gd��|jd	d
�}|j
d�r|dd}|r8tjtjdd
j|�gd��yy)a�Process livepatch configuration directives.

    We process caCerts before remoteServer because changing remote-server
    in the canonical-livepatch CLI performs a PUT against the new server name.
    If new caCerts were required for the new remoteServer, this
    canonical-livepatch client PUT could fail on unmatched old caCerts.

    @raises: ProcessExecutionError if unable to configure livepatch.
    Nr�r�r��configzca-certs={}Trcr���/���zremote-server={})rgr
rpr
rqr1�endswith)r,r��ca_certs�
remote_servers    rririVs����������+�/�/��b�A�J��~�~�i�(�H������'�'���$�$�X�.�
�
�
	
��N�N�>�2�6�M����c�"�%�c�r�*�
������'�'��"�)�)�-�8�
�
�
	
�r!) �logging�typingrrrr�uaclientrrr	r
rrr
r�uaclient.entitlements.baserr�(uaclient.entitlements.entitlement_statusr�uaclient.typesr�LIVEPATCH_RETRIESrs�get_event_loggerrF�	getLogger�replace_top_level_logger_namer�rMrrir(r!r�<module>r�s����-�-�	�	�	�J�F�+��#�J��F�N��
�
	&��%�%�'���g���:��:�:�8�D�E��v�=�v�r	"
r!

Youez - 2016 - github.com/yon3zu
LinuXploit