bpo-35734: ipaddress: remove unused methods (GH-11591)
This commit is contained in:
parent
c88feceb44
commit
e59ec1b05d
|
@ -1077,9 +1077,6 @@ class _BaseV4:
|
|||
# Equivalent to 255.255.255.255 or 32 bits of 1's.
|
||||
_ALL_ONES = (2**IPV4LENGTH) - 1
|
||||
|
||||
# the valid octets for host and netmasks. only useful for IPv4.
|
||||
_valid_mask_octets = frozenset({255, 254, 252, 248, 240, 224, 192, 128, 0})
|
||||
|
||||
_max_prefixlen = IPV4LENGTH
|
||||
# There are only a handful of valid v4 netmasks, so we cache them all
|
||||
# when constructed (see _make_netmask()).
|
||||
|
@ -1182,58 +1179,6 @@ class _BaseV4:
|
|||
"""
|
||||
return '.'.join(map(str, ip_int.to_bytes(4, 'big')))
|
||||
|
||||
def _is_valid_netmask(self, netmask):
|
||||
"""Verify that the netmask is valid.
|
||||
|
||||
Args:
|
||||
netmask: A string, either a prefix or dotted decimal
|
||||
netmask.
|
||||
|
||||
Returns:
|
||||
A boolean, True if the prefix represents a valid IPv4
|
||||
netmask.
|
||||
|
||||
"""
|
||||
mask = netmask.split('.')
|
||||
if len(mask) == 4:
|
||||
try:
|
||||
for x in mask:
|
||||
if int(x) not in self._valid_mask_octets:
|
||||
return False
|
||||
except ValueError:
|
||||
# Found something that isn't an integer or isn't valid
|
||||
return False
|
||||
for idx, y in enumerate(mask):
|
||||
if idx > 0 and y > mask[idx - 1]:
|
||||
return False
|
||||
return True
|
||||
try:
|
||||
netmask = int(netmask)
|
||||
except ValueError:
|
||||
return False
|
||||
return 0 <= netmask <= self._max_prefixlen
|
||||
|
||||
def _is_hostmask(self, ip_str):
|
||||
"""Test if the IP string is a hostmask (rather than a netmask).
|
||||
|
||||
Args:
|
||||
ip_str: A string, the potential hostmask.
|
||||
|
||||
Returns:
|
||||
A boolean, True if the IP string is a hostmask.
|
||||
|
||||
"""
|
||||
bits = ip_str.split('.')
|
||||
try:
|
||||
parts = [x for x in map(int, bits) if x in self._valid_mask_octets]
|
||||
except ValueError:
|
||||
return False
|
||||
if len(parts) != len(bits):
|
||||
return False
|
||||
if parts[0] < parts[-1]:
|
||||
return True
|
||||
return False
|
||||
|
||||
def _reverse_pointer(self):
|
||||
"""Return the reverse DNS pointer name for the IPv4 address.
|
||||
|
||||
|
|
|
@ -1040,27 +1040,12 @@ class IpaddrUnitTest(unittest.TestCase):
|
|||
ipv4_zero_netmask = ipaddress.IPv4Interface('1.2.3.4/0')
|
||||
self.assertEqual(int(ipv4_zero_netmask.network.netmask), 0)
|
||||
self.assertEqual(ipv4_zero_netmask._prefix_from_prefix_string('0'), 0)
|
||||
self.assertTrue(ipv4_zero_netmask._is_valid_netmask('0'))
|
||||
self.assertTrue(ipv4_zero_netmask._is_valid_netmask('0.0.0.0'))
|
||||
self.assertFalse(ipv4_zero_netmask._is_valid_netmask('invalid'))
|
||||
|
||||
ipv6_zero_netmask = ipaddress.IPv6Interface('::1/0')
|
||||
self.assertEqual(int(ipv6_zero_netmask.network.netmask), 0)
|
||||
self.assertEqual(ipv6_zero_netmask._prefix_from_prefix_string('0'), 0)
|
||||
|
||||
def testIPv4NetAndHostmasks(self):
|
||||
net = self.ipv4_network
|
||||
self.assertFalse(net._is_valid_netmask('invalid'))
|
||||
self.assertTrue(net._is_valid_netmask('128.128.128.128'))
|
||||
self.assertFalse(net._is_valid_netmask('128.128.128.127'))
|
||||
self.assertFalse(net._is_valid_netmask('128.128.128.255'))
|
||||
self.assertTrue(net._is_valid_netmask('255.128.128.128'))
|
||||
|
||||
self.assertFalse(net._is_hostmask('invalid'))
|
||||
self.assertTrue(net._is_hostmask('128.255.255.255'))
|
||||
self.assertFalse(net._is_hostmask('255.255.255.255'))
|
||||
self.assertFalse(net._is_hostmask('1.2.3.4'))
|
||||
|
||||
def testIPv4Net(self):
|
||||
net = ipaddress.IPv4Network('127.0.0.0/0.0.0.255')
|
||||
self.assertEqual(net.prefixlen, 24)
|
||||
|
||||
|
|
Loading…
Reference in New Issue