Skip Menu |
 

This queue is for tickets about the IO CPAN distribution.

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

People
Owner: Nobody in particular
Requestors: quanah.gibsonmount [...] gmail.com
Cc:
AdminCc:

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: 127.0.0.1 localhost ::1 localhost fe00::0 ipv6-localnet ff00::0 ipv6-mcastprefix ff02::1 ipv6-allnodes ff02::2 ipv6-allrouters 10.11.12.13 myipv4-host.name.domain myipv4-host IP::Socket will fail when used by Net::LDAP If I move the 10.11.12.13 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 Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.