]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3658. [port] linux: Address platform specific compilation issue v9.9-ESV-R10-P2
authorMark Andrews <marka@isc.org>
Thu, 26 Sep 2013 05:26:43 +0000 (15:26 +1000)
committerMark Andrews <marka@isc.org>
Fri, 20 Dec 2013 00:31:35 +0000 (11:31 +1100)
                        when libcap-devel is installed. [RT #34838]

(cherry picked from commit 7433a204d32673e9f6747172f202272cc5bfe27c)
(cherry picked from commit 9b7d05c900174f958b282429f0c4a112a08b82e2)

CHANGES
bin/named/unix/os.c
configure
configure.in

diff --git a/CHANGES b/CHANGES
index d3443c62c498404aec5c54be4dd7a75eeb4acd9d..ae0fdba5d1e0647b6dedc55a85bfe885f3c99131 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -5,6 +5,9 @@
                        on some platforms.  This could cause INSIST failures
                        when serving NSEC3 signed zones.  [RT #35120]
 
+3658.  [port]          linux: Address platform specific compilation issue
+                       when libcap-devel is installed. [RT #34838]
+
        --- 9.6-ESV-R10-P1 released ---
 
 3656.  [bug]           Treat an all zero netmask as invalid when generating
index 8b559f6a75dc137bcf34644f8dfea81ba475555d..c9b82309b6b5696b513df43bee2cf2ef7e3c5ee9 100644 (file)
@@ -117,12 +117,12 @@ static int dfd[2] = { -1, -1 };
 static isc_boolean_t non_root = ISC_FALSE;
 static isc_boolean_t non_root_caps = ISC_FALSE;
 
-#ifdef HAVE_LINUX_TYPES_H
-#include <linux/types.h>
-#endif
 #ifdef HAVE_SYS_CAPABILITY_H
 #include <sys/capability.h>
 #else
+#ifdef HAVE_LINUX_TYPES_H
+#include <linux/types.h>
+#endif
 /*%
  * We define _LINUX_FS_H to prevent it from being included.  We don't need
  * anything from it, and the files it includes cause warnings with 2.2
index d30cf01bbf06e8846c57f0d5f4422b3a805d593d..153176de2b23d99f12d75341bfd2899927250489 100755 (executable)
--- a/configure
+++ b/configure
 
 done
 
-               for ac_header in linux/capability.h sys/capability.h
+               for ac_header in sys/capability.h
 do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#ifdef HAVE_LINUX_TYPES_H
+  ac_fn_c_check_header_mongrel "$LINENO" "sys/capability.h" "ac_cv_header_sys_capability_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_capability_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_CAPABILITY_H 1
+_ACEOF
+
+fi
+
+done
+
+               for ac_header in linux/capability.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "linux/capability.h" "ac_cv_header_linux_capability_h" "#ifdef HAVE_LINUX_TYPES_H
                                  #include <linux/types.h>
                                  #endif
 
 "
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+if test "x$ac_cv_header_linux_capability_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define HAVE_LINUX_CAPABILITY_H 1
 _ACEOF
 
 fi
index 1d462efd20226e3ff00f148c750a00e5c0c06c50..da5ed52e14459ffe66d2e3505bc03bf125bb8d94 100644 (file)
@@ -2072,7 +2072,8 @@ AC_ARG_ENABLE(linux-caps,
 case "$enable_linux_caps" in
        yes|'')
                AC_CHECK_HEADERS(linux/types.h)
-               AC_CHECK_HEADERS([linux/capability.h sys/capability.h], [], [],
+               AC_CHECK_HEADERS([sys/capability.h])
+               AC_CHECK_HEADERS([linux/capability.h], [], [],
                                 [#ifdef HAVE_LINUX_TYPES_H
                                  #include <linux/types.h>
                                  #endif