On 03/12/2018 12:46 PM, Daniel P. Berrangé wrote:
On Mon, Mar 12, 2018 at 12:49:33PM +0000, Daniel P. Berrangé wrote:
From: "Daniel P. Berrange" <[email protected]>
The test-io-channel-socket.c file has some useful helper functions for
checking if a specific IP protocol is available. Other tests need to
perform similar kinds of checks to avoid running tests that will fail
due to missing IP protocols.
Reviewed-by: Marc-André Lureau <[email protected]>
Signed-off-by: Daniel P. Berrange <[email protected]>
---
+ if (socket_can_bind("::1") < 0) {
+ if (errno != EADDRNOTAVAIL) {
+ return -1;
+ }
+ } else {
+ *has_ipv6 = true;
+ }
+
Sigh, I should have kept the new code identical to the old code,
rather than trying to improve it, as this is in fact broken. The
socket_can_bind() is mistakenly returning '0' when EADDRNOTAVAIL
is set, so we always set the has_ipv4|6 vars to true.
It needs this squashed in:
The squash makes sense; with that, you can keep the R-b I added on the
series (I guess that shows I only read the code, not tried to run the
testsuite with the code applied, or I might have found this too).
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org