mirror of https://github.com/fail2ban/fail2ban
RF+NF: expose jails and transm through get-s, NF: opentail config for server
by default all logs are opened at the tail. with opentail set to True, it can be controlled (used in upcoming test, might be later on improved and probably this is relevant for lack of effect of findtime on startup)_tent/expose_banned_ips
parent
c19e172b4d
commit
8868e555c2
|
@ -51,6 +51,7 @@ class Server:
|
|||
self.__asyncServer = AsyncServer(self.__transm)
|
||||
self.__logLevel = None
|
||||
self.__logTarget = None
|
||||
self.__openTail = True # either open "logpath"s at the tail or parse from the beginning
|
||||
# Set logging level
|
||||
self.setLogLevel(3)
|
||||
self.setLogTarget("STDOUT")
|
||||
|
@ -159,6 +160,12 @@ class Server:
|
|||
|
||||
def getIdleJail(self, name):
|
||||
return self.__jails.get(name).getIdle()
|
||||
|
||||
def getJails(self):
|
||||
return self.__jails
|
||||
|
||||
def getTransm(self):
|
||||
return self.__transm
|
||||
|
||||
# Filter
|
||||
def addIgnoreIP(self, name, ip):
|
||||
|
@ -171,7 +178,7 @@ class Server:
|
|||
return self.__jails.getFilter(name).getIgnoreIP()
|
||||
|
||||
def addLogPath(self, name, fileName):
|
||||
self.__jails.getFilter(name).addLogPath(fileName, True)
|
||||
self.__jails.getFilter(name).addLogPath(fileName, self.__openTail)
|
||||
|
||||
def delLogPath(self, name, fileName):
|
||||
self.__jails.getFilter(name).delLogPath(fileName)
|
||||
|
@ -267,7 +274,23 @@ class Server:
|
|||
|
||||
def getActionUnban(self, name, action):
|
||||
return self.__jails.getAction(name).getAction(action).getActionUnban()
|
||||
|
||||
|
||||
def setOpenTail(self, value):
|
||||
if isinstance(value, str):
|
||||
value = value.lower()
|
||||
if value in ["0", "false"]:
|
||||
value = False
|
||||
elif value in ["1", "True"]:
|
||||
value = True
|
||||
else:
|
||||
raise ValueError("Do not know how to treat %r as bool" % (value,))
|
||||
else:
|
||||
value = bool(value)
|
||||
self.__openTail = value
|
||||
|
||||
def getOpenTail(self):
|
||||
return self.__openTail
|
||||
|
||||
# Status
|
||||
def status(self):
|
||||
try:
|
||||
|
|
|
@ -121,6 +121,10 @@ class Transmitter:
|
|||
self.__server.setIdleJail(name, False)
|
||||
return self.__server.getIdleJail(name)
|
||||
# Filter
|
||||
elif name == "opentail":
|
||||
value = command[1]
|
||||
self.__server.setOpenTail(value)
|
||||
return self.__server.getOpenTail()
|
||||
elif command[1] == "addignoreip":
|
||||
value = command[2]
|
||||
self.__server.addIgnoreIP(name, value)
|
||||
|
|
Loading…
Reference in New Issue