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.__asyncServer = AsyncServer(self.__transm)
|
||||||
self.__logLevel = None
|
self.__logLevel = None
|
||||||
self.__logTarget = None
|
self.__logTarget = None
|
||||||
|
self.__openTail = True # either open "logpath"s at the tail or parse from the beginning
|
||||||
# Set logging level
|
# Set logging level
|
||||||
self.setLogLevel(3)
|
self.setLogLevel(3)
|
||||||
self.setLogTarget("STDOUT")
|
self.setLogTarget("STDOUT")
|
||||||
|
@ -159,6 +160,12 @@ class Server:
|
||||||
|
|
||||||
def getIdleJail(self, name):
|
def getIdleJail(self, name):
|
||||||
return self.__jails.get(name).getIdle()
|
return self.__jails.get(name).getIdle()
|
||||||
|
|
||||||
|
def getJails(self):
|
||||||
|
return self.__jails
|
||||||
|
|
||||||
|
def getTransm(self):
|
||||||
|
return self.__transm
|
||||||
|
|
||||||
# Filter
|
# Filter
|
||||||
def addIgnoreIP(self, name, ip):
|
def addIgnoreIP(self, name, ip):
|
||||||
|
@ -171,7 +178,7 @@ class Server:
|
||||||
return self.__jails.getFilter(name).getIgnoreIP()
|
return self.__jails.getFilter(name).getIgnoreIP()
|
||||||
|
|
||||||
def addLogPath(self, name, fileName):
|
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):
|
def delLogPath(self, name, fileName):
|
||||||
self.__jails.getFilter(name).delLogPath(fileName)
|
self.__jails.getFilter(name).delLogPath(fileName)
|
||||||
|
@ -267,7 +274,23 @@ class Server:
|
||||||
|
|
||||||
def getActionUnban(self, name, action):
|
def getActionUnban(self, name, action):
|
||||||
return self.__jails.getAction(name).getAction(action).getActionUnban()
|
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
|
# Status
|
||||||
def status(self):
|
def status(self):
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -121,6 +121,10 @@ class Transmitter:
|
||||||
self.__server.setIdleJail(name, False)
|
self.__server.setIdleJail(name, False)
|
||||||
return self.__server.getIdleJail(name)
|
return self.__server.getIdleJail(name)
|
||||||
# Filter
|
# Filter
|
||||||
|
elif name == "opentail":
|
||||||
|
value = command[1]
|
||||||
|
self.__server.setOpenTail(value)
|
||||||
|
return self.__server.getOpenTail()
|
||||||
elif command[1] == "addignoreip":
|
elif command[1] == "addignoreip":
|
||||||
value = command[2]
|
value = command[2]
|
||||||
self.__server.addIgnoreIP(name, value)
|
self.__server.addIgnoreIP(name, value)
|
||||||
|
|
Loading…
Reference in New Issue