From b3143c723d3002c63993f29f0fb1071102add54b Mon Sep 17 00:00:00 2001 From: Cyril Jaquier Date: Sun, 12 Nov 2006 21:57:26 +0000 Subject: [PATCH] - Fixed a bug in user defined regex/pattern date template git-svn-id: https://fail2ban.svn.sourceforge.net/svnroot/fail2ban/trunk@460 a942ae1a-1317-0410-a47c-b1dcaea8d605 --- server/datedetector.py | 3 +-- server/datetemplate.py | 4 ++-- testcases/datedetectortestcase.py | 15 +++++++++++++-- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/server/datedetector.py b/server/datedetector.py index 0b94d20f..1c886427 100644 --- a/server/datedetector.py +++ b/server/datedetector.py @@ -26,7 +26,6 @@ __license__ = "GPL" import time, logging -from datetemplate import DateTemplate from datestrptime import DateStrptime from datetai64n import DateTai64n from dateepoch import DateEpoch @@ -40,7 +39,7 @@ class DateDetector: def __init__(self): self.__lock = Lock() self.__templates = list() - self.__defTemplate = DateTemplate() + self.__defTemplate = DateStrptime() def addDefaultTemplate(self): # standard diff --git a/server/datetemplate.py b/server/datetemplate.py index c4bb1d12..dccd58f6 100644 --- a/server/datetemplate.py +++ b/server/datetemplate.py @@ -42,14 +42,14 @@ class DateTemplate: return self.__name def setRegex(self, regex): - self.__regex = regex + self.__regex = regex.strip() self.__cRegex = re.compile(regex) def getRegex(self): return self.__regex def setPattern(self, pattern): - self.__pattern = pattern + self.__pattern = pattern.strip() def getPattern(self): return self.__pattern diff --git a/testcases/datedetectortestcase.py b/testcases/datedetectortestcase.py index 7c534ea0..5f2f0b26 100644 --- a/testcases/datedetectortestcase.py +++ b/testcases/datedetectortestcase.py @@ -24,7 +24,7 @@ __date__ = "$Date: 2006-07-17 00:21:58 +0200 (Mon, 17 Jul 2006) $" __copyright__ = "Copyright (c) 2004 Cyril Jaquier" __license__ = "GPL" -import unittest, time +import unittest from server.datedetector import DateDetector from server.datetemplate import DateTemplate @@ -53,4 +53,15 @@ class DateDetectorTest(unittest.TestCase): self.assertEqual(self.__datedetector.getTime(log), date) self.assertEqual(self.__datedetector.getUnixTime(log), dateUnix) - \ No newline at end of file + + def testDefaultTempate(self): + self.__datedetector.setDefaultRegex("^\S{3}\s{1,2}\d{1,2} \d{2}:\d{2}:\d{2}") + self.__datedetector.setDefaultPattern("%b %d %H:%M:%S") + + log = "Jan 23 21:59:59 [sshd] error: PAM: Authentication failure" + date = [2005, 1, 23, 21, 59, 59, 1, 23, -1] + dateUnix = 1106513999.0 + + self.assertEqual(self.__datedetector.getTime(log), date) + self.assertEqual(self.__datedetector.getUnixTime(log), dateUnix) + \ No newline at end of file