On 10/14/2013 03:31 PM, Kai Schaetzl wrote: > Kevin A. McGrail wrote on Sun, 13 Oct 2013 14:14:02 -0400: >> Preferably a perl module IO::Socket::IP is used (if it is available) for >> network communication regardless of a protocol family - for DNS queries, >> by spamd server side, and by a client code in >> Mail::SpamAssassin::Client. As a fallback when the module >> IO::Socket::IP is unavailable, an older module IO::Socket::INET6 is >> used, or eventually the IO::Socket::INET is used as last resort. > > Yes, it's falling back to INET now and it seems to work. But ... > Alternate repo's for Centos do have INET6 available, but unfortunately no > IO-Socket-IP. As it seems this gives better performance or whatever for > IPv4 queries as well.
For an IPv4-only host the IO::Socket::IP does not offer any real benefits over IO::Socket::INET, performance should be the same. For developers its value is that it handles both protocol families in one clean interface, and that it is actively maintained. For a dual-stack host or an IPv6-only host the benefit of IO::Socket::IP over IO::Socket::INET6 is substantial: it supports some essential features that are unavailable in the now mostly unsupported IO::Socket::INET6, like ability to control socket option IPV6_V6ONLY and flags like AI_ADDRCONFIG, AI_PASSIVE, using a core module Socket instead of a legacy Socket6. Mark