diff --git a/common/protocol.py b/common/protocol.py index 85d4947b..623437bc 100644 --- a/common/protocol.py +++ b/common/protocol.py @@ -51,9 +51,7 @@ protocol = [ ["set addignoreip ", "adds to the ignore list of "], ["set delignoreip ", "removes from the ignore list of "], ["set addlogpath ", "adds to the monitoring list of "], -["set dellogpath ", "removes to the monitoring list of "], -["set timeregex ", "sets the regular expression to match the date format for . This will disable the autodetection feature."], -["set timepattern ", "sets the pattern to match the date format for . This will disable the autodetection feature."], +["set dellogpath ", "removes to the monitoring list of "], ["set addfailregex ", "adds the regular expression which must match failures for "], ["set delfailregex ", "removes the regular expression at for failregex"], ["set addignoreregex ", "adds the regular expression which should match pattern to exclude for "], diff --git a/server/datedetector.py b/server/datedetector.py index 7bc8c813..dafcdbfb 100644 --- a/server/datedetector.py +++ b/server/datedetector.py @@ -39,7 +39,6 @@ class DateDetector: def __init__(self): self.__lock = Lock() self.__templates = list() - self.__defTemplate = DateStrptime() def addDefaultTemplate(self): try: @@ -100,54 +99,31 @@ class DateDetector: def getTemplates(self): return self.__templates - def setDefaultRegex(self, value): - self.__defTemplate.setRegex(value) - - def getDefaultRegex(self): - return self.__defTemplate.getRegex() - - def setDefaultPattern(self, value): - self.__defTemplate.setPattern(value) - - def getDefaultPattern(self): - return self.__defTemplate.getPattern() - def matchTime(self, line): - if self.__defTemplate.isValid(): - return self.__defTemplate.matchDate(line) - else: - try: - self.__lock.acquire() - for template in self.__templates: - match = template.matchDate(line) - if not match == None: - return match - return None - finally: - self.__lock.release() + try: + self.__lock.acquire() + for template in self.__templates: + match = template.matchDate(line) + if not match == None: + return match + return None + finally: + self.__lock.release() def getTime(self, line): - if self.__defTemplate.isValid(): - try: - date = self.__defTemplate.getDate(line) - return date - except ValueError: - return None - else: - try: - self.__lock.acquire() - for template in self.__templates: - try: - date = template.getDate(line) - if date == None: - continue - template.incHits() - return date - except ValueError: - pass - return None - finally: - self.__lock.release() + try: + self.__lock.acquire() + for template in self.__templates: + try: + date = template.getDate(line) + if date == None: + continue + return date + except ValueError: + pass + return None + finally: + self.__lock.release() def getUnixTime(self, line): date = self.getTime(line) diff --git a/server/filter.py b/server/filter.py index c0de1953..a21b0f03 100644 --- a/server/filter.py +++ b/server/filter.py @@ -25,7 +25,7 @@ __copyright__ = "Copyright (c) 2004 Cyril Jaquier" __license__ = "GPL" from failmanager import FailManager -from failticket import FailTicket +from ticket import FailTicket from jailthread import JailThread from datedetector import DateDetector from mytime import MyTime @@ -122,40 +122,6 @@ class Filter(JailThread): except ValueError: return False - ## - # Set the regular expression which matches the time. - # - # @param value the regular expression - - def setTimeRegex(self, value): - self.dateDetector.setDefaultRegex(value) - logSys.info("Set default regex = %s" % value) - - ## - # Get the regular expression which matches the time. - # - # @return the regular expression - - def getTimeRegex(self): - return self.dateDetector.getDefaultRegex() - - ## - # Set the time pattern. - # - # @param value the time pattern - - def setTimePattern(self, value): - self.dateDetector.setDefaultPattern(value) - logSys.info("Set default pattern = %s" % value) - - ## - # Get the time pattern. - # - # @return the time pattern - - def getTimePattern(self): - return self.dateDetector.getDefaultPattern() - ## # Add a regular expression which matches the failure. # diff --git a/server/server.py b/server/server.py index 8129b893..8c71b6d9 100644 --- a/server/server.py +++ b/server/server.py @@ -73,8 +73,8 @@ class Server: logSys.debug("Starting communication") try: self.__asyncServer.start(sock, force) - except AsyncServerException: - logSys.error("Could not start server") + except AsyncServerException, e: + logSys.error("Could not start server: %s", e) logSys.info("Exiting Fail2ban") def quit(self): @@ -148,18 +148,6 @@ class Server: def getLogPath(self, name): return self.__jails.getFilter(name).getLogPath() - def setTimeRegex(self, name, value): - self.__jails.getFilter(name).setTimeRegex(value) - - def getTimeRegex(self, name): - return self.__jails.getFilter(name).getTimeRegex() - - def setTimePattern(self, name, value): - self.__jails.getFilter(name).setTimePattern(value) - - def getTimePattern(self, name): - return self.__jails.getFilter(name).getTimePattern() - def setFindTime(self, name, value): self.__jails.getFilter(name).setFindTime(value) diff --git a/server/transmitter.py b/server/transmitter.py index 98c55756..40a79137 100644 --- a/server/transmitter.py +++ b/server/transmitter.py @@ -135,14 +135,6 @@ class Transmitter: value = command[2] self.__server.delLogPath(name, value) return self.__server.getLogPath(name) - elif command[1] == "timeregex": - value = command[2] - self.__server.setTimeRegex(name, value) - return self.__server.getTimeRegex(name) - elif command[1] == "timepattern": - value = command[2] - self.__server.setTimePattern(name, value) - return self.__server.getTimePattern(name) elif command[1] == "addfailregex": value = command[2] self.__server.addFailRegex(name, value) @@ -229,10 +221,6 @@ class Transmitter: return self.__server.getLogPath(name) elif command[1] == "ignoreip": return self.__server.getIgnoreIP(name) - elif command[1] == "timeregex": - return self.__server.getTimeRegex(name) - elif command[1] == "timepattern": - return self.__server.getTimePattern(name) elif command[1] == "failregex": return self.__server.getFailRegex(name) elif command[1] == "ignoreregex":