public void TestDisabled() { _settings.AutoBanOnLogonFailure = false; _settings.MaxInvalidLogonAttempts = 3; _settings.MaxInvalidLogonAttemptsWithin = 5; _settings.AutoBanMinutes = 3; hMailServer.Account account = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test"); POP3Simulator sim = new POP3Simulator(); Assert.IsTrue(sim.ConnectAndLogon(account.Address, "test")); sim.Disconnect(); // confirm that we can retrieve welcome message. Assert.IsTrue(sim.GetWelcomeMessage().StartsWith("+OK")); string errorMessage; // fail to log on 3 times. for (int i = 0; i < 5; i++) { Assert.IsFalse(sim.ConnectAndLogon(account.Address, "testA", out errorMessage)); sim.Disconnect(); } Assert.IsTrue(sim.GetWelcomeMessage().StartsWith("+OK")); string logText = Utilities.ReadCurrentDefaultLog(); Assert.IsFalse(logText.Contains("Blocked either by IP range or by connection limit."), logText); }
public void TestIPRangeName() { _settings.AutoBanOnLogonFailure = true; _settings.MaxInvalidLogonAttempts = 3; _settings.MaxInvalidLogonAttemptsWithin = 5; _settings.AutoBanMinutes = 3; Assert.AreEqual(2, _settings.SecurityRanges.Count); hMailServer.Account account = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test"); POP3Simulator sim = new POP3Simulator(); Assert.IsTrue(sim.ConnectAndLogon(account.Address, "test")); sim.Disconnect(); // confirm that we can retrieve welcome message. Assert.IsTrue(sim.GetWelcomeMessage().StartsWith("+OK")); string errorMessage; // fail to log on 3 times. for (int i = 0; i < 3; i++) { Assert.IsFalse(sim.ConnectAndLogon(account.Address, "testA", out errorMessage)); sim.Disconnect(); if (i == 2) { Assert.IsTrue(errorMessage.Contains("Too many invalid logon attempts.")); } } Assert.IsTrue(sim.GetWelcomeMessage().Length == 0); Assert.AreEqual(3, _settings.SecurityRanges.Count); Assert.AreEqual("Auto-ban: [email protected]", _settings.SecurityRanges[2].Name); }
public void TestImproperDisconnect() { hMailServer.Application application = SingletonProvider <Utilities> .Instance.GetApp(); hMailServer.Account oAccount = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test"); int iCount = application.Status.get_SessionCount(hMailServer.eSessionType.eSTPOP3); POP3Simulator oPOP3 = new POP3Simulator(); oPOP3.Connect(110); AssertSessionCount(hMailServer.eSessionType.eSTPOP3, iCount + 1); oPOP3.Disconnect(); // Disconnect without sending quit AssertSessionCount(hMailServer.eSessionType.eSTPOP3, iCount); }