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
This commit is contained in:
Tristan B. Velloza Kildaire 2024-11-03 14:37:28 +02:00 committed by GitHub
parent d002a75f34
commit 1768ddc459
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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))