summaryrefslogtreecommitdiff
path: root/fail2ban/server/actions.py
diff options
context:
space:
mode:
authorLee Clemens <droid@lc-cs.com>2015-01-26 19:38:06 -0500
committerLee Clemens <droid@lc-cs.com>2015-01-26 19:38:06 -0500
commit486214585e131f8c442e4f3a710f066cae7ea1e8 (patch)
tree4cdad57b189eb7c194a8c40232b63d7581a9cf14 /fail2ban/server/actions.py
parentdfe4d02f6540fdb6879500589da798b621ea5ff2 (diff)
downloadfail2ban-486214585e131f8c442e4f3a710f066cae7ea1e8.tar.gz
Update extended status to accept additional argument, flavor
Default to as-in behavior, or flavor=="basic"
Diffstat (limited to 'fail2ban/server/actions.py')
-rw-r--r--fail2ban/server/actions.py27
1 files changed, 13 insertions, 14 deletions
diff --git a/fail2ban/server/actions.py b/fail2ban/server/actions.py
index f4d5c18b..3a1c9579 100644
--- a/fail2ban/server/actions.py
+++ b/fail2ban/server/actions.py
@@ -370,22 +370,21 @@ class Actions(JailThread, Mapping):
self._jail.name, name, aInfo, e,
exc_info=logSys.getEffectiveLevel()<=logging.DEBUG)
- @property
- def status(self):
+ def status(self, flavor="basic"):
"""Status of current and total ban counts and current banned IP list.
"""
- ret = [("Currently banned", self.__banManager.size()),
+ # TODO: Allow this list to be printed as 'status' output
+ supported_flavors = ["basic", "cymru"]
+ if flavor is None or flavor not in supported_flavors:
+ logSys.warning("Unsupported extended jail status flavor %r. Supported: %s" % (flavor, supported_flavors))
+ # Always print this information (basic)
+ ret = [("Currently banned", self.__banManager.size()),
("Total banned", self.__banManager.getBanTotal()),
("Banned IP list", self.__banManager.getBanList())]
- return ret
-
- @property
- def statusExtended(self):
- """Jail status plus banned IPs' ASN, Country and RIR
- """
- cymru_info = self.__banManager.getBanListExtendedCymruInfo()
- ret = self.status +\
- [("Banned ASN list", self.__banManager.geBanListExtendedASN(cymru_info)),
- ("Banned Country list", self.__banManager.geBanListExtendedCountry(cymru_info)),
- ("Banned RIR list", self.__banManager.geBanListExtendedRIR(cymru_info))]
+ if flavor == "cymru":
+ cymru_info = self.__banManager.getBanListExtendedCymruInfo()
+ ret += \
+ [("Banned ASN list", self.__banManager.geBanListExtendedASN(cymru_info)),
+ ("Banned Country list", self.__banManager.geBanListExtendedCountry(cymru_info)),
+ ("Banned RIR list", self.__banManager.geBanListExtendedRIR(cymru_info))]
return ret