Skip to content

Commit deb0020

Browse files
authored
gh-115766: Fix IPv4Interface.is_unspecified (GH-137326)
1 parent bc4996c commit deb0020

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

Lib/ipaddress.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1479,6 +1479,10 @@ def with_hostmask(self):
14791479
return '%s/%s' % (self._string_from_ip_int(self._ip),
14801480
self.hostmask)
14811481

1482+
@property
1483+
def is_unspecified(self):
1484+
return self._ip == 0 and self.network.is_unspecified
1485+
14821486

14831487
class IPv4Network(_BaseV4, _BaseNetwork):
14841488

Lib/test/test_ipaddress.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2269,6 +2269,10 @@ def testReservedIpv4(self):
22692269
self.assertEqual(False, ipaddress.ip_network('240.0.0.0').is_multicast)
22702270
self.assertEqual(True, ipaddress.ip_network('240.0.0.0').is_reserved)
22712271

2272+
self.assertTrue(ipaddress.ip_interface('0.0.0.0/32').is_unspecified)
2273+
self.assertFalse(ipaddress.ip_interface('0.0.0.0/31').is_unspecified)
2274+
self.assertFalse(ipaddress.ip_interface('1.2.3.4/32').is_unspecified)
2275+
22722276
self.assertEqual(True, ipaddress.ip_interface(
22732277
'192.168.1.1/17').is_private)
22742278
self.assertEqual(False, ipaddress.ip_network('192.169.0.0').is_private)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix :attr:`!ipaddress.IPv4Interface.is_unspecified`.

0 commit comments

Comments
 (0)