Red Hat Bugzilla – Bug 1280061
libuv IPv6 support
Last modified: 2017-04-26 18:44:41 EDT
Description of problem:
The Errata Tool flagged the OSE 3.1 libuv build:
usr/lib64/libuv.so.0.10 on x86_64 uses function inet_addr, which may impact IPv6 support
We need to verify if this is actually a problem or not.
This should not be a problem.
First off, libuv-0.10.34 is from the "stable" 0.10 branch which isn't seeing a lot of updates (.34 was tagged in Feb 2015). Newer versions don't use inet_addr at all, however that probably doesn't help us as I suspect using them would require an updated version of NodeJS, which we're not prepared to do just now.
It is a fairly important library as it's used for cross-platform connection handling, but as it turns out, we're not using it in a way that will be a problem with IPv6. Here are the three uses of inet_addr in this version:
./src/win/udp.c: mreq.imr_multiaddr.s_addr = inet_addr(multicast_addr);
Since we're not using it on Windows, not relevant.
./src/uv-common.c: addr.sin_addr.s_addr = inet_addr(ip);
This is in a function (uv_ip4_addr) that is explicitly for ipv4 addresses.
./src/unix/udp.c: mreq.imr_interface.s_addr = inet_addr(interface_addr);
This is from uv_udp_set_membership (http://docs.libuv.org/en/stable/udp.html#c.uv_udp_set_membership) which deals with multicast addresses. This would be a problem if we were using multicast features in an IPv6 context (and was rewritten a few months later to handle IPv6 properly), however neither Kibana nor the logging auth proxy have any need to use multicast.
So I think we can waive this for our purposes, but we can't recommend the RPM for usage outside our defined scope.