From ba8f012637b2b6d6ddb211d379dffc4834ff0152 Mon Sep 17 00:00:00 2001 From: Enrico Labedzki Date: Sun, 28 Apr 2013 22:18:55 +0200 Subject: [PATCH] fixed little things --- ChangeLog | 6 +++--- server/datedetector.py | 1 + server/datetemplate.py | 15 ++++++++++++--- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0224431f..47f213bd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,10 +4,10 @@ |_| \__,_|_|_/___|_.__/\__,_|_||_| ================================================================================ -Fail2Ban (version 0.8.9) 2013/04/28 +Fail2Ban (version 0.8.9) 2013/04/XX ================================================================================ -ver. 0.8.9 (2013/04/28) - wanna-be-stable +ver. 0.8.9 (2013/04/XX) - wanna-be-stable ---------- Although primarily a bugfix release, it incorporates many new @@ -69,7 +69,7 @@ Borreli, blotus: * [f336d9f] Add filter for webmin. Closes gh-99. - Enhancements: Enrico Labedzki - * [???????] Added Datew format for ASSP SMTP Proxy. + * [1524b07] Added Datew format for ASSP SMTP Proxy. Steven Hiscocks * [3d6791f] Ensure restart of Actions after a check fails occurs consistently. Closes gh-172. diff --git a/server/datedetector.py b/server/datedetector.py index 8ebdc949..33270105 100644 --- a/server/datedetector.py +++ b/server/datedetector.py @@ -165,6 +165,7 @@ class DateDetector: template = DateASSPlike() template.setName("ASSP like date format") template.setRegex("^[a-zA-Z]{3}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}") + template.setPattern("%b-%d-%y %H:%M:%S") self._appendTemplate(template) finally: self.__lock.release() diff --git a/server/datetemplate.py b/server/datetemplate.py index 55f6d7e4..dccd6419 100644 --- a/server/datetemplate.py +++ b/server/datetemplate.py @@ -224,9 +224,18 @@ class DateASSPlike(DateTemplate): def __init__(self): DateTemplate.__init__(self) + self.__pattern = "" + + def setPattern(self, pattern): + self.__pattern = pattern.strip() + + def getPattern(self): + return self.__pattern def getDate(self, line): - # there is no need to parse the date. - # ASSP doesn't buffer the log output. - return MyTime.gmtime() + date = None + dateMatch = self.matchDate(line) + if dateMatch: + date = list(time.strptime(dateMatch.group(), self.getPattern())) + return date