From: Todd C. Miller Date: Sat, 30 Dec 2000 21:55:21 +0000 (+0000) Subject: Add check + emulation for setegid (like seteuid). X-Git-Tag: SUDO_1_6_4~214 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5481e22892f1dc8704f0f9aa6ad0243159d576f8;p=sudo Add check + emulation for setegid (like seteuid). --- diff --git a/compat.h b/compat.h index fb3eeb728..29170f070 100644 --- a/compat.h +++ b/compat.h @@ -145,7 +145,7 @@ #endif /* - * Emulate seteuid() for HP-UX via setresuid(2) and seteuid(2) for others. + * Emulate sete[ug]id() via setres[ug]id(2) or setre[ug]id(2) */ #ifndef HAVE_SETEUID # ifdef __hpux @@ -154,6 +154,13 @@ # define seteuid(_EUID) (setreuid((uid_t) -1, _EUID)) # endif /* __hpux */ #endif /* HAVE_SETEUID */ +#ifndef HAVE_SETEGID +# ifdef __hpux +# define setegid(_EGID) (setresgid((gid_t) -1, _EGID, (gid_t) -1)) +# else +# define setegid(_EGID) (setregid((gid_t) -1, _EGID)) +# endif /* __hpux */ +#endif /* HAVE_SETEGID */ /* * Emulate setreuid() for HP-UX via setresuid(2) diff --git a/config.h.in b/config.h.in index 10fa96bd6..dfaf211a2 100644 --- a/config.h.in +++ b/config.h.in @@ -239,6 +239,9 @@ /* Define if you have setreuid(3). */ #undef HAVE_SETREUID +/* Define if you have setegid(3). */ +#undef HAVE_SETEGID + /* Define if you have waitpid(2). */ #undef HAVE_WAITPID diff --git a/configure b/configure index 54f814bfb..9c4eed835 100755 --- a/configure +++ b/configure @@ -5630,7 +5630,7 @@ EOF ;; esac -for ac_func in strchr strrchr memchr memcpy memset sysconf sigaction tzset seteuid strftime setrlimit initgroups fstat +for ac_func in strchr strrchr memchr memcpy memset sysconf sigaction tzset seteuid setegig strftime setrlimit initgroups fstat do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:5637: checking for $ac_func" >&5 diff --git a/configure.in b/configure.in index 715bb2150..845a460d1 100644 --- a/configure.in +++ b/configure.in @@ -1545,7 +1545,7 @@ esac dnl dnl Function checks dnl -AC_CHECK_FUNCS(strchr strrchr memchr memcpy memset sysconf sigaction tzset seteuid strftime setrlimit initgroups fstat) +AC_CHECK_FUNCS(strchr strrchr memchr memcpy memset sysconf sigaction tzset seteuid setegig strftime setrlimit initgroups fstat) if test -z "$BROKEN_SETREUID"; then AC_CHECK_FUNCS(setreuid) fi