Skip Menu |

This queue is for tickets about the IO CPAN distribution.

Report information
The Basics
Id: 66308
Status: resolved
Priority: 0/
Queue: IO

Owner: Nobody in particular
Requestors: quanah.gibsonmount [...]

Bug Information
Severity: Important
Broken in: 1.25
Fixed in: (no value)

Subject: IO::Socket fails when IPv4 hostname appears after IPv6 hostname
Download (untitled) / with headers
text/plain 979b
We're playing with enabling IPv6 support, and I've found an interesting bug in IO::Socket I thought I'd let others be aware of. If in your /etc/hosts file, the IPv6 addresses are listed prior to the IPv4 host address, IO::Socket will time out. For example, if I have: localhost ::1 localhost fe00::0 ipv6-localnet ff00::0 ipv6-mcastprefix ff02::1 ipv6-allnodes ff02::2 ipv6-allrouters myipv4-host IP::Socket will fail when used by Net::LDAP If I move the address prior to all of the IPv6 pieces, it works fine. Other IPv4 tools work without issue. So if you see weird behavior out of Net::LDAP on IPv6 enabled systems even if you are only dealing with IPv4, this may be the cause. The problem has to do with the hostname. Specifying a URI of ldap://<hostname>:389/ fails. Specifying a URI with the IPv4 address works. So something is broken in how IO::Socket is determining the IPv4 address for the hostname.
The issue is actually in Perl core. The inet_aton function is broken.

This service is sponsored and maintained by Best Practical Solutions and runs on infrastructure.

Please report any issues with to