version 1.38.2.1, 2004/08/19 04:13:26 |
version 1.38.2.2, 2005/03/10 17:15:04 |
|
|
struct sockaddr_storage addr; |
struct sockaddr_storage addr; |
socklen_t addrlen; |
socklen_t addrlen; |
char ntop[NI_MAXHOST]; |
char ntop[NI_MAXHOST]; |
|
int r; |
|
|
/* Get IP address of client. */ |
/* Get IP address of client. */ |
addrlen = sizeof(addr); |
addrlen = sizeof(addr); |
|
|
return NULL; |
return NULL; |
} |
} |
/* Get the address in ascii. */ |
/* Get the address in ascii. */ |
if (getnameinfo((struct sockaddr *)&addr, addrlen, ntop, sizeof(ntop), |
if ((r = getnameinfo((struct sockaddr *)&addr, addrlen, ntop, |
NULL, 0, flags) != 0) { |
sizeof(ntop), NULL, 0, flags)) != 0) { |
error("get_socket_address: getnameinfo %d failed", flags); |
error("get_socket_address: getnameinfo %d failed: %s", flags, |
|
r == EAI_SYSTEM ? strerror(errno) : gai_strerror(r)); |
return NULL; |
return NULL; |
} |
} |
return xstrdup(ntop); |
return xstrdup(ntop); |
|
|
struct sockaddr_storage from; |
struct sockaddr_storage from; |
socklen_t fromlen; |
socklen_t fromlen; |
char strport[NI_MAXSERV]; |
char strport[NI_MAXSERV]; |
|
int r; |
|
|
/* Get IP address of client. */ |
/* Get IP address of client. */ |
fromlen = sizeof(from); |
fromlen = sizeof(from); |
|
|
} |
} |
} |
} |
/* Return port number. */ |
/* Return port number. */ |
if (getnameinfo((struct sockaddr *)&from, fromlen, NULL, 0, |
if ((r = getnameinfo((struct sockaddr *)&from, fromlen, NULL, 0, |
strport, sizeof(strport), NI_NUMERICSERV) != 0) |
strport, sizeof(strport), NI_NUMERICSERV)) != 0) |
fatal("get_sock_port: getnameinfo NI_NUMERICSERV failed"); |
fatal("get_sock_port: getnameinfo NI_NUMERICSERV failed: %s", |
|
r == EAI_SYSTEM ? strerror(errno) : gai_strerror(r)); |
return atoi(strport); |
return atoi(strport); |
} |
} |
|
|