Skip Menu |

This queue is for tickets about the Net-Server CPAN distribution.

Report information
The Basics
Id: 100473
Status: new
Priority: 0/
Queue: Net-Server

People
Owner: Nobody in particular
Requestors: Mark.Martinec [...] ijs.si
Cc:
AdminCc:

Bug Information
Severity: Wishlist
Broken in: 2.008
Fixed in: (no value)



Subject: Switch from IO::Socket::INET6 to core modules IO::Socket::IP and Socket
I'd like to see that Net::Server switches from using an oldish IO::Socket::INET6 (and Socket6) and starts using IO::Socket::IP (and Socket) for the following reasons: - IO::Socket::IP is a Perl core module since Perl 5.19.8, (and works with older versions of perl just fine), the IO::Socket::INET6 and Socket6 are not core modules and need to be installed extra; - like IO::Socket::INET6, the newer IO::Socket::IP does support both IPv4 and IPv6 (but does not require Socket6); - IO::Socket::IP offers some functionality that is not available (or is difficult) with IO::Socket::INET6, like binding to a link-local IPv6 address (e.g. fe80::1%lo0 ), which may be desirable for implementing some net services; - the author of IO::Socket::INET6 (Shlomi Fish) is still around and does some support of his old module, but stated on more than one occasion that one should switch to a newer and better maintained IO::Socket::IP : https://rt.cpan.org/Public/Bug/Display.html?id=81125 https://rt.cpan.org/Public/Bug/Display.html?id=68282 2011-11-28 SHLOMIF: I should note that IO::Socket::IP aims to be a better alternative to IO::Socket::INET6 - several perl applications and modules have already switched to IO::Socket::IP (like IO::Socket::SSL, HTTP::Tiny, Net::HTTP, Mail::SpamAssassin, Amavis). Both modules can coexist, but it seems awkward dragging along the Socket6 and IO::Socket::INET6 just for the sake of Net::server; It would in principle be possible for Net::Server to use either the IO::Socket::IP or IO::Socket::INET6 or IO::Socket::INET depending on availability, although dropping support for IO::Socket::INET6 altogether can simplify logic in the code. Regardless of the Net::Server configuration one can decide to use IO::Socket::IP vs. IO::Socket::INET in the BEGIN phase based on availability, and avoid dynamic plumbing altogether. If IO::Socket::IP is successfully loaded, it should be used for all socket operations. If there is a decision to go for this proposal but the concern is lack of development time, I'm willing to prepare an initial patch to implement this.