403Webshell
Server IP : 104.21.21.239  /  Your IP : 216.73.216.55
Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.7
System : Linux ip-172-31-69-123.ec2.internal 6.1.177-224.371.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jul 27 20:28:29 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3.9/site-packages/awscli/botocore/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3.9/site-packages/awscli/botocore/__pycache__/httpchecksum.cpython-39.pyc
a

wA�ilE�@s�dZddlZddlZddlZddlmZddlmZmZddl	m
Zddlm
Z
ddlmZmZddlmZdd	lmZdd
lmZddlmZmZe�e�ZdZGd
d�d�ZGdd�de�ZGdd�de�Z Gdd�de�Z!Gdd�de�Z"Gdd�de�Z#Gdd�de�Z$Gdd�d�Z%Gdd�de�Z&dd �Z'd6d!d"�Z(d#d$�Z)d%d&�Z*d'd(�Z+d)d*�Z,d+d,�Z-d7d-d.�Z.d/d0�Z/d1d2�Z0d3d4�Z1e"e!e e#e$d5�Z2e3e2�4��Z5gd5�Z6dS)8aBThe interfaces in this module are not intended for public use.

This module defines interfaces for applying checksums to HTTP requests within
the context of botocore. This involves both resolving the checksum to be used
based on client configuration and environment, as well as application of the
checksum to the request.
�N)�crc32)�sha1�sha256)�	checksums)�urlparse)�AwsChunkedWrapperError�FlexibleChecksumError)�StructureShape)�
StreamingBody)�register_feature_id)�determine_content_length�has_checksum_header�	CRC64NVMEc@s8eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�ZdS)
�BaseChecksum�cCsdS�N���self�chunkrr�@/usr/lib/python3.9/site-packages/awscli/botocore/httpchecksum.py�update,szBaseChecksum.updatecCsdSrr�rrrr�digest/szBaseChecksum.digestcCs|��}t�|��d�S)N�ascii)r�base64Z	b64encode�decode)r�bsrrr�	b64digest2szBaseChecksum.b64digestcs:���}t��fdd�d�D]}��|�q��|�dS)Ncs���j�Sr)�read�_CHUNK_SIZEr��fileobjrrr�<lambda>8�z.BaseChecksum._handle_fileobj.<locals>.<lambda>r$)�tell�iterr�seek)rr"Zstart_positionrrr!r�_handle_fileobj6szBaseChecksum._handle_fileobjcCs,t|ttf�r|�|�n
|�|�|��Sr)�
isinstance�bytes�	bytearrayrr(r)r�bodyrrr�handle<s
zBaseChecksum.handleN)	�__name__�
__module__�__qualname__r rrrr(r-rrrrr)src@s$eZdZdd�Zdd�Zdd�ZdS)�
Crc32ChecksumcCs
d|_dS�Nr��
_int_crc32rrrr�__init__EszCrc32Checksum.__init__cCst||j�d@|_dS�Nl��)rr4rrrrrHszCrc32Checksum.updatecCs|jjddd�S�N��big��	byteorder�r4�to_bytesrrrrrKszCrc32Checksum.digestN�r.r/r0r5rrrrrrr1Dsr1c@s$eZdZdd�Zdd�Zdd�ZdS)�CrtCrc32ChecksumcCs
d|_dSr2r3rrrrr5QszCrtCrc32Checksum.__init__cCst�||j�}|d@|_dSr6)�
crt_checksumsrr4�rrZnew_checksumrrrrTszCrtCrc32Checksum.updatecCs|jjddd�Sr7r<rrrrrXszCrtCrc32Checksum.digestNr>rrrrr?Osr?c@s$eZdZdd�Zdd�Zdd�ZdS)�CrtCrc32cChecksumcCs
d|_dSr2)�_int_crc32crrrrr5^szCrtCrc32cChecksum.__init__cCst�||j�}|d@|_dSr6)r@�crc32crCrArrrraszCrtCrc32cChecksum.updatecCs|jjddd�Sr7)rCr=rrrrreszCrtCrc32cChecksum.digestNr>rrrrrB\srBc@s$eZdZdd�Zdd�Zdd�ZdS)�CrtCrc64NvmeChecksumcCs
d|_dSr2)�_int_crc64nvmerrrrr5kszCrtCrc64NvmeChecksum.__init__cCst�||j�}|d@|_dS)Nl����)r@�	crc64nvmerFrArrrrnszCrtCrc64NvmeChecksum.updatecCs|jjddd�S)N�r9r:)rFr=rrrrrrszCrtCrc64NvmeChecksum.digestNr>rrrrrEisrEc@s$eZdZdd�Zdd�Zdd�ZdS)�Sha1ChecksumcCst�|_dSr)r�	_checksumrrrrr5wszSha1Checksum.__init__cCs|j�|�dSr�rJrrrrrrzszSha1Checksum.updatecCs
|j��Sr�rJrrrrrr}szSha1Checksum.digestNr>rrrrrIvsrIc@s$eZdZdd�Zdd�Zdd�ZdS)�Sha256ChecksumcCst�|_dSr)rrJrrrrr5�szSha256Checksum.__init__cCs|j�|�dSrrKrrrrr�szSha256Checksum.updatecCs
|j��SrrLrrrrr�szSha256Checksum.digestNr>rrrrrM�srMc@sFeZdZdZddd�Zdd�Zdd	d
�Zddd�Zd
d�Zdd�Z	dS)�AwsChunkedWrapperrN�x-amz-checksumcCs2||_||_||_|��|dur(|j}||_dSr)�_raw�_checksum_name�
_checksum_cls�_reset�_DEFAULT_CHUNK_SIZE�_chunk_size)r�raw�checksum_cls�
checksum_nameZ
chunk_sizerrrr5�szAwsChunkedWrapper.__init__cCs&d|_d|_d|_|jr"|��|_dS)Nr$F)�
_remaining�	_completerJrRrrrrrS�s
zAwsChunkedWrapper._resetrcCs2|dks|dkrtdd��|��|j�d�dS)Nrz Can only seek to start of stream��	error_msg)rrSrPr')r�offset�whencerrrr'�s�zAwsChunkedWrapper.seekcCs�|dur|dkrd}|jr$|js$dS|dup8|t|j�k}|jsn|rn|j|��7_|dupj|t|j�k}q:|dur�t|j�}|jd|�}|j|d�|_|S)Nrr$)rZrY�len�_make_chunk)r�sizeZwant_more_bytesZ	to_returnrrrr�s

zAwsChunkedWrapper.readcCs�|j�|j�}tt|��dd��d�}||_|jrB|j�|�|jrv|jrv|j	�d�}|j�
��d�}d||fSd||fS)N�rs0
%s:%s

s%s
%s
)rPrrU�hexr_�encoderZrJrrQr)rZ	raw_chunkZhex_len�name�checksumrrrr`�szAwsChunkedWrapper._make_chunkccs|js|��VqdSr)rZr`rrrr�__iter__�szAwsChunkedWrapper.__iter__)NrON)r)N)
r.r/r0rTr5rSr'rr`rgrrrrrN�s�


rNcs2eZdZ�fdd�Zd�fdd�	Zdd�Z�ZS)	�StreamingChecksumBodycst��||�||_||_dSr)�superr5rJ�	_expected)rZ
raw_stream�content_lengthrf�expected��	__class__rrr5�szStreamingChecksumBody.__init__Ncs:t�j|d�}|j�|�|dus.|s6|dkr6|��|S)N)�amtr)rirrJr�_validate_checksum)rrorrmrrr�s
zStreamingChecksumBody.readcCs<|j��t�|j�kr8d|j�d|j����}t|d��dS)N�Expected checksum �$ did not match calculated checksum: r[)rJrr�	b64decoderjrr)rr\rrrrp�sz(StreamingChecksumBody._validate_checksum)N)r.r/r0r5rrp�
__classcell__rrrmrrh�srhcCst|||�t|||�dSr)�"resolve_request_checksum_algorithm�$resolve_response_checksum_algorithms)�request�operation_model�paramsrrr�resolve_checksum_context�srzc
Cs<t|�rdS|d�di�}|ddj}|j}|jp>|�d�}|�d�}|r�||vr�|durbt}||��}	|	|vr�td|	��d��nR|s�|r�|dkr�|d�d	�r�dSt��}	t	|||�}
|
dur�|
td
�|d<ndSd}|j
�rt|d
�jdk�r|ddj
dk�rd}|	|d|	��d�}||d<||dd<dS)N�contextrfZ
client_configZrequestChecksumRequiredZrequestAlgorithmMemberz Unsupported checksum algorithm: r[Zwhen_supportedZis_presign_request)re�value�request_algorithm_header�header�url�httpsZs3�trailer�x-amz-checksum-)�	algorithm�inre�request_algorithm)r
�get�request_checksum_calculation�
http_checksumZhttp_checksum_required�_SUPPORTED_CHECKSUM_ALGORITHMS�lowerr�DEFAULT_CHECKSUM_ALGORITHM�$_get_request_algorithm_member_headerZhas_streaming_inputr�schemeZsignature_version)
rwrxry�supported_algorithms�checksum_contextr�r�Zrequest_checksum_required�algorithm_memberZalgorithm_nameZalgorithm_member_headerZ
location_typer�rrrru�s`��
��������rucCs4|j}t|t�sdS|j�|�}|r0|j�d�SdS)zDGet the name of the header targeted by the "requestAlgorithmMember".Nre)Zinput_shaper)r	�membersr�Z
serialization)rxrwr�Zoperation_input_shapeZalgorithm_member_shaperrrr�<s
�r�cCs�|�di��di�}|�d�}|s&dS|ddkr<t|�n*|ddkrRt|�ntd�|d�d��d	|vr�|d	}|d
|d|d<dS)
Nr{rfr�r�r~r�zUnknown checksum variant: {}r[r}r|�headersre)r��_apply_request_header_checksum�_apply_request_trailer_checksumr�format)rwr�r�r}rrr�apply_request_checksumLs


��r�cCsl|�di��di�}|�d�}|d}||dvr6dSt�|d�}|��|d�}||d|<t|�dS)Nr{rfr�rer�r�r,)r��
_CHECKSUM_CLSr-�'_register_checksum_algorithm_feature_id)rwr�r��
location_namerWrrrrr�bs
r�cCs�|�di��di�}|�d�}|d}t�|d�}|d}|d}||vrPdSd|d	<d
|vrr|d
d7<nd|d
<||d
<t|�t|�}|dur�t|�|d<d|vr�|d=t�d�t|tt	f�r�t
�|�}t|||d�|d<dS)Nr{rfr�rer�r�r,ZchunkedzTransfer-EncodingzContent-Encodingz,aws-chunkedzaws-chunkedz
X-Amz-TrailerzX-Amz-Decoded-Content-LengthzContent-LengthzVRemoving the Content-Length header since 'chunked' is specified for Transfer-Encoding.)rWrX)
r�r�r�r�str�logger�debugr)r*r+�io�BytesIOrN)rwr�r�r�rWr�r,rkrrrr�os:
�
�r�cCs.|d��}|dkrd}d|��}t|�dS)Nr�rZCRC64ZFLEXIBLE_CHECKSUMS_REQ_)�upperr)r�Zchecksum_algorithm_nameZ"checksum_algorithm_name_feature_idrrrr��s�r�c
Cs�|j}|�d�}|r�||vr�|dur(t}tdd�|�dg�D��}g}tD] }||vrXqJ||vrJ|�|�qJ|d�di�}	||	d<|	|dd<dS)NZrequestValidationModeMembercss|]}|��VqdSr)r�)�.0�arrr�	<genexpr>�sz7resolve_response_checksum_algorithms.<locals>.<genexpr>ZresponseAlgorithmsr{rf�response_algorithms)r�r�r��set�_ALGORITHMS_PRIORITY_LIST�append)
rwrxryr�r�Zmode_memberr�Zusable_algorithmsr�r�rrrrv�s"

�rvc	Cs�|d}|�di�}|�d�}|s&dS|D]v}d|��}||vrBq*d||vrPq*|jrht|||�|d<nt|||�|d<|d�di�}||d<||dd<dSt�d	|�d
��dS)Nr�rfr�r��-r,r{Zresponse_algorithmzXSkipping checksum validation. Response did not contain one of the following algorithms: �.)r�Zhas_streaming_output�_handle_streaming_response�_handle_bytes_responser��info)	�
http_response�responser{rxr�r�Z
algorithmsr��header_namerrr�handle_checksum_body�s6

�
���r�cCs8t�|�}d|��}t|j|d�d�|�|d|�S)Nr�r�zcontent-length)r�r�rhrV)r�r�r�rWr�rrrr��s


�r�c	Csj|j}d|��}t�|�}|�}|�|�|d|}|��t�|�krfd|�d|����}t|d��|S)Nr�r�rqrrr[)	Zcontentr�r�rrrrsrr)	r�r�r�r,r�rWrfrlr\rrrr��s



r�)rGrDrrr)N)N)7�__doc__rr�ZloggingZbinasciirZhashlibrrZawscrtrr@Zbotocore.compatrZbotocore.exceptionsrrZbotocore.modelr	Zbotocore.responser
Zbotocore.useragentrZbotocore.utilsrr
Z	getLoggerr.r�r�rr1r?rBrErIrMrNrhrzrur�r�r�r�r�rvr�r�r�r��list�keysr�r�rrrr�<module>sX



R	�
F
-�
)�	

Youez - 2016 - github.com/yon3zu
LinuXploit