From 135009654513488b5db6271ee94f78d44d0881be Mon Sep 17 00:00:00 2001 From: shortcutme Date: Sun, 20 Jan 2019 16:23:53 +0100 Subject: [PATCH] Support ipv6 for Checkport request --- src/File/FileRequest.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/File/FileRequest.py b/src/File/FileRequest.py index b43df99b..52bdfe7b 100644 --- a/src/File/FileRequest.py +++ b/src/File/FileRequest.py @@ -425,9 +425,14 @@ class FileRequest(object): # Check requested port of the other peer def actionCheckport(self, params): - with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock: + if helper.getIpType(self.connection.ip) == "ipv6": + sock_address = (self.connection.ip, params["port"], 0, 0) + else: + sock_address = (self.connection.ip, params["port"]) + + with closing(helper.createSocket(self.connection.ip)) as sock: sock.settimeout(5) - if sock.connect_ex((self.connection.ip, params["port"])) == 0: + if sock.connect_ex(sock_address) == 0: self.response({"status": "open", "ip_external": self.connection.ip}) else: self.response({"status": "closed", "ip_external": self.connection.ip})