Преглед изворни кода

Let ./configure --without-ipv6 suppress non-IPv4 DNS lookups (noted by
Mark Frost on nagios-users@)


git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1794 f882894a-f735-0410-b71e-b25c423dba1c

Holger Weiss пре 18 година
родитељ
комит
0b579a3456
3 измењених фајлова са 23 додато и 8 уклоњено
  1. 1 0
      NEWS
  2. 18 8
      configure.in
  3. 4 0
      plugins/netutils.c

+ 1 - 0
NEWS

@@ -30,6 +30,7 @@ This file documents the major additions and syntax changes between releases.
 	The "negate" utility can now remap custom states
 	Check_radius now supports radiusclient-ng
 	Check_by_ssh now supports multiline output
+	IPv6 support can now be disabled using ./configure --without-ipv6
 
 1.4.9 4th June 2006
 	Inclusion of contrib/check_cluster2 as check_cluster with some improvements

+ 18 - 8
configure.in

@@ -275,9 +275,15 @@ else
   AC_SUBST(MYSQLCFLAGS)
 fi
 
+AC_ARG_WITH([ipv6],
+	[AS_HELP_STRING([--with-ipv6], [support IPv6 @<:@default=check@:>@])],
+	[], [with_ipv6=check])
+
 dnl Check for AF_INET6 support - unistd.h required for Darwin
-AC_CACHE_CHECK([for IPv6 support], with_ipv6, [
-	AC_TRY_COMPILE([#ifdef HAVE_UNISTD_H
+if test "$with_ipv6" != "no"; then
+	AC_CACHE_CHECK([for IPv6 support], np_cv_sys_ipv6, [
+		AC_TRY_COMPILE(
+			[#ifdef HAVE_UNISTD_H
 			#include <unistd.h>
 			#endif
 			#include <netinet/in.h>
@@ -288,12 +294,16 @@ AC_CACHE_CHECK([for IPv6 support], with_ipv6, [
 			sin6.sin6_family = AF_INET6;
 			sin6.sin6_port = 587;
 			p = &sin6.sin6_addr;],
-			[with_ipv6=yes], 
-			[with_ipv6=no])
-	])
-
-if test x"$with_ipv6" != xno ; then
-	AC_DEFINE(USE_IPV6,1,[Enable IPv6 support])
+			[np_cv_sys_ipv6=yes],
+			[np_cv_sys_ipv6=no])
+		])
+	if test "$np_cv_sys_ipv6" = "no" -a "$with_ipv6" != "check"; then
+		AC_MSG_FAILURE([--with-ipv6 was given, but test for IPv6 support failed])
+	fi
+	if test "$np_cv_sys_ipv6" = "yes"; then
+		AC_DEFINE(USE_IPV6,1,[Enable IPv6 support])
+	fi
+	with_ipv6="$np_cv_sys_ipv6"
 fi
 
 

+ 4 - 0
plugins/netutils.c

@@ -39,7 +39,11 @@
 unsigned int socket_timeout = DEFAULT_SOCKET_TIMEOUT; 
 int econn_refuse_state = STATE_CRITICAL;
 int was_refused = FALSE;
+#if USE_IPV6
 int address_family = AF_UNSPEC;
+#else
+int address_family = AF_INET;
+#endif
 
 /* handles socket timeouts */
 void