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
Yaroslav Halchenko 2011-11-27 12:00:22 -05:00
parent c19e172b4d
commit 8868e555c2
2 changed files with 29 additions and 2 deletions

View File

@ -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:

View File

@ -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)