Bind to user-specified address (BindAddress6)
[mgsmtp.git] / Common.pas
index 2280c2b5358f968ba6d8f0c5c070e445088be0d3..f7a88542fff0a6ba0160e3f9eabf6d6d326e60ad 100644 (file)
@@ -74,10 +74,13 @@ type
       FTimeOffset: integer;
       FTimeOffsetStr: string;
       FListenAddresses, FListenAddresses6: TStrings;
+      FBindAddress, FBindAddress6: string;
    public
       function GetVersionStr: string;
       property ListenAddresses: TStrings read FListenAddresses;
       property ListenAddresses6: TStrings read FListenAddresses6;
+      property BindAddress: string read FBindAddress;
+      property BindAddress6: string read FBindAddress6;
       property Databytes: longint read FDatabytes;
       {property TimeCorrection: integer read FTimeCorrection;}
       property TimeOffset: integer read FTimeOffset;
@@ -537,6 +540,9 @@ begin
    FListenAddresses6.Delimiter:= ',';
    FListenAddresses6.DelimitedText:= Config.ReadString('Server', 'ListenAddress6', '');
 
+   FBindAddress:=    Config.ReadString('Server', 'BindAddress', '0.0.0.0');
+   FBindAddress6:=   Config.ReadString('Server', 'BindAddress6', '[::]');
+
    FDatabytes:=      Config.ReadInteger('Server', 'Databytes', 1024 * 1024 * 1024);
    FTimeOffset:=     Config.ReadInteger('Server', 'TimeOffset', Config.ReadInteger('Server', 'TimeCorrection', 0) * 100);
    FTimeOffsetStr:=  MakeTimeOffsetStr(FTimeOffset);