mirror of https://github.com/fail2ban/fail2ban
ENH: Allow 255.255.255.0 style mask for ignoreip
parent
350d2dfd8e
commit
9928f1df96
|
@ -288,6 +288,9 @@ class Filter(JailThread):
|
||||||
# IP address without CIDR mask
|
# IP address without CIDR mask
|
||||||
if len(s) == 1:
|
if len(s) == 1:
|
||||||
s.insert(1, '32')
|
s.insert(1, '32')
|
||||||
|
elif "." in s[1]: # 255.255.255.0 style mask
|
||||||
|
s[1] = len(re.search(
|
||||||
|
"(?<=b)1+", bin(DNSUtils.addr2bin(s[1]))).group())
|
||||||
s[1] = long(s[1])
|
s[1] = long(s[1])
|
||||||
try:
|
try:
|
||||||
a = DNSUtils.cidr(s[0], s[1])
|
a = DNSUtils.cidr(s[0], s[1])
|
||||||
|
|
|
@ -188,6 +188,15 @@ class IgnoreIP(LogCaptureTestCase):
|
||||||
self.assertFalse(self.filter.inIgnoreIPList('192.168.1.255'))
|
self.assertFalse(self.filter.inIgnoreIPList('192.168.1.255'))
|
||||||
self.assertFalse(self.filter.inIgnoreIPList('192.168.0.255'))
|
self.assertFalse(self.filter.inIgnoreIPList('192.168.0.255'))
|
||||||
|
|
||||||
|
def testIgnoreIPMask(self):
|
||||||
|
self.filter.addIgnoreIP('192.168.1.0/255.255.255.128')
|
||||||
|
self.assertTrue(self.filter.inIgnoreIPList('192.168.1.0'))
|
||||||
|
self.assertTrue(self.filter.inIgnoreIPList('192.168.1.1'))
|
||||||
|
self.assertTrue(self.filter.inIgnoreIPList('192.168.1.127'))
|
||||||
|
self.assertFalse(self.filter.inIgnoreIPList('192.168.1.128'))
|
||||||
|
self.assertFalse(self.filter.inIgnoreIPList('192.168.1.255'))
|
||||||
|
self.assertFalse(self.filter.inIgnoreIPList('192.168.0.255'))
|
||||||
|
|
||||||
def testIgnoreInProcessLine(self):
|
def testIgnoreInProcessLine(self):
|
||||||
self.filter.addIgnoreIP('192.168.1.0/25')
|
self.filter.addIgnoreIP('192.168.1.0/25')
|
||||||
self.filter.addFailRegex('<HOST>')
|
self.filter.addFailRegex('<HOST>')
|
||||||
|
|
Loading…
Reference in New Issue