error log: osmo_sock_init2_multiaddr() v4/v6 mix
Provide some more information for the error case when local and remote
addresses mix v4 and v6.
Change-Id: I0fd12b08e0788ce3af6dc519ff8c82ad196a115f
diff --git a/src/core/socket.c b/src/core/socket.c
index 9e0f84e..1b14794 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -776,7 +776,11 @@
if (((flags & OSMO_SOCK_F_BIND) && (flags & OSMO_SOCK_F_CONNECT)) &&
!addrinfo_has_in6addr_any((const struct addrinfo **)res_loc, local_hosts_cnt) &&
(loc_has_v4addr != rem_has_v4addr || loc_has_v6addr != rem_has_v6addr)) {
- LOGP(DLGLOBAL, LOGL_ERROR, "Invalid v4 vs v6 in local vs remote addresses\n");
+ LOGP(DLGLOBAL, LOGL_ERROR, "Invalid v4 vs v6 in local vs remote addresses: "
+ "local:%s%s remote:%s%s\n",
+ loc_has_v4addr ? " v4" : "", loc_has_v6addr ? " v6" : "",
+ rem_has_v4addr ? " v4" : "", rem_has_v6addr ? " v6" : ""
+ );
rc = -EINVAL;
goto ret_freeaddrinfo;
}
diff --git a/tests/socket/socket_sctp_test.err b/tests/socket/socket_sctp_test.err
index 996d092..7583a2a 100644
--- a/tests/socket/socket_sctp_test.err
+++ b/tests/socket/socket_sctp_test.err
@@ -1,8 +1,8 @@
invalid: you have to specify either BIND or CONNECT flags
-Invalid v4 vs v6 in local vs remote addresses
-Invalid v4 vs v6 in local vs remote addresses
+Invalid v4 vs v6 in local vs remote addresses: local: v4 remote: v6
+Invalid v4 vs v6 in local vs remote addresses: local: v6 remote: v4
invalid: you have to specify either BIND or CONNECT flags
-Invalid v4 vs v6 in local vs remote addresses
-Invalid v4 vs v6 in local vs remote addresses
+Invalid v4 vs v6 in local vs remote addresses: local: v4 remote: v6
+Invalid v4 vs v6 in local vs remote addresses: local: v6 remote: v4
getaddrinfo(::1, 0) failed: Address family for hostname not supported
getaddrinfo(127.0.0.1, 0) failed: Address family for hostname not supported