Bug 1280061 - libuv IPv6 support
libuv IPv6 support
Product: OpenShift Container Platform
Classification: Red Hat
Component: Logging (Show other bugs)
Unspecified Unspecified
unspecified Severity low
: ---
: ---
Assigned To: Luke Meyer
Xia Zhao
Depends On:
  Show dependency treegraph
Reported: 2015-11-10 16:02 EST by Brenton Leanhardt
Modified: 2017-04-26 18:44 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Brenton Leanhardt 2015-11-10 16:02:23 EST
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.
Comment 2 Luke Meyer 2015-11-11 08:08:36 EST
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.

Note You need to log in before you can comment on or make changes to this bug.