aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Ngai <nicholas@ngai.me>2021-10-12 17:47:39 -0700
committerNicholas Ngai <nicholas@ngai.me>2021-10-12 17:47:39 -0700
commitf6ee2a7d58d0fbfbffefb255c2374a3990578fed (patch)
tree1b3464f4efd4a80b9e3391f4c1fddd934235221d
parent2cd16e3d565905ab11a925a03a8191e6627350e6 (diff)
downloadslirp-f6ee2a7d58d0fbfbffefb255c2374a3990578fed.zip
slirp-f6ee2a7d58d0fbfbffefb255c2374a3990578fed.tar.gz
slirp-f6ee2a7d58d0fbfbffefb255c2374a3990578fed.tar.bz2
socket: Add debug args for tcpx_listen (inet and Unix sockets)
Signed-off-by: Nicholas Ngai <nicholas@ngai.me>
-rw-r--r--src/socket.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/socket.c b/src/socket.c
index 09ce6bf..e423875 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -769,6 +769,39 @@ struct socket *tcpx_listen(Slirp *slirp,
socklen_t addrlen;
DEBUG_CALL("tcpx_listen");
+ /* AF_INET6 addresses are bigger than AF_INET, so this is big enough. */
+ char addrstr[INET6_ADDRSTRLEN];
+ char portstr[6];
+ int ret;
+ switch (haddr->sa_family) {
+ case AF_INET:
+ case AF_INET6:
+ ret = getnameinfo(haddr, haddrlen, addrstr, sizeof(addrstr), portstr, sizeof(portstr), NI_NUMERICHOST|NI_NUMERICSERV);
+ g_assert(ret == 0);
+ DEBUG_ARG("hfamily = INET");
+ DEBUG_ARG("haddr = %s", addrstr);
+ DEBUG_ARG("hport = %s", portstr);
+ break;
+#ifndef _WIN32
+ case AF_UNIX:
+ DEBUG_ARG("hfamily = UNIX");
+ DEBUG_ARG("hpath = %s", ((struct sockaddr_un *) haddr)->sun_path);
+ break;
+#endif
+ default:
+ g_assert_not_reached();
+ }
+ switch (laddr->sa_family) {
+ case AF_INET:
+ case AF_INET6:
+ ret = getnameinfo(laddr, laddrlen, addrstr, sizeof(addrstr), portstr, sizeof(portstr), NI_NUMERICHOST|NI_NUMERICSERV);
+ g_assert(ret == 0);
+ DEBUG_ARG("laddr = %s", addrstr);
+ DEBUG_ARG("lport = %s", portstr);
+ break;
+ default:
+ g_assert_not_reached();
+ }
DEBUG_ARG("flags = %x", flags);
/*