Skip to content

Commit a93716f

Browse files
[3.13] gh-124217, ipaddress: Add RFC 9637 reserved IPv6 block 3fff::/20 (GH-124240) (#124282)
gh-124217, ipaddress: Add RFC 9637 reserved IPv6 block `3fff::/20` (GH-124240) (cherry picked from commit db6eb36) Signed-off-by: y5c4l3 <[email protected]> Co-authored-by: Y5 <[email protected]>
1 parent 9e218af commit a93716f

File tree

3 files changed

+5
-0
lines changed

3 files changed

+5
-0
lines changed

Lib/ipaddress.py

+2
Original file line numberDiff line numberDiff line change
@@ -2383,6 +2383,8 @@ class _IPv6Constants:
23832383
IPv6Network('2001:db8::/32'),
23842384
# IANA says N/A, let's consider it not globally reachable to be safe
23852385
IPv6Network('2002::/16'),
2386+
# RFC 9637: https://www.rfc-editor.org/rfc/rfc9637.html#section-6-2.2
2387+
IPv6Network('3fff::/20'),
23862388
IPv6Network('fc00::/7'),
23872389
IPv6Network('fe80::/10'),
23882390
]

Lib/test/test_ipaddress.py

+2
Original file line numberDiff line numberDiff line change
@@ -2427,6 +2427,8 @@ def testReservedIpv6(self):
24272427
self.assertTrue(ipaddress.ip_address('2001:30::').is_global)
24282428
self.assertFalse(ipaddress.ip_address('2001:40::').is_global)
24292429
self.assertFalse(ipaddress.ip_address('2002::').is_global)
2430+
# gh-124217: conform with RFC 9637
2431+
self.assertFalse(ipaddress.ip_address('3fff::').is_global)
24302432

24312433
# some generic IETF reserved addresses
24322434
self.assertEqual(True, ipaddress.ip_address('100::').is_reserved)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add RFC 9637 reserved IPv6 block ``3fff::/20`` in :mod:`ipaddress` module.

0 commit comments

Comments
 (0)