New submission from Thomas Kriechbaumer <kriechbau...@gmail.com>:

ipaddress.IPv4Address and ipaddress.IPv6Address provide a is_private function 
that indicates if the address (or network) is part of a "private" IP range, as 
designated by the IANA special-use registry.

The current documentation is as follows:
> is_private
>    True if the address is allocated for private networks. See 
> iana-ipv4-special-registry (for IPv4) or iana-ipv6-special-registry (for 
> IPv6).


However, IPv4-mapped IPv6 addresses are currently being reported as "private" 
by this function (see 
https://github.com/python/cpython/commit/22c31764262b02338265a059c738b8d24fd9a0e4#diff-0fc57874e463b95dbdfe6f80ae918ea1R1869).

I consider this a bug or at least counter-intuitive, because e.g. 
::ffff:8.8.8.8 is most definitely NOT a private IP address, and yet the 
ipaddress.is_private function reports True.
The IANA special-use registry does not contain any references to "being 
private" for the ::ffff region. It just designates it to be used for 
IPv4-mapped address.

----------
components: Library (Lib)
messages: 316213
nosy: Thomas Kriechbaumer
priority: normal
severity: normal
status: open
title: ipaddress is_private misleading for IPv4 mapped IPv6 addresses
versions: Python 3.4, Python 3.5, Python 3.6, Python 3.7, Python 3.8

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue33433>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to