From f1786c2ee6a5e248706ca09479f209691016590a Mon Sep 17 00:00:00 2001 From: shortcutme Date: Mon, 19 Jun 2017 16:16:43 +0200 Subject: [PATCH] Handle unknown message type --- src/Connection/Connection.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/Connection/Connection.py b/src/Connection/Connection.py index 7134ded7..a5c83a0b 100644 --- a/src/Connection/Connection.py +++ b/src/Connection/Connection.py @@ -235,8 +235,13 @@ class Connection(object): # Handle incoming message def handleMessage(self, message): + try: + cmd = message["cmd"] + except TypeError, AttributeError: + cmd = None + self.last_message_time = time.time() - if message.get("cmd") == "response": # New style response + if cmd == "response": # New style response if message["to"] in self.waiting_requests: if self.last_send_time and len(self.waiting_requests) == 1: ping = time.time() - self.last_send_time @@ -264,14 +269,13 @@ class Connection(object): self.setHandshake(message) else: self.log("Unknown response: %s" % message) - elif message.get("cmd"): # Handhsake request - if message["cmd"] == "handshake": + elif cmd: # Handhsake request + if cmd == "handshake": self.handleHandshake(message) else: self.server.handleRequest(self, message) else: # Old style response, no req_id defined - if config.debug_socket: - self.log("Unknown message: %s, waiting: %s" % (message, self.waiting_requests.keys())) + self.log("Unknown message, waiting: %s" % self.waiting_requests.keys()) if self.waiting_requests: last_req_id = min(self.waiting_requests.keys()) # Get the oldest waiting request and set it true self.waiting_requests[last_req_id].set(message)