From cd1be321f7aa307b9eb648a5e166a0f22067ae9d Mon Sep 17 00:00:00 2001 From: Pahaz Date: Sun, 14 May 2023 23:35:58 +0300 Subject: [PATCH] sshtunnel: generate self.info for logging and debugging (compatibility for #231) --- sshtunnel.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sshtunnel.py b/sshtunnel.py index f5fdef9..c48e330 100644 --- a/sshtunnel.py +++ b/sshtunnel.py @@ -12,6 +12,8 @@ """ import os +import random +import string import sys import socket import getpass @@ -257,6 +259,11 @@ def _remove_none_values(dictionary): return list(map(dictionary.pop, [i for i in dictionary if dictionary[i] is None])) + +def generate_random_string(length): + letters = string.ascii_letters + string.digits + return ''.join(random.choice(letters) for _ in range(length)) + ######################## # # # Errors # @@ -331,6 +338,9 @@ def _redirect(self, chan): self.request.sendall(data) def handle(self): + uid = generate_random_string(5) + self.info = '#{0} <-- {1}'.format(uid, self.client_address or + self.server.local_address) src_address = self.request.getpeername() if not isinstance(src_address, tuple): src_address = ('dummy', 12345)