diff options
author | Lee Clemens <droid@lc-cs.com> | 2015-01-26 19:38:06 -0500 |
---|---|---|
committer | Lee Clemens <droid@lc-cs.com> | 2015-01-26 19:38:06 -0500 |
commit | 486214585e131f8c442e4f3a710f066cae7ea1e8 (patch) | |
tree | 4cdad57b189eb7c194a8c40232b63d7581a9cf14 /fail2ban/server/actions.py | |
parent | dfe4d02f6540fdb6879500589da798b621ea5ff2 (diff) | |
download | fail2ban-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.py | 27 |
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 |