From 827ff40465832184b40d4006a4169f4612f757b6 Mon Sep 17 00:00:00 2001 From: Kris Van Hees Date: Mon, 21 Jun 2004 21:06:18 +0000 Subject: [PATCH] linux26-selinux-20040621 FIXES 5372 add selinux configure checking, and make sock_create take extra arg if needed --- acinclude.m4 | 4 ++++ src/cf/linux-test3.m4 | 15 +++++++++++++++ src/rx/LINUX/rx_knet.c | 4 ++++ 3 files changed, 23 insertions(+) diff --git a/acinclude.m4 b/acinclude.m4 index de564d484..2b995322c 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -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 diff --git a/src/cf/linux-test3.m4 b/src/cf/linux-test3.m4 index ba8881797..1f2afc072 100644 --- a/src/cf/linux-test3.m4 +++ b/src/cf/linux-test3.m4 @@ -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 ], + [#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"]) diff --git a/src/rx/LINUX/rx_knet.c b/src/rx/LINUX/rx_knet.c index 148422bd9..1cfb38d81 100644 --- a/src/rx/LINUX/rx_knet.c +++ b/src/rx/LINUX/rx_knet.c @@ -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; -- 2.39.5