@@ -652,27 +652,29 @@ async def _async_parse_connect_response(self):
652652 b''
653653 )
654654 (h , oid , buf ) = await self ._async_op_response ()
655- guessed_wire_crypt = self . _guess_wire_crypt (buf )
655+ enc_plugin , nonce = guess_wire_crypt (buf )
656656 else :
657- guessed_wire_crypt = None
657+ enc_plugin = nonce = None
658658
659- if guessed_wire_crypt and self .wire_crypt and session_key :
660- self ._op_crypt (guessed_wire_crypt [ 0 ] )
661- if guessed_wire_crypt [ 0 ] == b'Arc4' :
659+ if enc_plugin and self .wire_crypt and session_key :
660+ self ._op_crypt (enc_plugin )
661+ if enc_plugin == b'Arc4' :
662662 self .sock .set_translator (
663663 ARC4 .new (session_key ), ARC4 .new (session_key ))
664- elif guessed_wire_crypt [ 0 ] == b'ChaCha' :
664+ elif enc_plugin == b'ChaCha' :
665665 k = hashlib .sha256 (session_key ).digest ()
666666 self .sock .set_translator (
667- ChaCha20 .new (k , guessed_wire_crypt [ 1 ] ),
668- ChaCha20 .new (k , guessed_wire_crypt [ 1 ] ),
667+ ChaCha20 .new (k , nonce ),
668+ ChaCha20 .new (k , nonce ),
669669 )
670670 else :
671671 raise OperationalError (
672- 'Unknown wirecrypt plugin %s' % (guessed_wire_crypt )
672+ 'Unknown wirecrypt plugin %s' % (enc_plugin )
673673 )
674- (h , oid , buf ) = await self ._async_op_response ()
675- else : # use later _op_attach() and _op_create()
674+ (h , oid , buf ) = self ._op_response ()
675+ else :
676+ # no matched wire encription plugin
677+ # self.auth_data use _op_attach() and _op_create()
676678 self .auth_data = auth_data
677679 else :
678680 assert op_code == self .op_accept
0 commit comments