]> granicus.if.org Git - python/commitdiff
#14814: Use correct comparison for IP addresses
authorHynek Schlawack <hs@ox.cx>
Mon, 4 Jun 2012 12:19:39 +0000 (14:19 +0200)
committerHynek Schlawack <hs@ox.cx>
Mon, 4 Jun 2012 12:19:39 +0000 (14:19 +0200)
ipaddress._BaseV4.is_unspecified() compared IP addresses using "in" which
fails.

Lib/ipaddress.py
Lib/test/test_ipaddress.py

index a8edcd1af053c242e6e1374a24cad1bacfcab478..25bcccdc8b55124e286197d4a72b4c3a4b431ddb 100644 (file)
@@ -1130,7 +1130,7 @@ class _BaseV4:
         """
         unspecified_address = IPv4Address('0.0.0.0')
         if isinstance(self, _BaseAddress):
-            return self in unspecified_address
+            return self == unspecified_address
         return (self.network_address == self.broadcast_address ==
                 unspecified_address)
 
index aff4ff9a7c765f6d6f47e8edab8e9cfe0ec69dba..5b7d013442691157aad59c57d72db1f8b7da4696 100644 (file)
@@ -837,6 +837,7 @@ class IpaddrUnitTest(unittest.TestCase):
         self.assertEqual(False, ipaddress.ip_network('128.0.0.0').is_loopback)
 
         # test addresses
+        self.assertEqual(True, ipaddress.ip_address('0.0.0.0').is_unspecified)
         self.assertEqual(True, ipaddress.ip_address('224.1.1.1').is_multicast)
         self.assertEqual(False, ipaddress.ip_address('240.0.0.0').is_multicast)