Add missing FutureSalts response special case (#81)

This commit is contained in:
Lonami Exo 2018-01-30 18:32:42 +01:00
parent a7888bfaf8
commit bf56d32118

View File

@ -4,11 +4,9 @@ encrypting every packet, and relies on a valid AuthKey in the used Session.
""" """
import gzip import gzip
import logging import logging
import struct
from threading import Lock from threading import Lock
from .. import helpers as utils from .. import helpers as utils
from ..crypto import AES
from ..errors import ( from ..errors import (
BadMessageError, InvalidChecksumError, BrokenAuthKeyError, BadMessageError, InvalidChecksumError, BrokenAuthKeyError,
rpc_message_to_error rpc_message_to_error
@ -16,11 +14,11 @@ from ..errors import (
from ..extensions import BinaryReader from ..extensions import BinaryReader
from ..tl import TLMessage, MessageContainer, GzipPacked from ..tl import TLMessage, MessageContainer, GzipPacked
from ..tl.all_tlobjects import tlobjects from ..tl.all_tlobjects import tlobjects
from ..tl.functions.auth import LogOutRequest
from ..tl.types import ( from ..tl.types import (
MsgsAck, Pong, BadServerSalt, BadMsgNotification, MsgsAck, Pong, BadServerSalt, BadMsgNotification, FutureSalts,
MsgNewDetailedInfo, NewSessionCreated, MsgDetailedInfo MsgNewDetailedInfo, NewSessionCreated, MsgDetailedInfo
) )
from ..tl.functions.auth import LogOutRequest
__log__ = logging.getLogger(__name__) __log__ = logging.getLogger(__name__)
@ -244,6 +242,12 @@ class MtProtoSender:
return True return True
if isinstance(obj, FutureSalts):
r = self._pop_request(obj.req_msg_id)
if r:
r.result = obj
r.confirm_received.set()
# If the object isn't any of the above, then it should be an Update. # If the object isn't any of the above, then it should be an Update.
self.session.process_entities(obj) self.session.process_entities(obj)
if state: if state: