diff --git a/steam/core/cm.py b/steam/core/cm.py index 59582ff..272f664 100644 --- a/steam/core/cm.py +++ b/steam/core/cm.py @@ -93,6 +93,7 @@ class CMClient(EventEmitter): def _init_attributes(self): self.current_server_addr = None self.connected = False + self.channel_secured = False self.key = None self.hmac_secret = None @@ -143,15 +144,16 @@ class CMClient(EventEmitter): else: message = crypto.symmetric_decrypt(message, self.key) - self._parse_message(message) + gevent.spawn(self._parse_message, message) + gevent.idle() def _parse_message(self, message): - if not self.connected: - return - emsg_id, = struct.unpack_from("