From c218ba8423a73a7a643cb17789db8a1dd0901ca6 Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Fri, 2 Aug 2013 20:07:36 +0200 Subject: [PATCH] xfree86: improve check for posix saved ids Replace hardcoded SVR4 || linux || CSRG_BASED with an autoconf check and the _POSIX_SAVED_IDS macro. Suggested-by: Mark Kettenis Signed-off-by: Julien Cristau Reviewed-by: Alan Coopersmith Reviewed-by: Mark Kettenis . Signed-off-by: Peter Hutterer --- configure.ac | 2 +- hw/xfree86/parser/write.c | 3 ++- include/xorg-config.h.in | 3 +++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index c6ecba418..d27ca2392 100644 --- a/configure.ac +++ b/configure.ac @@ -215,7 +215,7 @@ AC_SUBST(DLOPEN_LIBS) dnl Checks for library functions. AC_CHECK_FUNCS([backtrace ffs geteuid getuid issetugid getresuid \ getdtablesize getifaddrs getpeereid getpeerucred getzoneid \ - mmap shmctl64 strncasecmp vasprintf vsnprintf walkcontext]) + mmap seteuid shmctl64 strncasecmp vasprintf vsnprintf walkcontext]) AC_REPLACE_FUNCS([strcasecmp strcasestr strlcat strlcpy strndup]) dnl Find the math libary, then check for cbrt function in it. diff --git a/hw/xfree86/parser/write.c b/hw/xfree86/parser/write.c index 9c706a062..26739b933 100644 --- a/hw/xfree86/parser/write.c +++ b/hw/xfree86/parser/write.c @@ -55,6 +55,7 @@ #include #endif +#include "os.h" #include "xf86Parser.h" #include "xf86tokens.h" #include "Configint.h" @@ -65,7 +66,7 @@ #include #include -#if defined(SVR4) || defined(__linux__) || defined(CSRG_BASED) +#if defined(HAVE_SETEUID) && defined(_POSIX_SAVED_IDS) && _POSIX_SAVED_IDS > 0 #define HAS_SAVED_IDS_AND_SETEUID #endif #if defined(WIN32) diff --git a/include/xorg-config.h.in b/include/xorg-config.h.in index a71b25d72..0df31aeb2 100644 --- a/include/xorg-config.h.in +++ b/include/xorg-config.h.in @@ -139,4 +139,7 @@ /* Have X server platform bus support */ #undef XSERVER_PLATFORM_BUS +/* Define to 1 if you have the `seteuid' function. */ +#undef HAVE_SETEUID + #endif /* _XORG_CONFIG_H_ */