From d79de5548cad5c03ed3764420a400278e3c26cb6 Mon Sep 17 00:00:00 2001 From: Jonney Date: Sun, 1 Nov 2020 10:16:14 +0800 Subject: [PATCH] Check if peername is none Check if peername is none, avoid "TypeError: cannot unpack non-iterable NoneType object" --- pproxy/server.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pproxy/server.py b/pproxy/server.py index 8bba08a..ee262c9 100644 --- a/pproxy/server.py +++ b/pproxy/server.py @@ -57,7 +57,8 @@ async def stream_handler(reader, writer, unix, lbind, protos, rserver, cipher, s if unix: remote_ip, server_ip, remote_text = 'local', None, 'unix_local' else: - remote_ip, remote_port, *_ = writer.get_extra_info('peername') + peername = writer.get_extra_info('peername') + remote_ip, remote_port, *_ = peername if peername else ('unknow_remote_ip','unknow_remote_port') server_ip = writer.get_extra_info('sockname')[0] remote_text = f'{remote_ip}:{remote_port}' local_addr = None if server_ip in ('127.0.0.1', '::1', None) else (server_ip, 0)