On Mar 3, 2011, at 12:03 , Quanah Gibson-Mount wrote: > --On Wednesday, March 02, 2011 9:56 PM -0600 Graham Barr <gb...@pobox.com> > wrote: > >>> After a bit of debugging, the root problem is Perl's implementation of >>> inet_aton. I've filed a bug with Perl core. >> >> I think it is partly some fault of Net::LDAP >> >> Net::LDAP will use IO::Socket::INET or IO::Socket::INET6 to connect >> depending on if the inet6 option is passed to connect >> >> ::INET will only connect to v4 addresses but I believe ::INET6 will >> connect to either. But there is no guarantee ::INET6 exists >> >> Hm, I wonder if we should just select the default connecting class by >> >> my $connect_class = eval { require IO::Socket::INET6 } ? >> "IO::Socket::INET6" : "IO::Socket::INET"; > > Hi Graham, > > That may indeed fix Net::LDAP's behavior, but any other Perl module out there > that ends up calling IO::Socket::INET which then goes and calls inet_aton has > the possibility of hitting this issue. So I do think it would be great if it > gets fixed at the Perl core level as well. ;)
But ::INET itself, IIRC, makes assumptions that it is connecting to a v4 address. so I do not think just changing inet_aton will solve the problem Graham.