mirror of
https://github.com/python/cpython.git
synced 2025-12-10 11:00:14 +00:00
bpo-35734: ipaddress: remove unused methods (GH-11591)
This commit is contained in:
parent
c88feceb44
commit
e59ec1b05d
2 changed files with 1 additions and 71 deletions
|
|
@ -1077,9 +1077,6 @@ class _BaseV4:
|
||||||
# Equivalent to 255.255.255.255 or 32 bits of 1's.
|
# Equivalent to 255.255.255.255 or 32 bits of 1's.
|
||||||
_ALL_ONES = (2**IPV4LENGTH) - 1
|
_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
|
_max_prefixlen = IPV4LENGTH
|
||||||
# There are only a handful of valid v4 netmasks, so we cache them all
|
# There are only a handful of valid v4 netmasks, so we cache them all
|
||||||
# when constructed (see _make_netmask()).
|
# when constructed (see _make_netmask()).
|
||||||
|
|
@ -1182,58 +1179,6 @@ class _BaseV4:
|
||||||
"""
|
"""
|
||||||
return '.'.join(map(str, ip_int.to_bytes(4, 'big')))
|
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):
|
def _reverse_pointer(self):
|
||||||
"""Return the reverse DNS pointer name for the IPv4 address.
|
"""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')
|
ipv4_zero_netmask = ipaddress.IPv4Interface('1.2.3.4/0')
|
||||||
self.assertEqual(int(ipv4_zero_netmask.network.netmask), 0)
|
self.assertEqual(int(ipv4_zero_netmask.network.netmask), 0)
|
||||||
self.assertEqual(ipv4_zero_netmask._prefix_from_prefix_string('0'), 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')
|
ipv6_zero_netmask = ipaddress.IPv6Interface('::1/0')
|
||||||
self.assertEqual(int(ipv6_zero_netmask.network.netmask), 0)
|
self.assertEqual(int(ipv6_zero_netmask.network.netmask), 0)
|
||||||
self.assertEqual(ipv6_zero_netmask._prefix_from_prefix_string('0'), 0)
|
self.assertEqual(ipv6_zero_netmask._prefix_from_prefix_string('0'), 0)
|
||||||
|
|
||||||
def testIPv4NetAndHostmasks(self):
|
def testIPv4Net(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'))
|
|
||||||
|
|
||||||
net = ipaddress.IPv4Network('127.0.0.0/0.0.0.255')
|
net = ipaddress.IPv4Network('127.0.0.0/0.0.0.255')
|
||||||
self.assertEqual(net.prefixlen, 24)
|
self.assertEqual(net.prefixlen, 24)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue