From 2d672d1c81ae5bdeaf9e5a03f8574f9b397925c7 Mon Sep 17 00:00:00 2001 From: David Engeset Date: Mon, 5 Nov 2012 14:02:11 -0800 Subject: [PATCH] Added in while loop to process the Fail Manager after the requested banned IP was added to its queue. This solves the issue of needing to touch the log file that is being monitored to get the IP to be banned accordingly. Added in import of FailManagerEmpty exception class. --- server/filter.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/server/filter.py b/server/filter.py index f71a0a06..b37e37e6 100644 --- a/server/filter.py +++ b/server/filter.py @@ -27,6 +27,7 @@ __date__ = "$Date$" __copyright__ = "Copyright (c) 2004 Cyril Jaquier" __license__ = "GPL" +from failmanager import FailManagerEmpty from failmanager import FailManager from ticket import FailTicket from jailthread import JailThread @@ -224,6 +225,14 @@ class Filter(JailThread): for i in xrange(self.failManager.getMaxRetry()): self.failManager.addFailure(FailTicket(ip, unixTime)) + # Perform the banning of the IP now. + try: + while True: + ticket = self.failManager.toBan() + self.jail.putFailTicket(ticket) + except FailManagerEmpty: + self.failManager.cleanup(MyTime.time()) + return ip ##