Description
Bug report
Bug description:
I'm seeing strange results with python 3.13 with the ipaddress.ip_address.reverse_pointer
attribute with the new improved textual representation of IPv4-mapped IPv6 addresses:
IP Address: ::FFFF:192.168.1.35
Results in a reverse_pointer
of:
5.3...1...8.6.1...2.9.1.f.f.f.f.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa
instead of the old:
3.2.1.0.8.a.0.c.f.f.f.f.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa
Python 3.13:
>>> import ipaddress
>>> ip = '::FFFF:192.168.1.35'
>>> ipaddress.ip_address(ip).reverse_pointer
'5.3...1...8.6.1...2.9.1.f.f.f.f.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa'
Python 3.12:
>>> import ipaddress
>>> ip = '::FFFF:192.168.1.35'
>>> ipaddress.ip_address(ip).reverse_pointer
'3.2.1.0.8.a.0.c.f.f.f.f.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa'
I'm not sure which one is more valid or if a pointer record is even relevant in the context of mapped addresses. The original way seems more correct to me if nothing for the fact that there are strange extra dots in the new output.
This is related to:
Issue: #87799
PR: #29345
Originally posted by @kellyjonbrazil in #87799 (comment)
CPython versions tested on:
3.13
Operating systems tested on:
Linux
Linked PRs
- gh-123409: fix
IPv6Address.reverse_pointer
output #123419 - [3.13] gh-123409: fix
IPv6Address.reverse_pointer
for IPv4-mapped addresses (GH-123419) #123606 - [3.9] gh-123409: fix
IPv6Address.reverse_pointer
for IPv4-mapped addresses (GH-123419) #135085 - [3.12] gh-123409: fix
IPv6Address.reverse_pointer
for IPv4-mapped addresses (GH-123419) #135086 - [3.11] gh-123409: fix
IPv6Address.reverse_pointer
for IPv4-mapped addresses (GH-123419) #135087 - [3.10] gh-123409: fix
IPv6Address.reverse_pointer
for IPv4-mapped addresses (GH-123419) #135088