diff --git a/mystic/mis_server.pas b/mystic/mis_server.pas index 2a9caa2..463a730 100644 --- a/mystic/mis_server.pas +++ b/mystic/mis_server.pas @@ -217,27 +217,43 @@ Begin If (ClientMax > 0) And (ClientActive >= ClientMax) Then Begin Inc (ClientRefused); + Status ('BUSY: ' + NewClient.PeerIP + ' (' + NewClient.PeerName + ')'); - If Not NewClient.WriteFile(TextPath + 'busy.txt') Then NewClient.WriteLine('BUSY'); + + If Not NewClient.WriteFile(TextPath + 'busy.txt') Then + NewClient.WriteLine('BUSY'); + WaitMS(3000); + NewClient.Free; End Else If IsBlockedIP(NewClient) Then Begin Inc (ClientBlocked); + Status('BLOCK: ' + NewClient.PeerIP + ' (' + NewClient.PeerName + ')'); - If Not NewClient.WriteFile(TextPath + 'blocked.txt') Then NewClient.WriteLine('BLOCKED'); + + If Not NewClient.WriteFile(TextPath + 'blocked.txt') Then + NewClient.WriteLine('BLOCKED'); + WaitMS(3000); + NewClient.Free; End Else If (ClientMaxIPs > 0) and (DuplicateIPs(NewClient) >= ClientMaxIPs) Then Begin Inc (ClientRefused); + Status('MULTI: ' + NewClient.PeerIP + ' (' + NewClient.PeerName + ')'); - If Not NewClient.WriteFile(TextPath + 'dupeip.txt') Then NewClient.WriteLine('Only ' + strI2S(ClientMaxIPs) + ' connection(s) per user'); + + If Not NewClient.WriteFile(TextPath + 'dupeip.txt') Then + NewClient.WriteLine('Only ' + strI2S(ClientMaxIPs) + ' connection(s) per user'); + WaitMS(3000); + NewClient.Free; End Else Begin Inc (ClientTotal); Inc (ClientActive); + Status ('Connect: ' + NewClient.PeerIP + ' (' + NewClient.PeerName + ')'); NewClientProc(Self, Config, NodeInfo, NewClient);