osmo_sock_get_ip_and_port(): Support IPv6 sockets

Change-Id: I255a71cf047fd022285fc9aa2f24e5070aa3920b
diff --git a/src/socket.c b/src/socket.c
index 03c932c..50d59e5 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -1072,16 +1072,16 @@
  */
 int osmo_sock_get_ip_and_port(int fd, char *ip, size_t ip_len, char *port, size_t port_len, bool local)
 {
-	struct sockaddr sa;
+	struct sockaddr_storage sa;
 	socklen_t len = sizeof(sa);
 	char ipbuf[INET6_ADDRSTRLEN], portbuf[6];
 	int rc;
 
-	rc = local ? getsockname(fd, &sa, &len) : getpeername(fd, &sa, &len);
+	rc = local ? getsockname(fd, (struct sockaddr*)&sa, &len) : getpeername(fd, (struct sockaddr*)&sa, &len);
 	if (rc < 0)
 		return rc;
 
-	rc = getnameinfo(&sa, len, ipbuf, sizeof(ipbuf),
+	rc = getnameinfo((const struct sockaddr*)&sa, len, ipbuf, sizeof(ipbuf),
 			 portbuf, sizeof(portbuf),
 			 NI_NUMERICHOST | NI_NUMERICSERV);
 	if (rc < 0)