aboutsummaryrefslogtreecommitdiff
path: root/pfinet/io-ops.c
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1996-07-19 03:42:43 +0000
committerMichael I. Bushnell <mib@gnu.org>1996-07-19 03:42:43 +0000
commit8ad48f6ce444648397d82b107cd196c24599d7cb (patch)
tree1dbc9e6c691521e74a48a9df2b7944366a4c0922 /pfinet/io-ops.c
parentf030ef4e9d02fc0c88113a569773e49d629e9aa2 (diff)
downloadhurd-8ad48f6ce444648397d82b107cd196c24599d7cb.tar.gz
hurd-8ad48f6ce444648397d82b107cd196c24599d7cb.tar.bz2
hurd-8ad48f6ce444648397d82b107cd196c24599d7cb.zip
*** empty log message ***
Diffstat (limited to 'pfinet/io-ops.c')
-rw-r--r--pfinet/io-ops.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/pfinet/io-ops.c b/pfinet/io-ops.c
index 1ca158bb..72895065 100644
--- a/pfinet/io-ops.c
+++ b/pfinet/io-ops.c
@@ -373,7 +373,7 @@ S_io_reauthenticate (struct sock_user *user,
aux_gids = agbuf;
mutex_lock (&global_lock);
- newuser = make_sock_user (user->sock, 0);
+ newuser = make_sock_user (user->sock, 0, 1);
auth = getauth ();
newright = ports_get_right (newuser);
@@ -401,6 +401,10 @@ S_io_reauthenticate (struct sock_user *user,
for (i = 0; i < genuidlen; i++)
if (gen_uids[i] == 0)
newuser->isroot = 1;
+
+ mach_port_move_member (mach_task_self (), newuser->pi.port_right,
+ pfinet_bucket->portset);
+
mutex_unlock (&global_lock);
ports_port_deref (newuser);
@@ -445,7 +449,7 @@ S_io_restrict_auth (struct sock_user *user,
if (uids[i] == 0)
isroot = 1;
- newuser = make_sock_user (user->sock, isroot);
+ newuser = make_sock_user (user->sock, isroot, 0);
*newobject = ports_get_right (newuser);
*newobject_type = MACH_MSG_TYPE_MAKE_SEND;
ports_port_deref (newuser);
@@ -463,7 +467,7 @@ S_io_duplicate (struct sock_user *user,
return EOPNOTSUPP;
mutex_lock (&global_lock);
- newuser = make_sock_user (user->sock, user->isroot);
+ newuser = make_sock_user (user->sock, user->isroot, 0);
*newobject = ports_get_right (newuser);
*newobject_type = MACH_MSG_TYPE_MAKE_SEND;
ports_port_deref (newuser);