From 0b579a345617b0376dc3c30c09316246b9b74525 Mon Sep 17 00:00:00 2001
From: Holger Weiss <hweiss@users.sourceforge.net>
Date: Mon, 24 Sep 2007 00:30:14 +0000
Subject: 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

diff --git a/NEWS b/NEWS
index 8b160c8..ffff548 100644
--- a/NEWS
+++ b/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
diff --git a/configure.in b/configure.in
index ee928d4..5153b1c 100644
--- a/configure.in
+++ b/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
 
 
diff --git a/plugins/netutils.c b/plugins/netutils.c
index e6ffc54..7bf2254 100644
--- a/plugins/netutils.c
+++ b/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
-- 
cgit v0.10-9-g596f

