From 143915212196a70d44b7ee30521977ff05c3be69 Mon Sep 17 00:00:00 2001 From: sebres Date: Fri, 28 Nov 2014 04:02:44 +0100 Subject: [PATCH] test cases extended (now correct) --- ChangeLog | 4 ++-- fail2ban/client/filterreader.py | 2 ++ fail2ban/tests/clientreadertestcase.py | 11 +++++++++++ fail2ban/tests/config/jail.conf | 14 ++++++++++++++ 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7c0c61c5..e466cec0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -14,8 +14,8 @@ ver. 0.9.2 (2014/XX/XXX) - wanna-be-released * $ typo in jail.conf. Thanks Skibbi. Debian bug #767255 * grep'ing for IP in *mail-whois-lines.conf should now match also at the begginning and EOL. Thanks Dean Lee - * failregex declared in jail was joined to single line (specifying of multiple - expressions was not possible). + * failregex declared direct in jail was joined to single line (specifying of + multiple expressions was not possible). - New Features: diff --git a/fail2ban/client/filterreader.py b/fail2ban/client/filterreader.py index fe657025..aff04f3b 100644 --- a/fail2ban/client/filterreader.py +++ b/fail2ban/client/filterreader.py @@ -50,6 +50,8 @@ class FilterReader(DefinitionInitConfigReader): def convert(self): stream = list() combinedopts = dict(list(self._opts.items()) + list(self._initOpts.items())) + if not len(combinedopts): + return stream; opts = CommandAction.substituteRecursiveTags(combinedopts) if not opts: raise ValueError('recursive tag definitions unable to be resolved') diff --git a/fail2ban/tests/clientreadertestcase.py b/fail2ban/tests/clientreadertestcase.py index 17a90cc8..31517f5d 100644 --- a/fail2ban/tests/clientreadertestcase.py +++ b/fail2ban/tests/clientreadertestcase.py @@ -425,6 +425,17 @@ class JailsReaderTest(LogCaptureTestCase): self.maxDiff = None self.assertEqual(sorted(comm_commands), sorted([['add', 'emptyaction', 'auto'], + ['add', 'test1addfailregex', 'auto'], + ['set', 'test1addfailregex', 'addfailregex', 'failure 1 '], + ['set', 'test1addfailregex', 'addfailregex', 'failure 2 '], + ['set', 'test1addfailregex', 'addignoreregex', 'ignore 1 '], + ['set', 'test1addfailregex', 'addignoreregex', 'ignore 2 '], + ['set', 'test1addfailregex', 'addfailregex', ''], + ['start', 'test1addfailregex'], + ['add', 'test2failregex', 'auto'], + ['set', 'test2failregex', 'addfailregex', 'failure 1 '], + ['set', 'test2failregex', 'addfailregex', 'failure 2 '], + ['start', 'test2failregex'], ['add', 'missinglogfiles', 'auto'], ['set', 'missinglogfiles', 'addfailregex', ''], ['add', 'brokenaction', 'auto'], diff --git a/fail2ban/tests/config/jail.conf b/fail2ban/tests/config/jail.conf index 0f6a28f0..c9ae6c54 100644 --- a/fail2ban/tests/config/jail.conf +++ b/fail2ban/tests/config/jail.conf @@ -13,6 +13,20 @@ failregex = ignoreregex = ignoreip = +[test1addfailregex] +enabled = true +filter = simple +addfailregex = failure 1 + failure 2 +addignoreregex = ignore 1 + ignore 2 + +[test2failregex] +enabled = true +filter = simple +failregex = failure 1 + failure 2 + [missinglogfiles] enabled = true logpath = /weapons/of/mass/destruction