On Mon, Mar 12, 2018 at 12:49:33PM +0000, Daniel P. Berrangé wrote:
From: "Daniel P. Berrange" <address@hidden>
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 <address@hidden>
Signed-off-by: Daniel P. Berrange <address@hidden>
---
+ 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: