Viewing File: /opt/imunify360/venv/lib/python3.11/site-packages/pymysql/__pycache__/_auth.cpython-311.pyc



]jdZddlmZ	ddlmZddlmZmZddlm	Z	dZ
n
#e$rdZ
YnwxYwdd	lm
Z
dd
lZdZdZe
ejdZd
ZdZdadZdZdZdZdZdZdZdZdZd
S)z
Implements auth methods
)OperationalError)default_backend)
serializationhashes)paddingTF)partialNsha1c`|sdSt|}t|}t}||dt|||}t	||S)z'Scramble used for mysql_native_passwordN)sha1_newdigestupdateSCRAMBLE_LENGTH	_my_crypt)passwordmessagestage1stage2sresults      D/opt/imunify360/venv/lib64/python3.11/site-packages/pymysql/_auth.pyscramble_native_passwordrss
h


&
&
(
(F
f


$
$
&
&F

AHHW%o%
&'''HHV
XXZZFVV$$$r
ct|}tt|D]}||xx||zcc<t|SN)	bytearrayrangelenbytes)message1message2ris    rrr,sT
x
 
 F
3v;;

!!q			Xa[ 				==r
cR	ddlm}|adS#t$rt	dwxYw)Nrbindingsz='pynacl' package is required for ed25519_password auth method)naclr&_nacl_bindingsImportErrorRuntimeErrorr%s r
_init_naclr+;sR
!!!!!!!


K

	

s&ct|}tt|ddzg}tt|ddzdzg}|t|ddz|zS)Nr@r)rr )s32baba0ba31s    r
_scalar_clampr5Gsq	3B
	2a53;-((
)
)CRVc\R/01122Ds1R4y!!!D((r
ctsttj|}t|dd}tj|dd|z}t|}t|}t|}tj||z|z}t|}t||}t	||}	||	zS)znSign a random scramble with elliptic curve Ed25519.

    Secret and public key are derived from password.
    N )
r(r+hashlibsha512rr5!crypto_core_ed25519_scalar_reduce&crypto_scalarmult_ed25519_base_noclampcrypto_core_ed25519_scalar_mulcrypto_core_ed25519_scalar_add)
rscramblehrrRAkksSs
          red25519_passwordrFNs 	x  ''))A	afA	qv())0022A	88;;A==a@@A	==a@@A	q1ux'((//11A	88;;A		6	6q!	<	<B55b!<<A
q5Lr
c|||}||Sr)write_packet_read_packetcheck_error)conn	send_datapkts   r
_roundtriprNws<i   




COOJr
c|dt}t|}t|}tt|D]}||xx|||zzcc<t	|Sr)rrrrr )rsaltpassword_bytessalt_lenr#s     r
_xor_passwordrS~s  !Dx((N4yyH
3~&&
'
'00qT!h,//   r
c	Vtstdt|dz|}tj|t}||tjtj	tjtjdS)zhEncrypt password with salt and public_key.

    Used for sha256_password and caching_sha2_password.
    z\'cryptography' package is required for sha256_password or caching_sha2_password auth methods)	algorithmN)mgfrVlabel)_have_cryptographyr*rSrload_pem_public_keyrencryptrOAEPMGF1rSHA1)rrP
public_keyrrsa_keys     rsha2_rsa_encryptras


4

	
Hu,d33G/
O<M<MNNG??v{}}555kmm	
	
	
r
c|jr0trtd|jdz}t	||S|rM||_|js-|jr&trtdt	|d}|	rC|j
dd|_tr(td|jd|jr7|jstdt|j|j|j}nd	}t	||S)
Nzsha256: Sending plain passwordrUz$sha256: Requesting server public keyrzReceived public key:
asciiz$Couldn't receive server's public keyr
)_secureDEBUGprintrrNis_auth_switch_requestread_allrPserver_public_keyis_extra_auth_data_datadecoderra)rKrMdatas   rsha256_password_authrosB|&	42333}u$$%%%
!!##*LLNN	%	*$-	*
><===T5))C
T!$122	T*D,B,I,I',R,RSSS}%	K"#IJJJ
ty$:PQQdD!!!r
c|sdStj|}tj|}tj||z}t|}t	t|D]}||xx||zcc<t
|S)zScramble algorithm used in cached_sha2_password fast path.

    XOR(SHA256(password), SHA256(SHA256(SHA256(password)), nonce))
    r
)r8sha256rrrrr )rnoncep1p2p3resr#s       rscramble_caching_sha2rwss		!	!	(	(	*	*B				"	"	$	$B	U
	#	#	*	*	,	,B
B--C
3r77^^A"Q%::r
c|jst|dS|rYtrt	d||_t|j|j}t||}|std|j
ddz|d|}|dkr@trt	d|
}||S|dkrtd|ztrt	d	|jr.trt	d
t||jdzS|jst|d}|std
|j
ddz|j
dd|_tr't	|jdt%|j|j|j}t||}dS)Nr
zcaching sha2: Trying fast pathz.caching sha2: Unknown packet for fast auth: %srz%caching sha2: succeeded by fast path.z.caching sha2: Unknown result for fast auth: %sz!caching sha2: Trying full auth...z:caching sha2: Sending plain password via secure connectionrUz/caching sha2: Unknown packet for public key: %srd)rrNrhrfrgrirPrwrkrrladvance
read_uint8rIrJrerjrmra)rKrM	scramblednrns     rcaching_sha2_password_authrs>=%$$$$
!!##*	42333LLNN	)$-CC	y))!!##
<sy!}L

	
KKNNNAAvv	;9:::!!
AvvORSSTTT3
1222|7	PNOOO$
 5666!	:w''%%''	"ACIbqbMQ
"%122	:$(//88999DM49d6LMMD
T4
 
 CCCr
)__doc__errrcryptography.hazmat.backendsrcryptography.hazmat.primitivesrr)cryptography.hazmat.primitives.asymmetricrrYr)	functoolsr	r8rfrnewrrrr(r+r5rFrNrSrarorwrr
r<module>rs"!!!!!<<<<<<DDDDDDDDAAAAAA	77;''%%%	
	
	
)))###R	!	!	!,""">(9!9!9!9!9!s!++
Back to Directory File Manager