Log actual listen address
[mgsmtp.git] / Network.pas
index d5b458da2d5919570e2805ae5416b63eac408752..cd13cb2ae4740ec5368c70686d381395fbd14660 100644 (file)
@@ -37,7 +37,7 @@
 unit Network;
 
 interface
-uses Classes, Sockets, SocketUtils, DNSResolve, NetRFC, Common;
+uses Classes, Sockets, SocketUtils, SysUtils, DNSResolve, NetRFC, Common;
 
 const
 
@@ -101,17 +101,18 @@ type
    TTCPListener = class(TThread)
       constructor Create(const Address: string; Port: word; FeatureRequest: word);
       {destructor Destroy; override;}
-   private
+   protected
       FFeatureRequest: word;
       FListenAddress: string;
       FListenPort: word;
       FListenSocket: socket;
       SockAddr: TSockAddr;
-   protected
       procedure HandleClient(Connection: TTCPConnection); virtual; abstract;
       procedure Execute; override;
    public
+      property ListenAddress: string read FListenAddress;
       property ListenPort: word read FListenPort;
+      function GetSockAddrStr: string;
       function StartListen: boolean;
       procedure StopListen;
    end;
@@ -300,6 +301,11 @@ begin
 end;
 
 
+function TTCPListener.GetSockAddrStr: string;
+begin
+   Result:= NetAddrToStr(SockAddr.sin_addr) + ':' + IntToStr(ntohs(SockAddr.sin_port));
+end;
+
 function TTCPListener.StartListen: boolean;
 var GAIResult: TGAIResult;
 begin