python / python/cpython

class _IPv6Constants._reserved_networks should include fec0::/10

Open
#136,832 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

stdlib type-bug
Dominant language
Python
Stars
77.2k
Forks
35.9k
PR merge metrics
PR metrics pending

Description

Bug report

This is a follow-up of: https://github.com/python/cpython/pull/136794

Bug description:

IPv6 address block fec0::/10 has been deprecated in 2004 as a "Site-Local scoped address prefix" and is now a `` (see Internet Protocol Version 6 Address Space and RFC 3879).

class _IPv6Constants._reserved_networks is still missing address block fec0::/10 from the list: https://github.com/python/cpython/blob/main/Lib/ipaddress.py#L2402-L2411

We should add that address block to the list and update the documentation (https://docs.python.org/3/library/ipaddress.html#ipaddress.IPv4Address.is_reserved)

The question is do we also:

  • remove the is_site_local property since according to RFC 3879, these addresses have been completely deprecated? (= breaking change)
  • keep the is_site_local property to avoid breaking changes, but always return False as there is no such address block anymore?
CPython versions tested on:

CPython main branch

Operating systems tested on:

Windows

Linked PRs
  • gh-151927

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in Lib/ipaddress.py at class _IPv6Constants._reserved_networks and review the linked follow-up PR gh-151927, then check the ipaddress documentation section referenced in the issue. Done means the fec0::/10 behavior and documentation are updated consistently, with the is_site_local compatibility question resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.