[PATCH app-xdm 5/6] config: use AC_CHECK_FUNCS for setusercontext
Gaetan Nadon
memsize at videotron.ca
Mon Oct 25 17:21:37 PDT 2010
AC_CHECK_FUNCS defines HAVE_SETUSERCONTEXT
The replaced code made an incorrect assumption that it was only
availble on BSD-like systems.
Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
---
configure.ac | 11 +----------
dm.h | 2 +-
session.c | 12 ++++++------
3 files changed, 8 insertions(+), 17 deletions(-)
diff --git a/configure.ac b/configure.ac
index 127e53a..4c7f04e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -91,7 +91,7 @@ AC_TYPE_SIGNAL
#
# Required system libraries have been searched for and are listed in $LIBS
#------------------------------------------------------------------------------
-AC_CHECK_FUNCS([daemon sigaction openlog asprintf setproctitle])
+AC_CHECK_FUNCS([daemon sigaction openlog asprintf setproctitle setusercontext])
#------------------------------------------------------------------------------
@@ -116,15 +116,6 @@ AC_CHECK_FUNC(getifaddrs, AC_DEFINE(HAS_GETIFADDRS,1,
AC_CHECK_FUNC(getspnam, AC_DEFINE(USESHADOW,1,
[Define to 1 if you have the shadow password functions.]))
-# According to the old Imakefile, BSD/OS has this in libutil
-AC_CHECK_FUNC(setusercontext, [HAS_SETUSERCONTEXT="yes"],
- AC_CHECK_LIB(util, setusercontext,
- [HAS_SETUSERCONTEXT="yes" ; XDM_OS_LIBS="$XDM_OS_LIBS -lutil"]))
-if test "x$HAS_SETUSERCONTEXT" = "xyes" ; then
- AC_DEFINE(HAS_SETUSERCONTEXT,1,
- [Define to 1 if you have the 'setusercontext' function.])
-fi
-
XTRANS_CONNECTION_FLAGS
dnl Sets $SECURE_RPC to "yes" or "no"
XTRANS_SECURE_RPC_FLAGS
diff --git a/dm.h b/dm.h
index 502cbb9..6633248 100644
--- a/dm.h
+++ b/dm.h
@@ -110,7 +110,7 @@ typedef union wait waitType;
# ifdef CSRG_BASED
# include <sys/param.h>
-# ifdef HAS_SETUSERCONTEXT
+# ifdef HAVE_SETUSERCONTEXT
# include <login_cap.h>
# include <pwd.h>
# ifdef USE_BSDAUTH
diff --git a/session.c b/session.c
index ad216d3..e0ab4bc 100644
--- a/session.c
+++ b/session.c
@@ -573,7 +573,7 @@ StartClient (
char **f, *home;
char *failsafeArgv[2];
pid_t pid;
-#ifdef HAS_SETUSERCONTEXT
+#ifdef HAVE_SETUSERCONTEXT
struct passwd* pwd;
#endif
#ifdef USE_PAM
@@ -641,7 +641,7 @@ StartClient (
#endif
#ifndef AIXV3
-# ifndef HAS_SETUSERCONTEXT
+# ifndef HAVE_SETUSERCONTEXT
if (setgid (verify->gid) < 0) {
LogError ("setgid %d (user \"%s\") failed: %s\n",
verify->gid, name, _SysErrorMsg (errno));
@@ -661,7 +661,7 @@ StartClient (
return (0);
}
# endif /* QNX4 doesn't support multi-groups, no initgroups() */
-# endif /* !HAS_SETUSERCONTEXT */
+# endif /* !HAVE_SETUSERCONTEXT */
# ifdef USE_PAM
if (pamh) {
@@ -684,13 +684,13 @@ StartClient (
}
# endif
-# ifndef HAS_SETUSERCONTEXT
+# ifndef HAVE_SETUSERCONTEXT
if (setuid(verify->uid) < 0) {
LogError ("setuid %d (user \"%s\") failed: %s\n",
verify->uid, name, _SysErrorMsg (errno));
return (0);
}
-# else /* HAS_SETUSERCONTEXT */
+# else /* HAVE_SETUSERCONTEXT */
/*
* Set the user's credentials: uid, gid, groups,
* environment variables, resource limits, and umask.
@@ -708,7 +708,7 @@ StartClient (
name, _SysErrorMsg (errno));
return (0);
}
-# endif /* HAS_SETUSERCONTEXT */
+# endif /* HAVE_SETUSERCONTEXT */
#else /* AIXV3 */
/*
* Set the user's credentials: uid, gid, groups,
--
1.6.0.4
More information about the xorg-devel
mailing list