- (djm) OpenBSD CVS Sync
- stevesk@cvs.openbsd.org 2002/09/23 20:46:27 [canohost.c] change get_peer_ipaddr() and get_local_ipaddr() to not return NULL for non-sockets; fixes a problem passing NULL to snprintf(). ok markus@
This commit is contained in:
parent
2c961cecb0
commit
b2f844dc51
|
@ -1,3 +1,10 @@
|
|||
20020923
|
||||
- (djm) OpenBSD CVS Sync
|
||||
- stevesk@cvs.openbsd.org 2002/09/23 20:46:27
|
||||
[canohost.c]
|
||||
change get_peer_ipaddr() and get_local_ipaddr() to not return NULL for
|
||||
non-sockets; fixes a problem passing NULL to snprintf(). ok markus@
|
||||
|
||||
20020923
|
||||
- (tim) [configure.ac] s/return/exit/ patch by dtucker@zip.com.au
|
||||
|
||||
|
@ -696,4 +703,4 @@
|
|||
save auth method before monitor_reset_key_state(); bugzilla bug #284;
|
||||
ok provos@
|
||||
|
||||
$Id: ChangeLog,v 1.2476 2002/09/23 23:54:10 tim Exp $
|
||||
$Id: ChangeLog,v 1.2477 2002/09/25 02:19:08 djm Exp $
|
||||
|
|
24
canohost.c
24
canohost.c
|
@ -12,7 +12,7 @@
|
|||
*/
|
||||
|
||||
#include "includes.h"
|
||||
RCSID("$OpenBSD: canohost.c,v 1.33 2002/07/09 11:56:27 itojun Exp $");
|
||||
RCSID("$OpenBSD: canohost.c,v 1.34 2002/09/23 20:46:27 stevesk Exp $");
|
||||
|
||||
#include "packet.h"
|
||||
#include "xmalloc.h"
|
||||
|
@ -218,19 +218,13 @@ get_socket_address(int socket, int remote, int flags)
|
|||
|
||||
if (remote) {
|
||||
if (getpeername(socket, (struct sockaddr *)&addr, &addrlen)
|
||||
< 0) {
|
||||
debug("get_socket_ipaddr: getpeername failed: %.100s",
|
||||
strerror(errno));
|
||||
< 0)
|
||||
return NULL;
|
||||
}
|
||||
} else {
|
||||
if (getsockname(socket, (struct sockaddr *)&addr, &addrlen)
|
||||
< 0) {
|
||||
debug("get_socket_ipaddr: getsockname failed: %.100s",
|
||||
strerror(errno));
|
||||
< 0)
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
/* Get the address in ascii. */
|
||||
if (getnameinfo((struct sockaddr *)&addr, addrlen, ntop, sizeof(ntop),
|
||||
NULL, 0, flags) != 0) {
|
||||
|
@ -243,13 +237,21 @@ get_socket_address(int socket, int remote, int flags)
|
|||
char *
|
||||
get_peer_ipaddr(int socket)
|
||||
{
|
||||
return get_socket_address(socket, 1, NI_NUMERICHOST);
|
||||
char *p;
|
||||
|
||||
if ((p = get_socket_address(socket, 1, NI_NUMERICHOST)) != NULL)
|
||||
return p;
|
||||
return xstrdup("UNKNOWN");
|
||||
}
|
||||
|
||||
char *
|
||||
get_local_ipaddr(int socket)
|
||||
{
|
||||
return get_socket_address(socket, 0, NI_NUMERICHOST);
|
||||
char *p;
|
||||
|
||||
if ((p = get_socket_address(socket, 0, NI_NUMERICHOST)) != NULL)
|
||||
return p;
|
||||
return xstrdup("UNKNOWN");
|
||||
}
|
||||
|
||||
char *
|
||||
|
|
Loading…
Reference in New Issue