X-Git-Url: http://git.megabrutal.com/?p=mgsmtp.git;a=blobdiff_plain;f=Common.pas;fp=Common.pas;h=fadccc59f8b17f0ca294d84740c7af03e946d546;hp=76926728bcbeddd3042f36a2bca0ff8be1e73b50;hb=f70bfb8a7f2c72758be721b78a7e9f33321dca21;hpb=a24c25ac25193f6cc296af1765fa25b68aa8525f diff --git a/Common.pas b/Common.pas index 7692672..fadccc5 100644 --- a/Common.pas +++ b/Common.pas @@ -1,5 +1,5 @@ { - Copyright (C) 2010-2015 MegaBrutal + Copyright (C) 2010-2018 MegaBrutal This unit is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -73,10 +73,10 @@ type {FTimeCorrection: integer;} FTimeOffset: integer; FTimeOffsetStr: string; - FListenPorts: TStrings; + FListenAddresses: TStrings; public function GetVersionStr: string; - property ListenPorts: TStrings read FListenPorts; + property ListenAddresses: TStrings read FListenAddresses; property Databytes: longint read FDatabytes; {property TimeCorrection: integer read FTimeCorrection;} property TimeOffset: integer read FTimeOffset; @@ -465,14 +465,25 @@ begin end; constructor TMainServerConfig.Create(Config: TINIFile); +var i: integer; rawaddresslist: string; portlist: TStringList; begin inherited Create(Config.ReadString('Server', 'Name', ''), Config, 'Server'); - FListenPorts:= TStringList.Create; - FListenPorts.Delimiter:= ','; - FListenPorts.DelimitedText:= Config.ReadString('Server', 'ListenPort', '25'); + FListenAddresses:= TStringList.Create; + FListenAddresses.Delimiter:= ','; + + rawaddresslist:= Config.ReadString('Server', 'ListenAddress', ''); + if rawaddresslist <> '' then + FListenAddresses.DelimitedText:= rawaddresslist + else begin + portlist:= TStringList.Create; + portlist.Delimiter:= ','; + portlist.DelimitedText:= Config.ReadString('Server', 'ListenPort', '25'); + for i:= 0 to portlist.Count - 1 do + FListenAddresses.Add('0.0.0.0:' + portlist.Strings[i]); + portlist.Free; + end; FDatabytes:= Config.ReadInteger('Server', 'Databytes', 1024 * 1024 * 1024); - {FTimeCorrection:= Config.ReadInteger('Server', 'TimeCorrection', 0);} FTimeOffset:= Config.ReadInteger('Server', 'TimeOffset', Config.ReadInteger('Server', 'TimeCorrection', 0) * 100); FTimeOffsetStr:= MakeTimeOffsetStr(FTimeOffset);