X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Ftcpconns.c;h=5a042314d759f97a4b906d0d40f0b19798939a44;hb=103f05e098865196fc5f28df51e99b64fd6b5202;hp=765b892e265498e0299fb4f7c4f2265eef93290c;hpb=c7b0f0b0267f2ab7c84eea8306f0a516f5b8f769;p=collectd.git diff --git a/src/tcpconns.c b/src/tcpconns.c index 765b892e..5a042314 100644 --- a/src/tcpconns.c +++ b/src/tcpconns.c @@ -17,7 +17,7 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * * Author: - * Florian octo Forster + * Florian octo Forster * Michael Stapelberg **/ @@ -74,7 +74,9 @@ /* sys/socket.h is necessary to compile when using netlink on older systems. */ # include # include +#if HAVE_LINUX_INET_DIAG_H # include +#endif # include # include /* #endif KERNEL_LINUX */ @@ -137,10 +139,12 @@ #endif /* KERNEL_AIX */ #if KERNEL_LINUX +#if HAVE_STRUCT_LINUX_INET_DIAG_REQ struct nlreq { struct nlmsghdr nlh; struct inet_diag_req r; }; +#endif static const char *tcp_state[] = { @@ -215,13 +219,13 @@ static const char *tcp_state[] = "CLOSED", "LISTEN", "SYN_SENT", - "SYN_RCVD", + "SYN_RECV", "ESTABLISHED", "CLOSE_WAIT", - "FIN_WAIT_1", + "FIN_WAIT1", "CLOSING", "LAST_ACK", - "FIN_WAIT_2", + "FIN_WAIT2", "TIME_WAIT" }; @@ -276,7 +280,12 @@ static int port_collect_listening = 0; static port_entry_t *port_list_head = NULL; #if KERNEL_LINUX +#if HAVE_STRUCT_LINUX_INET_DIAG_REQ +/* This depends on linux inet_diag_req because if this structure is missing, + * sequence_number is useless and we get a compilation warning. + */ static uint32_t sequence_number = 0; +#endif enum { @@ -446,6 +455,7 @@ static int conn_handle_ports (uint16_t port_local, uint16_t port_remote, uint8_t * zero on other errors. */ static int conn_read_netlink (void) { +#if HAVE_STRUCT_LINUX_INET_DIAG_REQ int fd; struct sockaddr_nl nladdr; struct nlreq req; @@ -574,6 +584,9 @@ static int conn_read_netlink (void) /* Not reached because the while() loop above handles the exit condition. */ return (0); +#else + return (1); +#endif /* HAVE_STRUCT_LINUX_INET_DIAG_REQ */ } /* int conn_read_netlink */ static int conn_handle_line (char *buffer)