summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 39f51b5)
raw | patch | inline | side by side (parent: 39f51b5)
author | Florian Forster <octo@collectd.org> | |
Thu, 11 Jun 2015 06:46:54 +0000 (07:46 +0100) | ||
committer | Florian Forster <octo@collectd.org> | |
Thu, 11 Jun 2015 06:46:54 +0000 (07:46 +0100) |
Solaris appears to declare the struct, but only when The Right defines
are specified at compile time. As a quick and dirty fix, only build with
IPv6 support when the struct is usable.
Fixes: #348
are specified at compile time. As a quick and dirty fix, only build with
IPv6 support when the struct is usable.
Fixes: #348
configure.ac | patch | blob | history | |
src/utils_dns.c | patch | blob | history |
diff --git a/configure.ac b/configure.ac
index 554a58bf48737a140a45add142aba2ddcf2718fd..8572749fcdd65cfd60a8ea0f67800a1269bdd27a 100644 (file)
--- a/configure.ac
+++ b/configure.ac
#endif
])
+AC_CHECK_TYPES([struct ip6_ext], [], [],
+[#if HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#if HAVE_NETINET_IN_SYSTM_H
+# include <netinet/in_systm.h>
+#endif
+#if HAVE_NETINET_IN_H
+# include <netinet/in.h>
+#endif
+#if HAVE_NETINET_IP6_H
+# include <netinet/ip6.h>
+#endif
+])
+
# For cpu modules
AC_CHECK_HEADERS(sys/dkstat.h)
if test "x$ac_system" = "xDarwin"
diff --git a/src/utils_dns.c b/src/utils_dns.c
index 655c61edf0764cc9911bab2a71e6556bc83405a0..fcc65a56771021e184ce23addd4a508cef3f9622 100644 (file)
--- a/src/utils_dns.c
+++ b/src/utils_dns.c
# error "`struct udphdr' is unusable."
#endif
+#if HAVE_NETINET_IP6_H && HAVE_STRUCT_IP6_EXT
+# define HAVE_IPV6 1
+#endif
+
#include "utils_dns.h"
/*
return 1;
}
-#if HAVE_NETINET_IP6_H
+#if HAVE_IPV6
static int
handle_ipv6 (struct ip6_hdr *ipv6, int len)
{
return (1); /* Success */
} /* int handle_ipv6 */
-/* #endif HAVE_NETINET_IP6_H */
+/* #endif HAVE_IPV6 */
-#else /* if !HAVE_NETINET_IP6_H */
+#else /* if !HAVE_IPV6 */
static int
handle_ipv6 (__attribute__((unused)) void *pkg,
__attribute__((unused)) int len)
{
return (0);
}
-#endif /* !HAVE_NETINET_IP6_H */
+#endif /* !HAVE_IPV6 */
static int
handle_ip(const struct ip *ip, int len)