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 <[email protected]>
---
 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

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to