diff --git a/fail2ban/server/actions.py b/fail2ban/server/actions.py index 581c5724..8e3bb50e 100644 --- a/fail2ban/server/actions.py +++ b/fail2ban/server/actions.py @@ -288,7 +288,7 @@ class Actions(JailThread, Mapping): if not isinstance(ip, IPAddr): ipa = IPAddr(ip) if not ipa.isSingle: # subnet (mask/cidr) or raw (may be dns/hostname): - ips = list(filter(ipa.contains, self.banManager.getBanList())) + ips = list(filter(ipa.contains, self.banManager.getBannedIPs())) if ips: return self.removeBannedIP(ips, db, ifexists) # not found: diff --git a/fail2ban/server/banmanager.py b/fail2ban/server/banmanager.py index d3e89820..bb9f729f 100644 --- a/fail2ban/server/banmanager.py +++ b/fail2ban/server/banmanager.py @@ -115,6 +115,9 @@ class BanManager: ) for t in lst] return [t[0].getID() for t in lst] + def getBannedIPs(self): + return list(sorted(ticket.getIP() for ticket in self.__banList.values())) + ## # Returns a iterator to ban list (used in reload, so idle). #