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);
+}
*/
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 */
}
/* 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;
}
}
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);
-}
*/
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 */