summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils/ChangeLog9
-rw-r--r--utils/Makefile3
-rw-r--r--utils/frobauth-mod.c37
3 files changed, 12 insertions, 37 deletions
diff --git a/utils/ChangeLog b/utils/ChangeLog
index aa1178d6..ba41cfb5 100644
--- a/utils/ChangeLog
+++ b/utils/ChangeLog
@@ -1,3 +1,12 @@
+1999-07-01 Mark Kettenis <kettenis@gnu.org>
+
+ * Makefile (INSTALL-addauth-ops, INSTALL-setauth-ops,
+ INSTALL-su-ops): Removed. These programs don't have to be
+ installed suid-root anymore.
+ * frobauth-mod.c (frobauth_modify): Do not try to set the owner of
+ the processes we're frobbing. The process set their owner
+ themselves when we pass them their new authentication.
+
1999-06-21 Roland McGrath <roland@baalperazim.frob.com>
* login.c (main): For no-uids shell, default SH_ARG0 to informative
diff --git a/utils/Makefile b/utils/Makefile
index 0e4adae1..a2a1a3b1 100644
--- a/utils/Makefile
+++ b/utils/Makefile
@@ -40,9 +40,6 @@ su-LDLIBS = $(LIBCRYPT)
ping-CPPFLAGS = -I$(srcdir)/../pfinet/
INSTALL-login-ops = -o root -m 4755
-INSTALL-addauth-ops = -o root -m 4755
-INSTALL-setauth-ops = -o root -m 4755
-INSTALL-su-ops = -o root -m 4755
INSTALL-ids-ops = -o root -m 4755
INSTALL-ps-ops = -o root -m 4755
INSTALL-w-ops = -o root -m 4755
diff --git a/utils/frobauth-mod.c b/utils/frobauth-mod.c
index 140a74d8..06ccdbfa 100644
--- a/utils/frobauth-mod.c
+++ b/utils/frobauth-mod.c
@@ -1,6 +1,6 @@
/* Modify the current authentication selected processes
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1999 Free Software Foundation, Inc.
Written by Miles Bader <miles@gnu.ai.mit.edu>
This file is part of the GNU Hurd.
@@ -114,7 +114,8 @@ frobauth_modify (struct frobauth *frobauth,
all_auths[num_all_auths - 1] = old_auth;
err = ugids_make_auth (&new,
- all_auths, num_all_auths,
+ all_auths,
+ num_all_auths,
&new_auth);
if (err)
error (0, err,
@@ -128,38 +129,6 @@ frobauth_modify (struct frobauth *frobauth,
MACH_MSG_TYPE_MOVE_SEND);
if (err)
error (0, err, "%d", pid);
- else if (new.eff_uids.num == 0
- ? old.eff_uids.num > 0
- : (old.eff_uids.num == 0
- || (new.eff_uids.ids[0]
- != old.eff_uids.ids[0])))
- /* Now change the process's owner. */
- {
- process_t proc;
- err =
- proc_pid2proc (proc_server, pid,
- &proc);
- if (err)
- error (0, err,
- "%d: Cannot get proc port",
- pid);
- else
- {
- if (new.eff_uids.num == 0)
- err =
- proc_setowner (proc, 0, 1);
- else
- err = proc_setowner
- (proc, new.eff_uids.ids[0], 0);
- if (err)
- error
- (0, err,
- "%d: Cannot set process owner",
- pid);
- mach_port_deallocate
- (mach_task_self (), proc);
- }
- }
}
}