From: MegaBrutal <code+git@megabrutal.com>
Date: Thu, 8 Nov 2018 00:45:00 +0000 (+0100)
Subject: (Network) Call fpSocket with proper address family
X-Git-Url: http://git.megabrutal.com/?a=commitdiff_plain;h=6414807882a7a0d82e0f97ac1a8eac4487462b44;p=mgsmtp.git

(Network) Call fpSocket with proper address family

	modified:   Network.pas
---

diff --git a/Network.pas b/Network.pas
index 7521ff1..ec602d1 100644
--- a/Network.pas
+++ b/Network.pas
@@ -188,25 +188,29 @@ function TTCPConnection.Connect(const HostName: string; Port: word): boolean;
 { Resolves the given hostname, and tries to connect it on the given port. }
 var GAIResult: TGAIResult;
 begin
-   FSocket:= fpSocket(af_inet, sock_stream, 0);
-   if (FSocket <> -1) then begin
-      GAIResult:= ResolveHost(HostName, AF_UNSPEC);
-      if GAIResult.GAIError = 0 then begin
-         Move(GAIResult.AddrInfo^.ai_addr^, SockAddr, GAIResult.AddrInfo^.ai_addrlen);
-         SockAddr.sin6_port:= htons(Port);
+   GAIResult:= ResolveHost(HostName, AF_UNSPEC);
+   if GAIResult.GAIError = 0 then begin
+      Move(GAIResult.AddrInfo^.ai_addr^, SockAddr, GAIResult.AddrInfo^.ai_addrlen);
+      SockAddr.sin6_port:= htons(Port);
+
+      { Create socket. }
+      FSocket:= fpSocket(GAIResult.AddrInfo^.ai_family, SOCK_STREAM, 0);
+
+      if (FSocket <> -1) then begin
 
          { Try to initiate connection. }
          FConnected:= fpConnect(FSocket, @SockAddr, GAIResult.AddrInfo^.ai_addrlen) <> -1;
 
-		 if FConnected then begin
-		    FHostIP:= TIPNamePair.Create(HostName, IPToStr(@SockAddr));
-		    SetSockTimeOut(FSockTimeOut);
-		 end
-		 else
-		    CloseSocket(FSocket);
+         if FConnected then begin
+            FHostIP:= TIPNamePair.Create(HostName, IPToStr(@SockAddr));
+            SetSockTimeOut(FSockTimeOut);
+         end
+         else
+            CloseSocket(FSocket);
 
-         FreeHost(GAIResult);
       end;
+
+      FreeHost(GAIResult);
    end;
    Result:= FConnected;
 end;