From 8868e555c2c07cfd9b4f562f7e2f1d009164a3d2 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Sun, 27 Nov 2011 12:00:22 -0500 Subject: [PATCH] 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) --- server/server.py | 27 +++++++++++++++++++++++++-- server/transmitter.py | 4 ++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/server/server.py b/server/server.py index 12c041e5..95fe1f56 100644 --- a/server/server.py +++ b/server/server.py @@ -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: diff --git a/server/transmitter.py b/server/transmitter.py index 27e966a6..afae0733 100644 --- a/server/transmitter.py +++ b/server/transmitter.py @@ -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)