Skip to content

Incorrect ipaddress.ip_address.reverse_pointer with improved textual representation of IPv4-mapped IPv6 addresses #123409

Closed
@kellyjonbrazil

Description

@kellyjonbrazil

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

@opavlyuk

Linked PRs

Metadata

Metadata

Assignees

Labels

stdlibPython modules in the Lib dirtype-bugAn unexpected behavior, bug, or error

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions