Bug#742393: libnet-server-coro-perl: uses Coro::Socket which is IPv4-only
Niko Tyni
ntyni at debian.org
Sun Mar 23 08:07:55 UTC 2014
Package: libnet-server-coro-perl
Version: 1.3-1
Tags: ipv6
Forwarded: https://rt.cpan.org/Ticket/Display.html?id=54948
Quoting the Coro::Socket documentation:
This module was written to imitate the IO::Socket::INET API, and
derive from it. Since IO::Socket::INET does not support IPv6, this
module does neither.
Therefore it is not recommended to use Coro::Socket in new
code. Instead, use AnyEvent::Socket and Coro::Handle [...]
lib/Net/Server/Proto/Coro.pm has
use base qw/Coro::Socket/;
and breaks if the underlying socket object is an IPv6 one.
% perl -MCoro -e 'use base qw/Net::Server::Coro/; __PACKAGE__->new->run; sub process_request { warn }'
2014/03/23-09:56:36 main (type Net::Server) starting! pid(15189)
Resolved [*]:20203 to [::]:20203, IPv6
Not including resolved host [0.0.0.0] IPv4 because it will be handled by [::] IPv6
Binding to TCP port 20203 on host :: with IPv6
[now connecting a TCP client in another window hangs, server outputs]
Bad arg length for Socket::unpack_sockaddr_in, length is 28, should be 16 at /usr/lib/perl5/Socket.pm line 830.
--
Niko Tyni ntyni at debian.org
More information about the pkg-perl-maintainers
mailing list