From e360eaf6f1ffa0fe6f7a0b0f5a855e4f2aefb23d Mon Sep 17 00:00:00 2001 From: Cyber-Scream Date: Mon, 26 Aug 2024 13:09:00 +0200 Subject: [PATCH] Python3 support added --- client.py | 76 +++++++++++++++++++++++++++---------------------------- relay.py | 30 +++++++++++----------- server.py | 62 ++++++++++++++++++++++----------------------- 3 files changed, 84 insertions(+), 84 deletions(-) diff --git a/client.py b/client.py index ce35cf5..9ef0d4c 100644 --- a/client.py +++ b/client.py @@ -19,7 +19,7 @@ def key_by_value(my_dict, value): - for k, v in my_dict.iteritems(): + for k, v in my_dict.items(): if v == value: return k return None @@ -80,11 +80,11 @@ def run(self): logger.info('SIGINT received. Closing relay and exiting') self.send_remote_cmd(self.bc_sock, relay.CLOSE_RELAY) self.shutdown() - except select.error as (code, msg): - logger.debug('Select error on select. Errno: {0} Msg: {1}'.format(errno.errorcode[code], msg)) + except select.error as e: + logger.debug('Select error on select. Errno: {0} Msg: {1}'.format(e.errno, e.strerror)) self.shutdown() - except socket.error as (code, msg): - logger.debug('Socket error on select. Errno: {0} Msg: {1}'.format(errno.errorcode[code], msg)) + except socket.error as e: + logger.debug('Socket error on select. Errno: {0} Msg: {1}'.format(e.errno, e.strerror)) self.shutdown() for sock in outputready: @@ -92,9 +92,9 @@ def run(self): logger.debug('Establishing connection with channel id {0}'.format(channel_id)) try: sock.recv(0) - except socket.error as (code, err_msg): - if code == errno.ECONNREFUSED or code == errno.ETIMEDOUT: - logger.debug('Connection {0}'.format(errno.errorcode[code])) + except socket.error as e: + if e.errno == errno.ECONNREFUSED or e.errno == errno.ETIMEDOUT: + logger.debug('Connection {0}'.format(e.errno)) if sock in inputready: inputready.remove(sock) @@ -104,9 +104,9 @@ def run(self): self.send_remote_cmd(self.bc_sock, relay.FORWARD_CONNECTION_FAILURE, channel_id) sock.close() continue - elif code == errno.EAGAIN: + elif e.errno == errno.EAGAIN: logger.debug('Recv(0) return errno.EAGAIN for socket {0} on channel {1}. Connection established.'.format(sock, channel_id)) - elif code == 10035: + elif e.errno == 10035: logger.debug('Recv(0) raised windows-specific exception 10035. Connection established.') else: raise @@ -131,7 +131,7 @@ def run(self): self.manage_forward_socket(self.selected_input_socket) def handle_remote_cmd(self, data): - cmd = data[0] + cmd = data[0].to_bytes(1, 'big') logger.debug('Received cmd data from remote side. Cmd: {0}'.format(relay.cmd_names[cmd])) if cmd == relay.CHANNEL_CLOSE_CMD: channel_id = unpack('