[PATCH] xfree86: improve check for posix saved ids
Mark Kettenis
mark.kettenis at xs4all.nl
Sat Aug 3 02:34:25 PDT 2013
> From: Julien Cristau <jcristau at debian.org>
> Date: Fri, 2 Aug 2013 20:07:36 +0200
>
> Replace hardcoded SVR4 || linux || CSRG_BASED with an autoconf check and
> the _POSIX_SAVED_IDS macro.
>
> Suggested-by: Mark Kettenis <mark.kettenis at xs4all.nl>
> Signed-off-by: Julien Cristau <jcristau at debian.org>
Hmm, you need to include <unistd.h> to get the _POSIX_SAVED_IDS macro.
And I don't quite see how that gets pulled in.
> ---
> 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 c6ecba4..d27ca23 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 9c706a0..26739b9 100644
> --- a/hw/xfree86/parser/write.c
> +++ b/hw/xfree86/parser/write.c
> @@ -55,6 +55,7 @@
> #include <xorg-config.h>
> #endif
>
> +#include "os.h"
> #include "xf86Parser.h"
> #include "xf86tokens.h"
> #include "Configint.h"
> @@ -65,7 +66,7 @@
> #include <signal.h>
> #include <errno.h>
>
> -#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 a71b25d..0df31ae 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_ */
> --
> 1.7.10.4
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
>
More information about the xorg-devel
mailing list