linux26-selinux-20040621
authorKris Van Hees <aedil@alchar.org>
Mon, 21 Jun 2004 21:06:18 +0000 (21:06 +0000)
committerDerrick Brashear <shadow@dementia.org>
Mon, 21 Jun 2004 21:06:18 +0000 (21:06 +0000)
FIXES 5372

add selinux configure checking, and make sock_create take extra arg if needed

acinclude.m4
src/cf/linux-test3.m4
src/rx/LINUX/rx_knet.c

index de564d4..2b99532 100644 (file)
@@ -183,6 +183,7 @@ case $system in
                 LINUX_FS_STRUCT_INODE_HAS_I_DEVICES
                 LINUX_INODE_SETATTR_RETURN_TYPE
                 LINUX_KERNEL_LINUX_SYSCALL_H
+                LINUX_KERNEL_SELINUX
                 LINUX_NEED_RHCONFIG
                 LINUX_RECALC_SIGPENDING_ARG_TYPE
                 LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_PARENT
@@ -279,6 +280,9 @@ case $system in
                 if test "x$ac_cv_linux_func_recalc_sigpending_takes_void" = "xyes"; then 
                  AC_DEFINE(RECALC_SIGPENDING_TAKES_VOID, 1, [define if your recalc_sigpending takes void])
                 fi
+                if test "x$ac_cv_linux_kernel_is_selinux" = "xyes" ; then
+                 AC_DEFINE(LINUX_KERNEL_IS_SELINUX, 1, [define if your linux kernel uses SELinux features])
+                fi
                 if test "x$ac_linux_syscall" = "xyes" ; then
                  AC_DEFINE(HAVE_KERNEL_LINUX_SYSCALL_H, 1, [define if your linux kernel has linux/syscall.h])
                 fi
index ba88817..1f2afc0 100644 (file)
@@ -79,3 +79,18 @@ fi
 AC_SUBST(MPS)
 ])
 
+AC_DEFUN([LINUX_KERNEL_SELINUX],[
+AC_MSG_CHECKING(for SELinux kernel)
+save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS"
+AC_CACHE_VAL(ac_cv_linux_kernel_is_selinux,
+[
+AC_TRY_COMPILE(
+  [#include <linux/autoconf.h>],
+  [#ifndef CONFIG_SECURITY_SELINUX
+   #error not SELINUX
+   #endif],
+  ac_cv_linux_kernel_is_selinux=yes,
+  ac_cv_linux_kernel_is_selinux=no)])
+AC_MSG_RESULT($ac_cv_linux_kernel_is_selinux)
+CPPFLAGS="$save_CPPFLAGS"])
index 148422b..1cfb38d 100644 (file)
@@ -37,7 +37,11 @@ rxk_NewSocket(short aport)
     int code;
 
 
+#ifdef LINUX_KERNEL_IS_SELINUX
+    code = sock_create(AF_INET, SOCK_DGRAM, IPPROTO_UDP, &sockp, 0);
+#else
     code = sock_create(AF_INET, SOCK_DGRAM, IPPROTO_UDP, &sockp);
+#endif
     if (code < 0)
        return NULL;