diff -urN strace-4.0.orig/config.h.in strace-4.0/config.h.in --- strace-4.0.orig/config.h.in Mon Aug 16 14:53:44 1999 +++ strace-4.0/config.h.in Mon Aug 16 15:37:36 1999 @@ -108,6 +108,9 @@ /* Define if you have the getdents function. */ #undef HAVE_GETDENTS +/* Define if you have the inet_ntop function. */ +#undef HAVE_INET_NTOP + /* Define if you have the mctl function. */ #undef HAVE_MCTL diff -urN strace-4.0.orig/configure.in strace-4.0/configure.in --- strace-4.0.orig/configure.in Mon Aug 16 14:53:44 1999 +++ strace-4.0/configure.in Mon Aug 16 15:37:28 1999 @@ -125,7 +125,7 @@ AC_HEADER_MAJOR AC_SIG_ATOMIC_T AC_CHECK_LIB(nsl, main) -AC_CHECK_FUNCS(sigaction strerror strsignal pread sys_siglist _sys_siglist getdents mctl putpmsg prctl sendmsg) +AC_CHECK_FUNCS(sigaction strerror strsignal pread sys_siglist _sys_siglist getdents mctl putpmsg prctl sendmsg inet_ntop) AC_CHECK_HEADERS(sys/filio.h sys/acl.h sys/asynch.h sys/door.h sys/stream.h sys/tiuser.h sys/sysconfig.h asm/sigcontext.h ioctls.h sys/ioctl.h sys/ptrace.h termio.h) AC_DECL_SYS_ERRLIST AC_DECL_SYS_SIGLIST diff -urN strace-4.0.orig/net.c strace-4.0/net.c --- strace-4.0.orig/net.c Mon Aug 16 14:53:44 1999 +++ strace-4.0/net.c Mon Aug 16 15:40:02 1999 @@ -311,6 +311,10 @@ struct sockaddr sa; struct sockaddr_in *sin = (struct sockaddr_in *) &sa; struct sockaddr_un sau; +#ifdef HAVE_INET_NTOP + struct sockaddr_in6 sa6; + char string_addr[100]; +#endif #ifdef LINUX struct sockaddr_ipx sipx; #endif @@ -340,6 +344,19 @@ tprintf("sin_port=htons(%u), sin_addr=inet_addr(\"%s\")}", ntohs(sin->sin_port), inet_ntoa(sin->sin_addr)); break; +#ifdef HAVE_INET_NTOP + case AF_INET6: + if (umove(tcp, addr, &sa6) < 0) + tprintf("{sin6_family=AF_INET6, ...}"); + else + { + tprintf("{sin6_family=AF_INET6, "); + inet_ntop(AF_INET6, &sa6.sin6_addr, string_addr, sizeof(string_addr)); + tprintf("sin6_port=htons(%u), inet_pton(AF_INET6, \"%s\", &sin6_addr), sin6_flowinfo=htonl(%u)}", + ntohs(sa6.sin6_port), string_addr, ntohl(sa6.sin6_flowinfo)); + } + break; +#endif #if defined(AF_IPX) && defined(linux) case AF_IPX: if (umove(tcp, addr, &sipx)<0)