https://t.me/RX1948
Server : nginx/1.24.0
System : Linux ip-172-31-33-48 6.14.0-1011-aws #11~24.04.1-Ubuntu SMP Fri Aug 1 02:07:25 UTC 2025 x86_64
User : www-data ( 33)
PHP Version : 8.3.6
Disable Function : NONE
Directory :  /lib/python3/dist-packages/cloudinit/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/cloudinit/__pycache__/socket.cpython-312.pyc
�

x[h����dZddlZddlZddlZddlZddlmZddlmZddl	m
Z
eje�Z
defd�ZGd�d	�Zy)
z#A module for common socket helpers.�N)�suppress)�performance)�DEFAULT_RUN_DIR�messagec��tjjdd�}|sy|ddk(r|jddd�n|ddk7rt	d	��tj
t
jt
jt
jz�5}tjd
t|��|j|�|j|jd��ddd�y#1swYyxYw)z[Send a sd_notify message.

    :param message: sd-notify message (must be valid ascii)
    �
NOTIFY_SOCKET�Nr�@���/zUnsupported socket typezSending sd_notify(%s)�ascii)�os�environ�get�replace�OSError�socket�AF_UNIX�
SOCK_DGRAM�SOCK_CLOEXEC�LOG�info�str�connect�sendall�encode)r�socket_path�socks   �2/usr/lib/python3/dist-packages/cloudinit/socket.py�	sd_notifyr!s���
�*�*�.�.��"�5�K���	�Q��3�	����C��q�)�
�Q��3�	��/�0�0�	�������)�)�F�,?�,?�?�
�.�	
����(�#�g�,�7����[�!����W�^�^�G�,�-�.�.�.�s
�AC0�0C9c�4�eZdZdZdefd�Zdefd�Zd�Zd�Zy)	�
SocketSyncz<A two way synchronization protocol over Unix domain sockets.�namesc	�0�d|_d|_d|_d|_d|_|D�cic]F}|tj
t
jt
jt
jz���Hc}|_	tjt�d�dd��|jj�D]O\}}t�d|�d	�}tt�5tj |�d
d
d
�|j#|��Qy
cc}w#1swY�"xYw)anInitialize a synchronization context.

        1) Ensure that the socket directory exists.
        2) Bind a socket for each stage.

        Binding the sockets on initialization allows receipt of stage
        "start" notifications prior to the cloud-init stage being ready to
        start.

        :param names: stage names, used as a unique identifiers
        r	rFz/sharei�T)�mode�exist_ok�/share/z.sockN)�stage�remote�first_exception�systemd_exit_code�experienced_any_errorrrrr�socketsr�makedirsr�itemsr�FileNotFoundError�remove�bind)�selfr$�namerrs     r �__init__zSocketSync.__init__-s�����
����!���!"���%*��"�
�	
��
�&�-�-����� 1� 1�F�4G�4G� G��
�
���	����'�v�.�U�T�J��,�,�,�,�.�	#�J�D�$�,�-�W�T�F�%�@�K��+�,�
'��	�	�+�&�
'��I�I�k�"�		#��
�
'�
'�s�AD�D�D	r)c�L�||jvrtd|����||_|S)a�Set the stage before entering context.

        This enables the context manager to be initialized separately from
        each stage synchronization.

        :param stage: the name of a stage to synchronize

        Example:
            sync = SocketSync("stage 1", "stage 2"):
            with sync("stage 1"):
                pass
            with sync("stage 2"):
                pass
        zInvalid stage name: )r.�
ValueErrorr))r4r)s  r �__call__zSocketSync.__call__Ms/������$��3�E�7�;�<�<���
���c���tjtjj	��rt
j
d�yd|_td|j�d��|j|j}tjd|j���5|jd�\}|_ddd�dk7r+|jddd�t!d	t#|��d
���t$�d|j�d�t#|j�k7r+|jddd�t!d
|j����td|j�d��|S#1swY��xYw)z�Wait until a message has been received on this stage's socket.

        Once the message has been received, enter the context.
        z:Stdin is a tty, so skipping stage synchronization protocolNrzDSTATUS=Waiting on external services to complete before starting the z stage.zWaiting to start stage �sstartzReceived invalid message: [�]r(z-return.sockz Unexpected path to unix socket: zSTATUS=Running (z stage))r�isatty�sys�stdin�filenorrr,r!r)r.r�Timed�recvfromr*�__exit__r8rr)r4r�chunks   r �	__enter__zSocketSync.__enter__asO��
�9�9�S�Y�Y�%�%�'�(��H�H�L�
�
�!"����
,�,0�J�J�<�w�
@�	
��|�|�D�J�J�'��
�
�
�!8�����E�
F�	2�!%���q�!1��E�4�;�	2��u���M�M�$��d�+��:�3�u�:�,�a�H�I�I�� ���
�
�|�<�
@�C��K�K�E
�
�

�M�M�$��d�+��?����}�M�N�N��$�T�Z�Z�L��8�9���!	2�	2�s�#E'�'E0c��d|j��}|r`d|_d|_t|��d|j��}d}|j
s||_tj|�td|���|jxst|j�|_|j|j}|j|j�|jd|�d|j�d	�j��|j�y)
z.Notify the socket that this stage is complete.z,Completed socket interaction for boot stage rTz in zkfatal error, run "systemctl status cloud-init-main.service" and "cloud-init status --long" for more detailszSTATUS=zecho 'z'; exit �;)r)r,r-�repr�tb_framer+r�fatalr!�boolr.rr*rr�close)r4�exc_type�exc_val�exc_tbr�statusrs       r rDzSocketSync.__exit__�s���@�����M���%&�D�"�)-�D�&��W�
��d�6�?�?�*;�<�F�B�
��'�'�'-��$��I�I�f�����x�(�)�%)�%?�%?�&
�4��"�"�D
��"��|�|�D�J�J�'�����T�[�[�!�
	
����W�I�X�d�&<�&<�%=�Q�?�F�F�H�	
�	
�
�
��r:N)	�__name__�
__module__�__qualname__�__doc__rr6r9rFrD�r:r r#r#*s)��F�#�s�#�@�c��(%�N#r:r#)rU�loggingrrr?�
contextlibr�	cloudinitr�cloudinit.settingsr�	getLoggerrRrrr!r#rVr:r �<module>r\sG��)��	�
�
��!�.��g����!��.�s�.�6A�Ar:

https://t.me/RX1948 - 2025