[PATCH v2 app-xdm 3/9] config: upgrade the checking for SELinux support
Gaetan Nadon
memsize at videotron.ca
Tue Nov 23 12:30:39 PST 2010
Use "auto" rather than "try" for consistency with other modules.
Update help string to mention default value.
Unchanged: if configured --with-selinux and -lselinux is misisng,
abort the configuration.
Change HAVE_SELINUX to USE_SELINUX to be consistent with
USE_PAM, USE_XFT, USE_XPM and USE_XINERAMA.
Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
---
configure.ac | 22 ++++++++++++----------
session.c | 12 ++++++------
2 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/configure.ac b/configure.ac
index 268b0a8..baebeea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -134,17 +134,19 @@ if test "x$USE_PAM" != "xno" ; then
)
fi
-use_selinux_default=no
-# Check for selinux support
-AC_ARG_WITH(selinux, AC_HELP_STRING([--with-selinux],[Add support for selinux]),
- [USE_SELINUX=$withval], [USE_SELINUX=$use_selinux_default])
+# Check for Security-Enhanced Linux (SELinux) support
+AC_ARG_WITH(selinux, AS_HELP_STRING([--with-selinux],
+ [Add support for SELinux (default is no support)]),
+ [USE_SELINUX=$withval], [USE_SELINUX=no])
if test "x$USE_SELINUX" != "xno" ; then
- AC_SEARCH_LIBS(is_selinux_enabled,[selinux])
- AC_CHECK_FUNC(is_selinux_enabled,
- [AC_DEFINE(HAVE_SELINUX,1,[Add support for selinux])],
- [if test "x$USE_SELINUX" != "xtry" ; then
- AC_MSG_ERROR(["selinux support requested, but is_selinux_enabled not found."])
- fi])
+ AC_SEARCH_LIBS(is_selinux_enabled, [selinux],
+ [AC_CHECK_FUNC([is_selinux_enabled],
+ [AC_DEFINE(USE_SELINUX,1,[Use Security-Enhanced Linux (SELinux) support])]
+ )],
+ [AS_IF([test "x$USE_SELINUX" = "xyes"],
+ [AC_MSG_ERROR([SELinux support requested, but is_selinux_enabled not found.])]
+ )]
+ )
fi
# FIXME: Find better test for which OS'es use su -m - for now, just try to
diff --git a/session.c b/session.c
index bdafd0b..71e0954 100644
--- a/session.c
+++ b/session.c
@@ -71,17 +71,17 @@ extern int key_setnet(struct key_netstarg *arg);
# include <prot.h>
#endif
-#ifdef HAVE_SELINUX
+#ifdef USE_SELINUX
#include <selinux/selinux.h>
#include <selinux/get_context_list.h>
-#endif /* HAVE_SELINUX */
+#endif /* USE_SELINUX */
# include <dlfcn.h>
# ifndef RTLD_NOW
# define RTLD_NOW 1
# endif
-#ifdef HAVE_SELINUX
+#ifdef USE_SELINUX
/* This should be run just before we exec the user session. */
static int
xdm_selinux_setup (const char *login)
@@ -115,7 +115,7 @@ xdm_selinux_setup (const char *login)
freecon (scontext);
return TRUE;
}
-#endif /* HAVE_SELINUX */
+#endif /* USE_SELINUX */
static int runAndWait (char **args, char **environ);
@@ -817,7 +817,7 @@ StartClient (
bzero(passwd, strlen(passwd));
SetUserAuthorization (d, verify);
-#ifdef HAVE_SELINUX
+#ifdef USE_SELINUX
/*
* For Security Enhanced Linux:
* set the default security context for this user.
@@ -827,7 +827,7 @@ StartClient (
exit (UNMANAGE_DISPLAY);
return (0);
}
-#endif /* HAVE_SELINUX */
+#endif /* USE_SELINUX */
home = getEnv (verify->userEnviron, "HOME");
if (home)
if (chdir (home) == -1) {
--
1.6.0.4
More information about the xorg-devel
mailing list