Moved log_addr.

git-svn-id: file:///svn/unbound/trunk@320 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
Wouter Wijngaards 2007-05-15 12:18:28 +00:00
parent e6dccd8565
commit 7a4e1baca9
4 changed files with 33 additions and 33 deletions

View file

@ -121,3 +121,27 @@ memdup(void* data, size_t len)
memcpy(d, data, len);
return d;
}
void
log_addr(struct sockaddr_storage* addr, socklen_t addrlen)
{
uint16_t port;
const char* family = "unknown";
char dest[100];
int af = (int)((struct sockaddr_in*)addr)->sin_family;
void* sinaddr = &((struct sockaddr_in*)addr)->sin_addr;
switch(af) {
case AF_INET: family="ip4"; break;
case AF_INET6: family="ip6";
sinaddr = &((struct sockaddr_in6*)addr)->sin6_addr;
break;
case AF_UNIX: family="unix"; break;
default: break;
}
if(inet_ntop(af, sinaddr, dest, (socklen_t)sizeof(dest)) == 0) {
strncpy(dest, "(inet_ntop error)", sizeof(dest));
}
port = ntohs(((struct sockaddr_in*)addr)->sin_port);
verbose(VERB_DETAIL, "addr fam=%s port=%d dest=%s len=%d",
family, (int)port, dest, (int)addrlen);
}

View file

@ -108,4 +108,12 @@ void write_iov_buffer(ldns_buffer* buffer, struct iovec* iov, size_t iovlen);
*/
void* memdup(void* data, size_t len);
/**
* Prints the sockaddr in readable format with log_info. Debug helper.
* @param addr: the sockaddr to print. Can be ip4 or ip6.
* @param addrlen: length of addr.
*/
void log_addr(struct sockaddr_storage* addr, socklen_t addrlen);
#endif /* NET_HELP_H */

View file

@ -296,8 +296,7 @@ comm_point_tcp_accept_callback(int fd, short event, void* arg)
}
/* find free tcp handler. */
if(!c->tcp_free) {
log_err("accepted too many tcp, connections full, from:");
log_addr(&rep.addr, rep.addrlen);
log_err("accepted too many tcp, connections full");
close(new_fd);
return;
}
@ -1126,27 +1125,3 @@ comm_signal_delete(struct comm_signal* comsig)
}
free(comsig);
}
void
log_addr(struct sockaddr_storage* addr, socklen_t addrlen)
{
uint16_t port;
const char* family = "unknown";
char dest[100];
int af = (int)((struct sockaddr_in*)addr)->sin_family;
void* sinaddr = &((struct sockaddr_in*)addr)->sin_addr;
switch(af) {
case AF_INET: family="ip4"; break;
case AF_INET6: family="ip6";
sinaddr = &((struct sockaddr_in6*)addr)->sin6_addr;
break;
case AF_UNIX: family="unix"; break;
default: break;
}
if(inet_ntop(af, sinaddr, dest, (socklen_t)sizeof(dest)) == 0) {
strncpy(dest, "(inet_ntop error)", sizeof(dest));
}
port = ntohs(((struct sockaddr_in*)addr)->sin_port);
verbose(VERB_DETAIL, "addr fam=%s port=%d dest=%s len=%d",
family, (int)port, dest, (int)addrlen);
}

View file

@ -445,11 +445,4 @@ int comm_signal_bind(struct comm_signal* comsig, int sig);
*/
void comm_signal_delete(struct comm_signal* comsig);
/**
* Prints the sockaddr in readable format with log_info. Debug helper.
* @param addr: the sockaddr to print. Can be ip4 or ip6.
* @param addrlen: length of addr.
*/
void log_addr(struct sockaddr_storage* addr, socklen_t addrlen);
#endif /* NET_EVENT_H */