mirror of https://github.com/fail2ban/fail2ban
- Added a set/get for "failtime"
git-svn-id: https://fail2ban.svn.sourceforge.net/svnroot/fail2ban/trunk@311 a942ae1a-1317-0410-a47c-b1dcaea8d6050.x
parent
9f2d901040
commit
846a3d0477
171
server/server.py
171
server/server.py
|
@ -62,7 +62,10 @@ class Server:
|
||||||
self.transm.stop()
|
self.transm.stop()
|
||||||
|
|
||||||
def addJail(self, name):
|
def addJail(self, name):
|
||||||
self.jails[name] = Jail(name)
|
if self.jails.has_key(name):
|
||||||
|
raise ServerDuplicateJail(name)
|
||||||
|
else:
|
||||||
|
self.jails[name] = Jail(name)
|
||||||
|
|
||||||
def delJail(self, name):
|
def delJail(self, name):
|
||||||
if self.jails.has_key(name):
|
if self.jails.has_key(name):
|
||||||
|
@ -88,6 +91,18 @@ class Server:
|
||||||
for jail in self.jails.copy():
|
for jail in self.jails.copy():
|
||||||
self.stopJail(jail)
|
self.stopJail(jail)
|
||||||
|
|
||||||
|
def getAction(self, name):
|
||||||
|
if self.jails.has_key(name):
|
||||||
|
return self.jails[name].getAction()
|
||||||
|
else:
|
||||||
|
raise ServerUnknownJail(name)
|
||||||
|
|
||||||
|
def getFilter(self, name):
|
||||||
|
if self.jails.has_key(name):
|
||||||
|
return self.jails[name].getFilter()
|
||||||
|
else:
|
||||||
|
raise ServerUnknownJail(name)
|
||||||
|
|
||||||
def isActive(self, name):
|
def isActive(self, name):
|
||||||
if self.jails.has_key(name):
|
if self.jails.has_key(name):
|
||||||
return self.jails[name].isActive()
|
return self.jails[name].isActive()
|
||||||
|
@ -113,179 +128,98 @@ class Server:
|
||||||
self.jails[name].getFilter().setLogPath(file)
|
self.jails[name].getFilter().setLogPath(file)
|
||||||
|
|
||||||
def getLogPath(self, name):
|
def getLogPath(self, name):
|
||||||
if self.jails.has_key(name):
|
return self.getFilter(name).getLogPath()
|
||||||
return self.jails[name].getFilter().getLogPath()
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def setTimeRegex(self, name, value):
|
def setTimeRegex(self, name, value):
|
||||||
if self.jails.has_key(name):
|
self.getFilter(name).setTimeRegex(value)
|
||||||
self.jails[name].getFilter().setTimeRegex(value)
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def getTimeRegex(self, name):
|
def getTimeRegex(self, name):
|
||||||
if self.jails.has_key(name):
|
return self.getFilter(name).getTimeRegex()
|
||||||
return self.jails[name].getFilter().getTimeRegex()
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def setTimePattern(self, name, value):
|
def setTimePattern(self, name, value):
|
||||||
if self.jails.has_key(name):
|
self.getFilter(name).setTimePattern(value)
|
||||||
self.jails[name].getFilter().setTimePattern(value)
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def getTimePattern(self, name):
|
def getTimePattern(self, name):
|
||||||
if self.jails.has_key(name):
|
return self.getFilter(name).getTimePattern()
|
||||||
return self.jails[name].getFilter().getTimePattern()
|
|
||||||
else:
|
def setFindTime(self, name, value):
|
||||||
raise ServerUnknownJail(name)
|
self.getFilter(name).setFindTime(value)
|
||||||
|
|
||||||
|
def getFindTime(self):
|
||||||
|
return self.getFilter(name).getFindTime()
|
||||||
|
|
||||||
def setFailRegex(self, name, value):
|
def setFailRegex(self, name, value):
|
||||||
if self.jails.has_key(name):
|
self.getFilter(name).setFailRegex(value)
|
||||||
self.jails[name].getFilter().setFailRegex(value)
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def getFailRegex(self, name):
|
def getFailRegex(self, name):
|
||||||
if self.jails.has_key(name):
|
return self.getFilter(name).getFailRegex()
|
||||||
return self.jails[name].getFilter().getFailRegex()
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def setMaxRetry(self, name, value):
|
def setMaxRetry(self, name, value):
|
||||||
if self.jails.has_key(name):
|
self.getFilter(name).setMaxRetry(value)
|
||||||
self.jails[name].getFilter().setMaxRetry(value)
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def getMaxRetry(self, name):
|
def getMaxRetry(self, name):
|
||||||
if self.jails.has_key(name):
|
return self.getFilter(name).getMaxRetry()
|
||||||
return self.jails[name].getFilter().getMaxRetry()
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def setMaxTime(self, name, value):
|
def setMaxTime(self, name, value):
|
||||||
if self.jails.has_key(name):
|
self.getFilter(name).setMaxTime(value)
|
||||||
self.jails[name].getFilter().setMaxTime(value)
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def getMaxTime(self, name):
|
def getMaxTime(self, name):
|
||||||
if self.jails.has_key(name):
|
return self.getFilter(name).getMaxTime()
|
||||||
return self.jails[name].getFilter().getMaxTime()
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
# Action
|
# Action
|
||||||
def addAction(self, name, value):
|
def addAction(self, name, value):
|
||||||
if self.jails.has_key(name):
|
self.getAction(name).addAction(value)
|
||||||
self.jails[name].getAction().addAction(value)
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def getLastAction(self, name):
|
def getLastAction(self, name):
|
||||||
if self.jails.has_key(name):
|
return self.getAction(name).getLastAction()
|
||||||
return self.jails[name].getAction().getLastAction()
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def delAction(self, name, value):
|
def delAction(self, name, value):
|
||||||
if self.jails.has_key(name):
|
self.getAction(name).delAction(value)
|
||||||
self.jails[name].getAction().delAction(value)
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def setCInfo(self, name, action, key, value):
|
def setCInfo(self, name, action, key, value):
|
||||||
if self.jails.has_key(name):
|
self.getAction(name).getAction(action).setCInfo(key, value)
|
||||||
self.jails[name].getAction().getAction(action).setCInfo(key, value)
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def getCInfo(self, name, action, key):
|
def getCInfo(self, name, action, key):
|
||||||
if self.jails.has_key(name):
|
return self.getAction(name).getAction(action).getCInfo(key)
|
||||||
return self.jails[name].getAction().getAction(action).getCInfo(key)
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def delCInfo(self, name, action, key):
|
def delCInfo(self, name, action, key):
|
||||||
if self.jails.has_key(name):
|
self.getAction(name).getAction(action).delCInfo(key)
|
||||||
self.jails[name].getAction().getAction(action).delCInfo(key)
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def setBanTime(self, name, value):
|
def setBanTime(self, name, value):
|
||||||
if self.jails.has_key(name):
|
self.getAction(name).setBanTime(value)
|
||||||
self.jails[name].getAction().setBanTime(value)
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def getBanTime(self, name):
|
def getBanTime(self, name):
|
||||||
if self.jails.has_key(name):
|
return self.getAction(name).getBanTime()
|
||||||
return self.jails[name].getAction().getBanTime()
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def setActionStart(self, name, action, value):
|
def setActionStart(self, name, action, value):
|
||||||
if self.jails.has_key(name):
|
self.getAction(name).getAction(action).setActionStart(value)
|
||||||
self.jails[name].getAction().getAction(action).setActionStart(value)
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def getActionStart(self, name, action):
|
def getActionStart(self, name, action):
|
||||||
if self.jails.has_key(name):
|
return self.getAction(name).getAction(action).getActionStart()
|
||||||
return self.jails[name].getAction().getAction(action).getActionStart()
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def setActionStop(self, name, action, value):
|
def setActionStop(self, name, action, value):
|
||||||
if self.jails.has_key(name):
|
self.getAction(name).getAction(action).setActionStop(value)
|
||||||
self.jails[name].getAction().getAction(action).setActionStop(value)
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def getActionStop(self, name, action):
|
def getActionStop(self, name, action):
|
||||||
if self.jails.has_key(name):
|
return self.getAction(name).getAction(action).getActionStop()
|
||||||
return self.jails[name].getAction().getAction(action).getActionStop()
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def setActionCheck(self, name, action, value):
|
def setActionCheck(self, name, action, value):
|
||||||
if self.jails.has_key(name):
|
self.getAction(name).getAction(action).setActionCheck(value)
|
||||||
self.jails[name].getAction().getAction(action).setActionCheck(value)
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def getActionCheck(self, name, action):
|
def getActionCheck(self, name, action):
|
||||||
if self.jails.has_key(name):
|
return self.getAction(name).getAction(action).getActionCheck()
|
||||||
return self.jails[name].getAction().getAction(action).getActionCheck()
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def setActionBan(self, name, action, value):
|
def setActionBan(self, name, action, value):
|
||||||
if self.jails.has_key(name):
|
self.getAction(name).getAction(action).setActionBan(value)
|
||||||
self.jails[name].getAction().getAction(action).setActionBan(value)
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def getActionBan(self, name, action):
|
def getActionBan(self, name, action):
|
||||||
if self.jails.has_key(name):
|
return self.getAction(name).getAction(action).getActionBan()
|
||||||
return self.jails[name].getAction().getAction(action).getActionBan()
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def setActionUnban(self, name, action, value):
|
def setActionUnban(self, name, action, value):
|
||||||
if self.jails.has_key(name):
|
self.getAction(name).getAction(action).setActionUnban(value)
|
||||||
self.jails[name].getAction().getAction(action).setActionUnban(value)
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
def getActionUnban(self, name, action):
|
def getActionUnban(self, name, action):
|
||||||
if self.jails.has_key(name):
|
return self.getAction(name).getAction(action).getActionUnban()
|
||||||
return self.jails[name].getAction().getAction(action).getActionUnban()
|
|
||||||
else:
|
|
||||||
raise ServerUnknownJail(name)
|
|
||||||
|
|
||||||
# Status
|
# Status
|
||||||
def status(self):
|
def status(self):
|
||||||
|
@ -439,6 +373,9 @@ class Server:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
class ServerDuplicateJail(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
class ServerUnknownJail(Exception):
|
class ServerUnknownJail(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
|
@ -149,6 +149,10 @@ class Transmitter:
|
||||||
value = action[2]
|
value = action[2]
|
||||||
self.server.setMaxTime(name, int(value))
|
self.server.setMaxTime(name, int(value))
|
||||||
return self.server.getMaxTime(name)
|
return self.server.getMaxTime(name)
|
||||||
|
elif action[1] == "findtime":
|
||||||
|
value = action[2]
|
||||||
|
self.server.setFindTime(name, int(value))
|
||||||
|
return self.server.getFindTime(name)
|
||||||
elif action[1] == "maxretry":
|
elif action[1] == "maxretry":
|
||||||
value = action[2]
|
value = action[2]
|
||||||
self.server.setMaxRetry(name, int(value))
|
self.server.setMaxRetry(name, int(value))
|
||||||
|
@ -201,7 +205,7 @@ class Transmitter:
|
||||||
value = action[3]
|
value = action[3]
|
||||||
self.server.setActionUnban(name, act, value)
|
self.server.setActionUnban(name, act, value)
|
||||||
return self.server.getActionUnban(name, act)
|
return self.server.getActionUnban(name, act)
|
||||||
raise Exception("Invalid command (no set action)")
|
raise Exception("Invalid command (no set action or not yet implemented)")
|
||||||
|
|
||||||
def actionGet(self, action):
|
def actionGet(self, action):
|
||||||
name = action[0]
|
name = action[0]
|
||||||
|
@ -211,7 +215,7 @@ class Transmitter:
|
||||||
# Filter
|
# Filter
|
||||||
if action[1] == "logpath":
|
if action[1] == "logpath":
|
||||||
return self.server.getLogPath(name)
|
return self.server.getLogPath(name)
|
||||||
raise Exception("Invalid command (no get action)")
|
raise Exception("Invalid command (no get action or not yet implemented)")
|
||||||
|
|
||||||
def status(self, action):
|
def status(self, action):
|
||||||
if len(action) == 0:
|
if len(action) == 0:
|
||||||
|
|
Loading…
Reference in New Issue