Skip to content

Commit fcfe786

Browse files
[3.12] gh-124217, ipaddress: Add RFC 9637 reserved IPv6 block 3fff::/20 (GH-124240) (#124283)
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 8606a2e commit fcfe786

File tree

3 files changed

+5
-0
lines changed

3 files changed

+5
-0
lines changed

Lib/ipaddress.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2347,6 +2347,8 @@ class _IPv6Constants:
23472347
IPv6Network('2001:db8::/32'),
23482348
# IANA says N/A, let's consider it not globally reachable to be safe
23492349
IPv6Network('2002::/16'),
2350+
# RFC 9637: https://www.rfc-editor.org/rfc/rfc9637.html#section-6-2.2
2351+
IPv6Network('3fff::/20'),
23502352
IPv6Network('fc00::/7'),
23512353
IPv6Network('fe80::/10'),
23522354
]

Lib/test/test_ipaddress.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2408,6 +2408,8 @@ def testReservedIpv6(self):
24082408
self.assertTrue(ipaddress.ip_address('2001:30::').is_global)
24092409
self.assertFalse(ipaddress.ip_address('2001:40::').is_global)
24102410
self.assertFalse(ipaddress.ip_address('2002::').is_global)
2411+
# gh-124217: conform with RFC 9637
2412+
self.assertFalse(ipaddress.ip_address('3fff::').is_global)
24112413

24122414
# some generic IETF reserved addresses
24132415
self.assertEqual(True, ipaddress.ip_address('100::').is_reserved)
Lines changed: 1 addition & 0 deletions
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)