CasperSecurity

Current Path : /lib/python3/dist-packages/cloudinit/sources/azure/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/cloudinit/sources/azure/__pycache__/imds.cpython-310.pyc

o

쑛h$�@s�ddlZddlZddlmZddlmZmZmZmZddl	Z	ddl
mZddlm
Z
ddlmZmZe�e�ZdZdd	�ZGd
d�d�Zdd
d�dededededef
dd�Zdededefdd�Z	ddedeedefdd�Zdefdd�ZdS)�N)�	monotonic)�Dict�Optional�Type�Union)�util)�report_diagnostic_event)�UrlError�readurlzhttp://169.254.169.254/metadatacCsdtt���d�S)N�true)�Metadatazx-ms-client-request-id)�str�uuid�uuid4)�_url�r�>/usr/lib/python3/dist-packages/cloudinit/sources/azure/imds.py�
headers_cbs
�rc	@sLeZdZdZddddd�dedeedeed	dfd
d�Zd	efdd
�Z	dS)�ReadUrlRetryHandleraKManager for readurl retry behavior using exception_callback().

    :param logging_backoff: Backoff to limit logging.
    :param max_connection_errors: Number of connection errors to retry on.
    :param retry_codes: Set of http codes to retry on.
    :param retry_deadline: Optional monotonic()-based deadline to retry until.
    ��?N)���i���logging_backoff�max_connection_errors�retry_codes�retry_deadlinerrr�returncCs.||_||_||_||_d|_d|_d|_dS)Nrr)rrrr�_logging_threshold�_request_count�_last_error)�selfrrrrrrr�__init__%s

zReadUrlRetryHandler.__init__cCs@|jd7_t|t�std|tjd�dSd}|jdur't�|jkr'd}nd}|jdurDt|j	t
j�rD|jd8_|jdkrCd}n
|jdurQ|j|j
vrQd}|j|jkr`|j|j9_nd}|jdurt|j|jkrsd}|j|_n|jdus�t|jt�r�t|j	|j�s�d}t|j	�|_|s�|s�td|j|ftjd�|S)N�z1Polling IMDS failed with unexpected exception: %r��logger_funcFTrz1Polling IMDS failed attempt %d with exception: %r)r �
isinstancer	r�LOG�warningrrr�cause�requests�ConnectionError�coderrrr!�type)r"�	exception�log�retryrrr�exception_callback:s^
��
�
�

�

����z&ReadUrlRetryHandler.exception_callback)
�__name__�
__module__�__qualname__�__doc__�floatr�intr#�boolr2rrrrrs ����
�rT�)�log_response�timeout�url�
retry_handlerr;r<rc
CsLzt||jtd||d�}W|jSty%}z
td|tjd��d}~ww)a'Fetch URL from IMDS.

    :param url: url to fetch.
    :param log_response: log responses in readurl().
    :param retry_deadline: time()-based deadline to retry until.
    :param timeout: Read/connection timeout in seconds for readurl().

    :raises UrlError: on error fetching metadata.
    T��exception_cbr�infinite�log_req_respr<z&Failed to fetch metadata from IMDS: %sr%N)r
r2rr	rr(r)�contents)r=r>r;r<�response�errorrrr�
_fetch_url{s$�����rFc
CsLt||d�}z	t�|�d��WSty%}z
td|tjd��d}~ww)z�Fetch IMDS metadata.

    :param url: url to fetch.
    :param retry_deadline: time()-based deadline to retry until.

    :raises UrlError: on error fetching metadata.
    :raises ValueError: on error parsing metadata.
    �r>zutf-8z&Failed to parse metadata from IMDS: %sr%N)rFr�	load_json�decode�
ValueErrorrr(r))r=r>�metadatarErrr�_fetch_metadata�s
���rLrrc
Cs�t||d�}ztd}t||d�WSty@}z#|jdkr;tdtjd�t||d�}td}t||d�WYd}~S�d}~ww)	z�Fetch extended metadata, falling back to non-extended as required.

    :param retry_deadline: time()-based deadline to retry until.

    :raises UrlError: on error fetching metadata.
    :raises ValueError: on error parsing metadata.
    )rrz./instance?api-version=2021-08-01&extended=truerGi�z,Falling back to IMDS api-version: 2019-06-01r%z /instance?api-version=2019-06-01N)r�IMDS_URLrLr	r-rr(r))rrr>r=rErrr� fetch_metadata_with_api_fallback�s,
�
����rNcCsPtd}tddddd�}t||jtddd	d
�}td|jd�d�tjd
�|j	S)zhFetch extended metadata, falling back to non-extended as required.

    :raises UrlError: on error.
    z'/reprovisiondata?api-version=2019-06-01g@r$)rrrNrTFr:r?zPolled IMDS z time(s)r%)
rMrr
r2rrr r(�debugrC)r=�handlerrDrrr�fetch_reprovision_data�s(�
�	�rQ)N) �loggingr�timer�typingrrrrr+�	cloudinitr�cloudinit.sources.helpers.azurer�cloudinit.url_helperr	r
�	getLoggerr3r(rMrrr
r9r8�bytesrFrLr7rNrQrrrr�<module>sR
c�����
�#��
����
� 
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