26
26
ProgrammingError )
27
27
28
28
from pymysql .connections import TEXT_TYPES , MAX_PACKET_LEN , DEFAULT_CHARSET
29
- # from pymysql.connections import dump_packet
30
- from pymysql .connections import _scramble
31
- from pymysql .connections import _scramble_323
29
+ from pymysql .connections import _auth
30
+
32
31
from pymysql .connections import pack_int24
33
32
34
33
from pymysql .connections import MysqlPacket
@@ -687,7 +686,7 @@ async def _request_authentication(self):
687
686
auth_plugin = self ._server_auth_plugin
688
687
689
688
if auth_plugin in ('' , 'mysql_native_password' ):
690
- authresp = _scramble (self ._password . encode ( 'latin1' ) , self .salt )
689
+ authresp = _auth . scramble_native_password (self ._password , self .salt )
691
690
elif auth_plugin in ('' , 'mysql_clear_password' ):
692
691
authresp = self ._password .encode ('latin1' ) + b'\0 '
693
692
@@ -731,8 +730,7 @@ async def _request_authentication(self):
731
730
plugin_name , auth_packet )
732
731
else :
733
732
# send legacy handshake
734
- data = _scramble_323 (self ._password .encode ('latin1' ),
735
- self .salt ) + b'\0 '
733
+ data = _auth .scramble_old_password (self ._password , auth_packet .read_all ()) + b'\0 '
736
734
self .write_packet (data )
737
735
auth_packet = await self ._read_packet ()
738
736
@@ -741,13 +739,11 @@ async def _process_auth(self, plugin_name, auth_packet):
741
739
# https://dev.mysql.com/doc/internals/en/
742
740
# secure-password-authentication.html#packet-Authentication::
743
741
# Native41
744
- data = _scramble (self ._password .encode ('latin1' ),
745
- auth_packet .read_all ())
742
+ data = _auth .scramble_native_password (self ._password , auth_packet .read_all ())
746
743
elif plugin_name == b"mysql_old_password" :
747
744
# https://dev.mysql.com/doc/internals/en/
748
745
# old-password-authentication.html
749
- data = _scramble_323 (self ._password .encode ('latin1' ),
750
- auth_packet .read_all ()) + b'\0 '
746
+ data = _auth .scramble_old_password (self ._password , auth_packet .read_all ()) + b'\0 '
751
747
elif plugin_name == b"mysql_clear_password" :
752
748
# https://dev.mysql.com/doc/internals/en/
753
749
# clear-text-authentication.html
0 commit comments