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

Owner: Nobody in particular
Requestors: Mark.Martinec [...]

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 : 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.

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

Please report any issues with to