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