mirror of https://github.com/django/django.git
Fixed #26378 -- Allowed a left byte of zero in mixed IPv4/IPv6 validation.
This commit is contained in:
parent
157d7f1f1d
commit
32c8e43ef1
|
@ -54,7 +54,8 @@ def clean_ipv6_address(ip_str, unpack_ipv4=False,
|
|||
|
||||
for index in range(len(hextets)):
|
||||
# Remove leading zeroes
|
||||
hextets[index] = hextets[index].lstrip('0')
|
||||
if '.' not in hextets[index]:
|
||||
hextets[index] = hextets[index].lstrip('0')
|
||||
if not hextets[index]:
|
||||
hextets[index] = '0'
|
||||
|
||||
|
|
|
@ -50,6 +50,8 @@ class TestUtilsIPv6(unittest.TestCase):
|
|||
self.assertEqual(clean_ipv6_address('::ffff:0a0a:0a0a'), '::ffff:10.10.10.10')
|
||||
self.assertEqual(clean_ipv6_address('::ffff:1234:1234'), '::ffff:18.52.18.52')
|
||||
self.assertEqual(clean_ipv6_address('::ffff:18.52.18.52'), '::ffff:18.52.18.52')
|
||||
self.assertEqual(clean_ipv6_address('::ffff:0.52.18.52'), '::ffff:0.52.18.52')
|
||||
self.assertEqual(clean_ipv6_address('::ffff:0.0.0.0'), '::ffff:0.0.0.0')
|
||||
|
||||
def test_unpacks_ipv4(self):
|
||||
self.assertEqual(clean_ipv6_address('::ffff:0a0a:0a0a', unpack_ipv4=True), '10.10.10.10')
|
||||
|
|
Loading…
Reference in New Issue