diff options
author | Nicholas Ngai <nicholas@ngai.me> | 2021-10-12 17:47:39 -0700 |
---|---|---|
committer | Nicholas Ngai <nicholas@ngai.me> | 2021-10-12 17:47:39 -0700 |
commit | f6ee2a7d58d0fbfbffefb255c2374a3990578fed (patch) | |
tree | 1b3464f4efd4a80b9e3391f4c1fddd934235221d /src | |
parent | 2cd16e3d565905ab11a925a03a8191e6627350e6 (diff) | |
download | slirp-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>
Diffstat (limited to 'src')
-rw-r--r-- | src/socket.c | 33 |
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); /* |