mirror of https://github.com/fail2ban/fail2ban
Merge branch 'master' into 0.10
# Conflicts: # fail2ban/client/jailreader.py # fail2ban/helpers.pypull/1461/head
commit
4dcf68ca1f
|
@ -34,7 +34,7 @@ from .filterreader import FilterReader
|
||||||
from .actionreader import ActionReader
|
from .actionreader import ActionReader
|
||||||
from ..version import version
|
from ..version import version
|
||||||
from ..helpers import getLogger
|
from ..helpers import getLogger
|
||||||
from ..helpers import splitcommaspace
|
from ..helpers import splitwords
|
||||||
|
|
||||||
# Gets the instance of the logger.
|
# Gets the instance of the logger.
|
||||||
logSys = getLogger(__name__)
|
logSys = getLogger(__name__)
|
||||||
|
@ -219,7 +219,7 @@ class JailReader(ConfigReader):
|
||||||
elif opt == "maxretry":
|
elif opt == "maxretry":
|
||||||
stream.append(["set", self.__name, "maxretry", value])
|
stream.append(["set", self.__name, "maxretry", value])
|
||||||
elif opt == "ignoreip":
|
elif opt == "ignoreip":
|
||||||
for ip in splitcommaspace(value):
|
for ip in splitwords(value):
|
||||||
stream.append(["set", self.__name, "addignoreip", ip])
|
stream.append(["set", self.__name, "addignoreip", ip])
|
||||||
elif opt == "findtime":
|
elif opt == "findtime":
|
||||||
stream.append(["set", self.__name, "findtime", value])
|
stream.append(["set", self.__name, "findtime", value])
|
||||||
|
|
|
@ -133,15 +133,15 @@ def excepthook(exctype, value, traceback):
|
||||||
"Unhandled exception in Fail2Ban:", exc_info=True)
|
"Unhandled exception in Fail2Ban:", exc_info=True)
|
||||||
return sys.__excepthook__(exctype, value, traceback)
|
return sys.__excepthook__(exctype, value, traceback)
|
||||||
|
|
||||||
def splitcommaspace(s):
|
def splitwords(s):
|
||||||
"""Helper to split on any comma or space
|
"""Helper to split words on any comma, space, or a new line
|
||||||
|
|
||||||
Returns empty list if input is empty (or None) and filters
|
Returns empty list if input is empty (or None) and filters
|
||||||
out empty entries
|
out empty entries
|
||||||
"""
|
"""
|
||||||
if not s:
|
if not s:
|
||||||
return []
|
return []
|
||||||
return filter(bool, re.split('[ ,]', s))
|
return filter(bool, map(str.strip, re.split('[ ,\n]+', s)))
|
||||||
|
|
||||||
|
|
||||||
class BgService(object):
|
class BgService(object):
|
||||||
|
|
|
@ -33,7 +33,7 @@ from glob import glob
|
||||||
from StringIO import StringIO
|
from StringIO import StringIO
|
||||||
|
|
||||||
from ..helpers import formatExceptionInfo, mbasename, TraceBack, FormatterWithTraceBack, getLogger
|
from ..helpers import formatExceptionInfo, mbasename, TraceBack, FormatterWithTraceBack, getLogger
|
||||||
from ..helpers import splitcommaspace
|
from ..helpers import splitwords
|
||||||
from ..server.datetemplate import DatePatternRegex
|
from ..server.datetemplate import DatePatternRegex
|
||||||
from ..server.mytime import MyTime
|
from ..server.mytime import MyTime
|
||||||
|
|
||||||
|
@ -57,13 +57,15 @@ class HelpersTest(unittest.TestCase):
|
||||||
# might be fragile due to ' vs "
|
# might be fragile due to ' vs "
|
||||||
self.assertEqual(args, "('Very bad', None)")
|
self.assertEqual(args, "('Very bad', None)")
|
||||||
|
|
||||||
def testsplitcommaspace(self):
|
def testsplitwords(self):
|
||||||
self.assertEqual(splitcommaspace(None), [])
|
self.assertEqual(splitwords(None), [])
|
||||||
self.assertEqual(splitcommaspace(''), [])
|
self.assertEqual(splitwords(''), [])
|
||||||
self.assertEqual(splitcommaspace(' '), [])
|
self.assertEqual(splitwords(' '), [])
|
||||||
self.assertEqual(splitcommaspace('1'), ['1'])
|
self.assertEqual(splitwords('1'), ['1'])
|
||||||
self.assertEqual(splitcommaspace(' 1 2 '), ['1', '2'])
|
self.assertEqual(splitwords(' 1 2 '), ['1', '2'])
|
||||||
self.assertEqual(splitcommaspace(' 1, 2 , '), ['1', '2'])
|
self.assertEqual(splitwords(' 1, 2 , '), ['1', '2'])
|
||||||
|
self.assertEqual(splitwords(' 1\n 2'), ['1', '2'])
|
||||||
|
self.assertEqual(splitwords(' 1\n 2, 3'), ['1', '2', '3'])
|
||||||
|
|
||||||
|
|
||||||
def _getSysPythonVersion():
|
def _getSysPythonVersion():
|
||||||
|
|
Loading…
Reference in New Issue