Handle unknown message type

This commit is contained in:
shortcutme 2017-06-19 16:16:43 +02:00
parent 7d9cb65ba1
commit f1786c2ee6
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE

View file

@ -235,8 +235,13 @@ class Connection(object):
# Handle incoming message # Handle incoming message
def handleMessage(self, message): def handleMessage(self, message):
try:
cmd = message["cmd"]
except TypeError, AttributeError:
cmd = None
self.last_message_time = time.time() 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 message["to"] in self.waiting_requests:
if self.last_send_time and len(self.waiting_requests) == 1: if self.last_send_time and len(self.waiting_requests) == 1:
ping = time.time() - self.last_send_time ping = time.time() - self.last_send_time
@ -264,14 +269,13 @@ class Connection(object):
self.setHandshake(message) self.setHandshake(message)
else: else:
self.log("Unknown response: %s" % message) self.log("Unknown response: %s" % message)
elif message.get("cmd"): # Handhsake request elif cmd: # Handhsake request
if message["cmd"] == "handshake": if cmd == "handshake":
self.handleHandshake(message) self.handleHandshake(message)
else: else:
self.server.handleRequest(self, message) self.server.handleRequest(self, message)
else: # Old style response, no req_id defined else: # Old style response, no req_id defined
if config.debug_socket: self.log("Unknown message, waiting: %s" % self.waiting_requests.keys())
self.log("Unknown message: %s, waiting: %s" % (message, self.waiting_requests.keys()))
if self.waiting_requests: if self.waiting_requests:
last_req_id = min(self.waiting_requests.keys()) # Get the oldest waiting request and set it true 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) self.waiting_requests[last_req_id].set(message)