From 090518ddafe77e6b586ca555a62ff5064ea1925a Mon Sep 17 00:00:00 2001 From: Cyril Jaquier Date: Mon, 26 Mar 2007 21:17:31 +0000 Subject: [PATCH] - Fixed "reload" bug. Many many thanks to Yaroslav Halchenko git-svn-id: https://fail2ban.svn.sourceforge.net/svnroot/fail2ban/trunk@567 a942ae1a-1317-0410-a47c-b1dcaea8d605 --- CHANGELOG | 1 + server/actions.py | 4 ++-- server/filter.py | 2 +- server/filtergamin.py | 2 +- server/filterpoll.py | 2 +- server/jail.py | 8 ++++---- server/jailthread.py | 2 +- server/server.py | 8 ++++---- 8 files changed, 15 insertions(+), 14 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index f2a5b6bc..52d7da11 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -10,6 +10,7 @@ Fail2Ban (version 0.?.?) 2007/??/?? ver. 0.?.? (2007/??/??) - ??? ---------- - Close opened handlers. Thanks to Yaroslav Halchenko +- Fixed "reload" bug. Many many thanks to Yaroslav Halchenko ver. 0.7.8 (2007/03/21) - release candidate ---------- diff --git a/server/actions.py b/server/actions.py index a332a46c..06f15ec6 100644 --- a/server/actions.py +++ b/server/actions.py @@ -125,10 +125,10 @@ class Actions(JailThread): # @return True when the thread exits nicely def run(self): + self.setActive(True) for action in self.__actions: action.execActionStart() - self.setActive(True) - while self.isActive(): + while self._isActive(): if not self.getIdle(): #logSys.debug(self.jail.getName() + ": action") ret = self.__checkBan() diff --git a/server/filter.py b/server/filter.py index ed63299d..131c6d02 100644 --- a/server/filter.py +++ b/server/filter.py @@ -385,7 +385,7 @@ class Filter(JailThread): self.__setFilePos() lastLine = None for line in self.__crtHandler: - if not self.isActive(): + if not self._isActive(): # The jail has been stopped break try: diff --git a/server/filtergamin.py b/server/filtergamin.py index bb5b00b3..37b8d488 100644 --- a/server/filtergamin.py +++ b/server/filtergamin.py @@ -99,7 +99,7 @@ class FilterGamin(Filter): def run(self): self.setActive(True) - while self.isActive(): + while self._isActive(): if not self.getIdle(): # We cannot block here because we want to be able to # exit. diff --git a/server/filterpoll.py b/server/filterpoll.py index 3afd587f..a13f9e71 100644 --- a/server/filterpoll.py +++ b/server/filterpoll.py @@ -93,7 +93,7 @@ class FilterPoll(Filter): def run(self): self.setActive(True) - while self.isActive(): + while self._isActive(): if not self.getIdle(): # Get file modification for f in self.getLogPath(): diff --git a/server/jail.py b/server/jail.py index 00d0b96c..363097a6 100644 --- a/server/jail.py +++ b/server/jail.py @@ -89,10 +89,10 @@ class Jail: self.__filter.join() self.__action.join() - def isActive(self): - isActive0 = self.__filter.isActive() - isActive1 = self.__action.isActive() - return isActive0 or isActive1 + def isAlive(self): + isAlive0 = self.__filter.isAlive() + isAlive1 = self.__action.isAlive() + return isAlive0 or isAlive1 def setIdle(self, value): self.__filter.setIdle(value) diff --git a/server/jailthread.py b/server/jailthread.py index 8a3c6d30..44667ff0 100644 --- a/server/jailthread.py +++ b/server/jailthread.py @@ -105,7 +105,7 @@ class JailThread(Thread): # Check if the filter thread is running. # @return True if the thread is running - def isActive(self): + def _isActive(self): return self.__isRunning ## diff --git a/server/server.py b/server/server.py index f49a967d..832cfaa7 100644 --- a/server/server.py +++ b/server/server.py @@ -96,7 +96,7 @@ class Server: def startJail(self, name): try: self.__lock.acquire() - if not self.isActive(name): + if not self.isAlive(name): self.__jails.get(name).start() finally: self.__lock.release() @@ -104,7 +104,7 @@ class Server: def stopJail(self, name): try: self.__lock.acquire() - if self.isActive(name): + if self.isAlive(name): self.__jails.get(name).stop() self.delJail(name) finally: @@ -118,8 +118,8 @@ class Server: finally: self.__lock.release() - def isActive(self, name): - return self.__jails.get(name).isActive() + def isAlive(self, name): + return self.__jails.get(name).isAlive() def setIdleJail(self, name, value): self.__jails.get(name).setIdle(value)