summaryrefslogtreecommitdiff
path: root/fail2ban/tests/filtertestcase.py
diff options
context:
space:
mode:
Diffstat (limited to 'fail2ban/tests/filtertestcase.py')
-rw-r--r--fail2ban/tests/filtertestcase.py32
1 files changed, 31 insertions, 1 deletions
diff --git a/fail2ban/tests/filtertestcase.py b/fail2ban/tests/filtertestcase.py
index 9fea84af..a4d542ce 100644
--- a/fail2ban/tests/filtertestcase.py
+++ b/fail2ban/tests/filtertestcase.py
@@ -2105,6 +2105,20 @@ class DNSUtilsNetworkTests(unittest.TestCase):
self.assertTrue(ip6.isSingle)
self.assertTrue(asip('192.0.2.1').isIPv4)
self.assertTrue(id(asip(ip4)) == id(ip4))
+ # ::
+ ip6 = IPAddr('::')
+ self.assertTrue(ip6.isIPv6)
+ self.assertTrue(ip6.isSingle)
+ # ::/32
+ ip6 = IPAddr('::/32')
+ self.assertTrue(ip6.isIPv6)
+ self.assertFalse(ip6.isSingle)
+ # path as ID, conversion as unspecified, fallback to raw (cover confusion with the /CIDR):
+ for s in ('some/path/as/id', 'other-path/24', '1.2.3.4/path'):
+ r = IPAddr(s, IPAddr.CIDR_UNSPEC)
+ self.assertEqual(r.raw, s)
+ self.assertFalse(r.isIPv4)
+ self.assertFalse(r.isIPv6)
def test_IPAddr_Raw(self):
# raw string:
@@ -2243,6 +2257,18 @@ class DNSUtilsNetworkTests(unittest.TestCase):
self.assertFalse(IPAddr('2606:2800:220:1:248:1893:25c8:1', IPAddr.CIDR_RAW).isInNet(ip6net))
# invalid not in net:
self.assertFalse(IPAddr('xxx').isInNet(ip4net))
+ # different forms in ::/32:
+ ip6net = IPAddr('::/32')
+ self.assertTrue(IPAddr('::').isInNet(ip6net))
+ self.assertTrue(IPAddr('::1').isInNet(ip6net))
+ self.assertTrue(IPAddr('0000::').isInNet(ip6net))
+ self.assertTrue(IPAddr('0000::0000').isInNet(ip6net))
+ self.assertTrue(IPAddr('0000:0000:7777::').isInNet(ip6net))
+ self.assertTrue(IPAddr('0000::7777:7777:7777:7777:7777:7777').isInNet(ip6net))
+ self.assertTrue(IPAddr('0000:0000:ffff::').isInNet(ip6net))
+ self.assertTrue(IPAddr('0000::ffff:ffff:ffff:ffff:ffff:ffff').isInNet(ip6net))
+ self.assertFalse(IPAddr('0000:0001:ffff::').isInNet(ip6net))
+ self.assertFalse(IPAddr('1::').isInNet(ip6net))
def testIPAddr_Compare(self):
ip4 = [
@@ -2315,7 +2341,11 @@ class DNSUtilsNetworkTests(unittest.TestCase):
def testIPAddr_CIDR_Wrong(self):
# too many plen representations:
- self.assertRaises(ValueError, IPAddr, '2606:28ff:220:1:248:1893:25c8::/ffff::/::1')
+ s = '2606:28ff:220:1:248:1893:25c8::/ffff::/::1'
+ r = IPAddr(s)
+ self.assertEqual(r.raw, s)
+ self.assertFalse(r.isIPv4)
+ self.assertFalse(r.isIPv6)
def testIPAddr_CIDR_Repr(self):
self.assertEqual(["127.0.0.0/8", "::/32", "2001:db8::/32"],