mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-06-17 18:46:40 +00:00
fix(AuthKey): key_id is a signed long, not unsigned
This commit is contained in:
parent
59da66e105
commit
c97e6023c4
@ -39,7 +39,7 @@ class AuthKey:
|
||||
with BinaryReader(sha1(self._key).digest()) as reader:
|
||||
self.aux_hash = reader.read_long(signed=False)
|
||||
reader.read(4)
|
||||
self.key_id = reader.read_long(signed=False)
|
||||
self.key_id = reader.read_long(signed=True)
|
||||
|
||||
# TODO This doesn't really fit here, it's only used in authentication
|
||||
def calc_new_nonce_hash(self, new_nonce, number):
|
||||
|
@ -144,7 +144,7 @@ class MTProtoState:
|
||||
msg_key = msg_key_large[8:24]
|
||||
aes_key, aes_iv = self._calc_key(self.auth_key.key, msg_key, True)
|
||||
|
||||
key_id = struct.pack('<Q', self.auth_key.key_id)
|
||||
key_id = struct.pack('<q', self.auth_key.key_id)
|
||||
return (key_id + msg_key +
|
||||
AES.encrypt_ige(data + padding, aes_key, aes_iv))
|
||||
|
||||
@ -158,7 +158,7 @@ class MTProtoState:
|
||||
raise InvalidBufferError(body)
|
||||
|
||||
# TODO Check salt, session_id and sequence_number
|
||||
key_id = struct.unpack('<Q', body[:8])[0]
|
||||
key_id = struct.unpack('<q', body[:8])[0]
|
||||
if key_id != self.auth_key.key_id:
|
||||
raise SecurityError('Server replied with an invalid auth key')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user