version 1.27.2.2, 2002/06/22 07:23:17 |
version 1.27.2.3, 2002/10/11 14:53:06 |
|
|
if (getnameinfo((struct sockaddr *)&from, fromlen, name, sizeof(name), |
if (getnameinfo((struct sockaddr *)&from, fromlen, name, sizeof(name), |
NULL, 0, NI_NAMEREQD) != 0) { |
NULL, 0, NI_NAMEREQD) != 0) { |
/* Host name not found. Use ip address. */ |
/* Host name not found. Use ip address. */ |
|
#if 0 |
log("Could not reverse map address %.100s.", ntop); |
log("Could not reverse map address %.100s.", ntop); |
|
#endif |
return xstrdup(ntop); |
return xstrdup(ntop); |
} |
} |
|
|
|
|
|
|
if (remote) { |
if (remote) { |
if (getpeername(socket, (struct sockaddr *)&addr, &addrlen) |
if (getpeername(socket, (struct sockaddr *)&addr, &addrlen) |
< 0) { |
< 0) |
debug("get_socket_ipaddr: getpeername failed: %.100s", |
|
strerror(errno)); |
|
return NULL; |
return NULL; |
} |
|
} else { |
} else { |
if (getsockname(socket, (struct sockaddr *)&addr, &addrlen) |
if (getsockname(socket, (struct sockaddr *)&addr, &addrlen) |
< 0) { |
< 0) |
debug("get_socket_ipaddr: getsockname failed: %.100s", |
|
strerror(errno)); |
|
return NULL; |
return NULL; |
} |
|
} |
} |
/* Get the address in ascii. */ |
/* Get the address in ascii. */ |
if (getnameinfo((struct sockaddr *)&addr, addrlen, ntop, sizeof(ntop), |
if (getnameinfo((struct sockaddr *)&addr, addrlen, ntop, sizeof(ntop), |
|
|
char * |
char * |
get_peer_ipaddr(int socket) |
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 * |
char * |
get_local_ipaddr(int socket) |
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 * |
char * |