From 1768ddc459c395ff769b7036ff2d0893a11f1067 Mon Sep 17 00:00:00 2001 From: "Tristan B. Velloza Kildaire" Date: Sun, 3 Nov 2024 14:37:28 +0200 Subject: [PATCH] Determine AF FAMILY from getaddrinfo BEFORE socket ctor Before we call the `socket.socket(...)` constructor function, let us first provide `self.target_ip` and `self.target_port` to `socket.getaddrinfo(...)` (static function) and then get the AF family from it. Then we pass this into the ctor --- RNS/Interfaces/TCPInterface.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/RNS/Interfaces/TCPInterface.py b/RNS/Interfaces/TCPInterface.py index 54eadb0..751fd5d 100644 --- a/RNS/Interfaces/TCPInterface.py +++ b/RNS/Interfaces/TCPInterface.py @@ -200,7 +200,9 @@ class TCPClientInterface(Interface): if initial: RNS.log("Establishing TCP connection for "+str(self)+"...", RNS.LOG_DEBUG) - self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + addrInfo=socket.getaddrinfo(self.target_ip, self.target_port) + addrFam=addrInfo[0] + self.socket = socket.socket(addrFam, socket.SOCK_STREAM) self.socket.settimeout(TCPClientInterface.INITIAL_CONNECT_TIMEOUT) self.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) self.socket.connect((self.target_ip, self.target_port))