mirror of https://github.com/fail2ban/fail2ban
non-static (get|set)BaseDir for Configurator. fixes #160
ConfigReader's (get|set)BaseDir are no longer static as a result of .d/ support RFingpull/163/head
parent
72b06479a5
commit
f643e2e907
|
@ -43,15 +43,19 @@ class Configurator:
|
||||||
self.__fail2ban = Fail2banReader()
|
self.__fail2ban = Fail2banReader()
|
||||||
self.__jails = JailsReader()
|
self.__jails = JailsReader()
|
||||||
|
|
||||||
#@staticmethod
|
def setBaseDir(self, folderName):
|
||||||
def setBaseDir(folderName):
|
self.__fail2ban.setBaseDir(folderName)
|
||||||
ConfigReader.setBaseDir(folderName)
|
self.__jails.setBaseDir(folderName)
|
||||||
setBaseDir = staticmethod(setBaseDir)
|
|
||||||
|
|
||||||
#@staticmethod
|
def getBaseDir(self):
|
||||||
def getBaseDir():
|
fail2ban_basedir = self.__fail2ban.getBaseDir()
|
||||||
return ConfigReader.getBaseDir()
|
jails_basedir = self.__jails.getBaseDir()
|
||||||
getBaseDir = staticmethod(getBaseDir)
|
if fail2ban_basedir != jails_basedir:
|
||||||
|
logSys.error("fail2ban.conf and jails.conf readers have differing "
|
||||||
|
"basedirs: %r and %r. "
|
||||||
|
"Returning the one for fail2ban.conf"
|
||||||
|
% (fail2ban_basedir, jails_basedir))
|
||||||
|
return fail2ban_basedir
|
||||||
|
|
||||||
def readEarly(self):
|
def readEarly(self):
|
||||||
self.__fail2ban.read()
|
self.__fail2ban.read()
|
||||||
|
|
|
@ -25,6 +25,7 @@ import os, shutil, tempfile, unittest
|
||||||
from client.configreader import ConfigReader
|
from client.configreader import ConfigReader
|
||||||
from client.jailreader import JailReader
|
from client.jailreader import JailReader
|
||||||
from client.jailsreader import JailsReader
|
from client.jailsreader import JailsReader
|
||||||
|
from client.configurator import Configurator
|
||||||
|
|
||||||
class ConfigReaderTest(unittest.TestCase):
|
class ConfigReaderTest(unittest.TestCase):
|
||||||
|
|
||||||
|
@ -146,3 +147,21 @@ class JailsReaderTest(unittest.TestCase):
|
||||||
self.assertEqual(comm_commands[-1][0], 'start')
|
self.assertEqual(comm_commands[-1][0], 'start')
|
||||||
# TODO: make sure that all of the jails have actions assigned,
|
# TODO: make sure that all of the jails have actions assigned,
|
||||||
# otherwise it makes little to no sense
|
# otherwise it makes little to no sense
|
||||||
|
|
||||||
|
def testConfigurator(self):
|
||||||
|
configurator = Configurator()
|
||||||
|
configurator.setBaseDir('config')
|
||||||
|
self.assertEqual(configurator.getBaseDir(), 'config')
|
||||||
|
|
||||||
|
configurator.readEarly()
|
||||||
|
opts = configurator.getEarlyOptions()
|
||||||
|
# our current default settings
|
||||||
|
self.assertEqual(opts['socket'], '/var/run/fail2ban/fail2ban.sock')
|
||||||
|
self.assertEqual(opts['pidfile'], '/var/run/fail2ban/fail2ban.pid')
|
||||||
|
|
||||||
|
# and if we force change configurator's fail2ban's baseDir
|
||||||
|
# there should be an error message (test visually ;) --
|
||||||
|
# otherwise just a code smoke test)
|
||||||
|
configurator._Configurator__jails.setBaseDir('/tmp')
|
||||||
|
self.assertEqual(configurator._Configurator__jails.getBaseDir(), '/tmp')
|
||||||
|
self.assertEqual(configurator.getBaseDir(), 'config')
|
||||||
|
|
Loading…
Reference in New Issue