]> granicus.if.org Git - sudo/commitdiff
now use setreuid()
authorTodd C. Miller <Todd.Miller@courtesan.com>
Thu, 27 Jan 1994 00:52:18 +0000 (00:52 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Thu, 27 Jan 1994 00:52:18 +0000 (00:52 +0000)
check.c
sudo.c
sudo.h

diff --git a/check.c b/check.c
index 16c55bb73e8838d982f31c3be63b8597022f62dc..4a24a6b996308ab9b4ccce5cb57ef54d1efff5e4 100644 (file)
--- a/check.c
+++ b/check.c
@@ -82,10 +82,10 @@ void check_user()
        exit(1);
     }
     rtn = check_timestamp();
-    if (setruid(uid)) {                /* don't want to be root longer than
-                                * necessary */
+    /* don't want to be root longer than necessary */
+    if (setreuid(uid, (uid_t)-1)) {
 #ifndef _AIX
-       perror("setruid(uid)");
+       perror("setreuid()");
        exit(1);
 #endif
     }
@@ -97,10 +97,10 @@ void check_user()
        exit(1);
     }
     update_timestamp();
-    if (setruid(uid)) {                /* don't want to be root longer than
-                                * necessary */
+    /* don't want to be root longer than necessary */
+    if (setreuid(uid, (uid_t)-1)) {
 #ifndef _AIX
-       perror("setruid(uid)");
+       perror("setreuid()");
        exit(1);
 #endif
     }
diff --git a/sudo.c b/sudo.c
index e96a2210a319431bd98465bfb9deb50a90cc2c25..123a88a3dce39901a3d4ddd3eef5ac843a9b83cb 100644 (file)
--- a/sudo.c
+++ b/sudo.c
@@ -131,9 +131,9 @@ main(argc, argv, envp)
        exit(1);
     }
     rtn = validate();
-    if (setruid(uid)) {
+    if (setreuid(uid, (uid_t)-1)) {
 #ifndef _AIX
-       perror("setruid(uid)");
+       perror("setreuid()");
        exit(1);
 #endif
     }
diff --git a/sudo.h b/sudo.h
index 7e24d81ef7930a6cbb74ad7dd7b7ab7ece77ffcf..1dcd021e09cfa1becf5356b5a10e89234d25fab5 100644 (file)
--- a/sudo.h
+++ b/sudo.h
@@ -289,19 +289,12 @@ extern char **Envp;
 #endif
 extern int errno;
 
-/*
- * Emulate setruid() under linux
- */
-#ifdef linux
-#define setruid(__RUID) (setreuid((uid_t) (__RUID), (uid_t) -1))
-#endif /* linux */
-
 /*
  * This is to placate hpux
  */
 #ifdef hpux
-#define setruid(__RUID)  (setresuid((uid_t) (__RUID), (uid_t) -1, (uid_t) -1))
-#define getdtablesize()  (sysconf(_SC_OPEN_MAX))
+#define setreuid(__RUID, __EUID)       (setresuid(__RUID, __EUID, (uid_t) -1))
+#define getdtablesize()        (sysconf(_SC_OPEN_MAX))
 #ifndef USE_CWD
 #define USE_CWD
 #endif /* USE_CWD */