From 95506a169f19f954e2bdecf67896695976bbaf5a Mon Sep 17 00:00:00 2001 From: Pavel Roskin Date: Sun, 19 Mar 2017 12:39:01 -0700 Subject: [PATCH] Log socket fd in g_sck_accept(), fix AF_UNIX logging --- common/os_calls.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/common/os_calls.c b/common/os_calls.c index a0d8ce1a..20cc6c23 100644 --- a/common/os_calls.c +++ b/common/os_calls.c @@ -1121,6 +1121,7 @@ g_sck_accept(int sck, char *addr, int addr_bytes, char *port, int port_bytes) #if defined(XRDP_ENABLE_IPV6) struct sockaddr_in6 sock_addr_in6; #endif + struct sockaddr_un sock_addr_un; } sock_info; socklen_t sock_len = sizeof(sock_info); @@ -1138,7 +1139,9 @@ g_sck_accept(int sck, char *addr, int addr_bytes, char *port, int port_bytes) g_snprintf(addr, addr_bytes, "%s", inet_ntoa(sock_addr_in->sin_addr)); g_snprintf(port, port_bytes, "%d", ntohs(sock_addr_in->sin_port)); - + g_snprintf(msg, sizeof(msg), + "AF_INET connection received from %s port %s", + addr, port); break; } @@ -1151,24 +1154,34 @@ g_sck_accept(int sck, char *addr, int addr_bytes, char *port, int port_bytes) inet_ntop(sock_addr_in6->sin6_family, &sock_addr_in6->sin6_addr, addr, addr_bytes); g_snprintf(port, port_bytes, "%d", ntohs(sock_addr_in6->sin6_port)); + g_snprintf(msg, sizeof(msg), + "AF_INET6 connection received from %s port %s", + addr, port); break; } #endif case AF_UNIX: + { + g_strncpy(addr, "", addr_bytes - 1); + g_strncpy(port, "", port_bytes - 1); + g_snprintf(msg, sizeof(msg), "AF_UNIX connection received"); + break; + } default: { g_strncpy(addr, "", addr_bytes - 1); g_strncpy(port, "", port_bytes - 1); + g_snprintf(msg, sizeof(msg), + "connection received, unknown socket family %d", + sock_info.sock_addr.sa_family); break; } } - g_snprintf(msg, sizeof(msg), "A connection received from: %s port %s", - addr, port); - log_message(LOG_LEVEL_INFO, "%s", msg); + log_message(LOG_LEVEL_INFO, "Socket %d: %s", ret, msg); }