diff --git a/server/netwrapper.py b/server/netwrapper.py index d94b982..4eca973 100644 --- a/server/netwrapper.py +++ b/server/netwrapper.py @@ -127,7 +127,12 @@ class NetWrapper: def recieveEncryptedMessage(self, msg: bytes) -> bytes: try: - b64 = json.loads(msg) + b64 = json.loads(msg.decode('UTF-8')) + while not (b64['source'] == self.clientAddr and b64['type'] == 'CMD'): + status, msg = self.network.receive_msg(blocking=True) + if not status: + raise Exception('Network error during connection.') + b64 = json.loads(msg.decode('UTF-8')) retnonce = b64decode(b64['nonce']) retciphertext = b64decode(b64['message']) retcipher = ChaCha20.new(self.cipherkey, nonce=retnonce)