diff --git a/src/judas_server/backend/backend_server.py b/src/judas_server/backend/backend_server.py index 1c20b85..b2b1396 100644 --- a/src/judas_server/backend/backend_server.py +++ b/src/judas_server/backend/backend_server.py @@ -73,9 +73,19 @@ class BackendServer: # wait for hello message to get mac_id conn.settimeout(5) - message = conn.recv(1024) + try: + message = conn.recv(1024) + if not message: + self.logger.error(f"[-] No data received from {addr}") + conn.close() + return + except socket.timeout: + self.logger.error(f"[-] Timeout waiting for hello from {addr}") + conn.close() + return conn.settimeout(None) + message = message.split(b"\n")[0] # get first line only message = Message.from_bytes(message) mac_id = message.payload.get("mac", None)