From b37b66996eb9d809c6d6eda3834cea82c64a76b3 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 11 Apr 2016 06:56:14 -0400 Subject: [PATCH] LDAP: Print port in sdap_print_server --- src/providers/ldap/sdap_async.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/providers/ldap/sdap_async.c b/src/providers/ldap/sdap_async.c index 6cc32323b4a4c43023a50e10a3a003bc4b2b8994..d15a2215a6191ed5fd6cd01a030b31bd098ea074 100644 --- a/src/providers/ldap/sdap_async.c +++ b/src/providers/ldap/sdap_async.c @@ -1104,7 +1104,9 @@ static void sdap_print_server(struct sdap_handle *sh) int fd; struct sockaddr_storage ss; socklen_t ss_len = sizeof(ss); + struct sockaddr *s_addr = (struct sockaddr *)&ss; char ip[NI_MAXHOST]; + int port; if (!DEBUG_IS_SET(SSSDBG_TRACE_INTERNAL)) { return; @@ -1116,20 +1118,31 @@ static void sdap_print_server(struct sdap_handle *sh) return; } - ret = getpeername(fd, (struct sockaddr *) &ss, &ss_len); + ret = getpeername(fd, s_addr, &ss_len); if (ret == -1) { DEBUG(SSSDBG_MINOR_FAILURE, "getsockname failed\n"); return; } - ret = getnameinfo((struct sockaddr *) &ss, ss_len, + ret = getnameinfo(s_addr, ss_len, ip, sizeof(ip), NULL, 0, NI_NUMERICHOST); if (ret != 0) { DEBUG(SSSDBG_MINOR_FAILURE, "getnameinfo failed\n"); return; } - DEBUG(SSSDBG_TRACE_INTERNAL, "Searching %s\n", ip); + switch (s_addr->sa_family) { + case AF_INET: + port = ntohs(((struct sockaddr_in *)s_addr)->sin_port); + DEBUG(SSSDBG_TRACE_INTERNAL, "Searching %s:%d\n", ip, port); + break; + case AF_INET6: + port = ntohs(((struct sockaddr_in6 *)s_addr)->sin6_port); + DEBUG(SSSDBG_TRACE_INTERNAL, "Searching %s:%d\n", ip, port); + break; + default: + DEBUG(SSSDBG_TRACE_INTERNAL, "Searching %s\n", ip); + } } /* ==Generic Search exposing all options======================= */ -- 2.7.3