]> granicus.if.org Git - sudo/commitdiff
Add check + emulation for setegid (like seteuid).
authorTodd C. Miller <Todd.Miller@courtesan.com>
Sat, 30 Dec 2000 21:55:21 +0000 (21:55 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Sat, 30 Dec 2000 21:55:21 +0000 (21:55 +0000)
compat.h
config.h.in
configure
configure.in

index fb3eeb72895ef2a188e63b1536ca7741d4ea396d..29170f070439796fe0eeacec579a4c0e9c17bdd5 100644 (file)
--- a/compat.h
+++ b/compat.h
 #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
 #  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)
index 10fa96bd64b5745d1b96e0eee2150d1a3ff351c5..dfaf211a2fa90fd04eb7ae36629a376d50c6d252 100644 (file)
 /* 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
 
index 54f814bfb3317d2d4ebac6d20cb73139d5e83465..9c4eed83591db854d5209969ee3a3209fb937a2d 100755 (executable)
--- 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
index 715bb2150edb4d9cfd2bd4550ea228b0e3197a73..845a460d1d7f405ae75c24a162582c0a7f4fcb50 100644 (file)
@@ -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