=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/canohost.c,v retrieving revision 1.31.2.3 retrieving revision 1.32 diff -u -r1.31.2.3 -r1.32 --- src/usr.bin/ssh/canohost.c 2003/04/03 22:35:16 1.31.2.3 +++ src/usr.bin/ssh/canohost.c 2002/06/11 08:11:45 1.32 @@ -12,7 +12,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: canohost.c,v 1.31.2.3 2003/04/03 22:35:16 miod Exp $"); +RCSID("$OpenBSD: canohost.c,v 1.32 2002/06/11 08:11:45 itojun Exp $"); #include "packet.h" #include "xmalloc.h" @@ -38,7 +38,7 @@ /* Get IP address of client. */ fromlen = sizeof(from); memset(&from, 0, sizeof(from)); - if (getpeername(socket, (struct sockaddr *)&from, &fromlen) < 0) { + if (getpeername(socket, (struct sockaddr *) &from, &fromlen) < 0) { debug("getpeername failed: %.100s", strerror(errno)); fatal_cleanup(); } @@ -55,9 +55,7 @@ if (getnameinfo((struct sockaddr *)&from, fromlen, name, sizeof(name), NULL, 0, NI_NAMEREQD) != 0) { /* Host name not found. Use ip address. */ -#if 0 log("Could not reverse map address %.100s.", ntop); -#endif return xstrdup(ntop); } @@ -180,8 +178,8 @@ } /* - * Returns the local/remote IP-address/hostname of socket as a string. - * The returned string must be freed. + * Returns the remote IP-address of socket as a string. The returned + * string must be freed. */ static char * get_socket_address(int socket, int remote, int flags) @@ -196,17 +194,23 @@ if (remote) { if (getpeername(socket, (struct sockaddr *)&addr, &addrlen) - < 0) + < 0) { + debug("get_socket_ipaddr: getpeername failed: %.100s", + strerror(errno)); return NULL; + } } else { if (getsockname(socket, (struct sockaddr *)&addr, &addrlen) - < 0) + < 0) { + debug("get_socket_ipaddr: getsockname failed: %.100s", + strerror(errno)); return NULL; + } } /* Get the address in ascii. */ if (getnameinfo((struct sockaddr *)&addr, addrlen, ntop, sizeof(ntop), NULL, 0, flags) != 0) { - error("get_socket_address: getnameinfo %d failed", flags); + error("get_socket_ipaddr: getnameinfo %d failed", flags); return NULL; } return xstrdup(ntop); @@ -215,21 +219,13 @@ char * get_peer_ipaddr(int socket) { - char *p; - - if ((p = get_socket_address(socket, 1, NI_NUMERICHOST)) != NULL) - return p; - return xstrdup("UNKNOWN"); + return get_socket_address(socket, 1, NI_NUMERICHOST); } char * get_local_ipaddr(int socket) { - char *p; - - if ((p = get_socket_address(socket, 0, NI_NUMERICHOST)) != NULL) - return p; - return xstrdup("UNKNOWN"); + return get_socket_address(socket, 0, NI_NUMERICHOST); } char * @@ -292,7 +288,7 @@ return 0; } } else { - if (getpeername(sock, (struct sockaddr *)&from, &fromlen) < 0) { + if (getpeername(sock, (struct sockaddr *) & from, &fromlen) < 0) { debug("getpeername failed: %.100s", strerror(errno)); fatal_cleanup(); }