[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