From 045d7546fc317deefc2d84d524a211ce6ab4869b Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Mon, 3 Jun 2019 11:28:58 +0200 Subject: common: Make issetugid check simpler --- common/compat.c | 7 ++----- configure.ac | 16 +--------------- 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/common/compat.c b/common/compat.c index 621f03a..8b14658 100644 --- a/common/compat.c +++ b/common/compat.c @@ -40,10 +40,6 @@ */ #define _XOPEN_SOURCE 700 -#if defined(HAVE_ISSETUGID) && defined(__FreeBSD__) -#define __BSD_VISIBLE 1 -#endif - #include "compat.h" #include "debug.h" @@ -819,7 +815,8 @@ getauxval (unsigned long type) extern int __libc_enable_secure; secure = __libc_enable_secure; -#elif defined(HAVE_ISSETUGID) && defined(HAVE_ISSETUGID_OPENBSD) +#elif defined(HAVE_ISSETUGID) && \ + !((defined __APPLE__ && defined __MACH__) || (defined __FREEBSD__)) secure = issetugid (); #elif defined(OS_UNIX) diff --git a/configure.ac b/configure.ac index 318db2b..492288a 100644 --- a/configure.ac +++ b/configure.ac @@ -115,21 +115,7 @@ if test "$os_unix" = "yes"; then AC_CHECK_FUNCS([setenv]) AC_CHECK_FUNCS([getpeereid]) AC_CHECK_FUNCS([getpeerucred]) - - # Check if issetugid() is available and has compatible behavior with OpenBSD - AC_CHECK_FUNCS([issetugid], [ - AC_CACHE_CHECK([whether issetugid() can detect setuid/setgid], - [ac_cv_issetugid_openbsd], - [ac_cv_issetugid_openbsd=no - AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include ]], - [[return issetugid ();]])], - [chmod 02777 ./conftest$EXEEXT; ./conftest$EXEEXT || ac_cv_issetugid_openbsd=yes], - [ac_cv_issetugid_openbsd=no], - [ac_cv_issetugid_openbsd="guessing no"])]) - if test "$ac_cv_issetugid_openbsd" = yes; then - AC_DEFINE([HAVE_ISSETUGID_OPENBSD], [1], [Whether issetugid() has compatible behavior with OpenBSD]) - fi - ]) + AC_CHECK_FUNCS([issetugid]) AC_CACHE_CHECK([for thread-local storage class], [ac_cv_tls_keyword], -- cgit v1.1