diff options
author | Michael I. Bushnell <mib@gnu.org> | 1996-07-19 03:42:43 +0000 |
---|---|---|
committer | Michael I. Bushnell <mib@gnu.org> | 1996-07-19 03:42:43 +0000 |
commit | 8ad48f6ce444648397d82b107cd196c24599d7cb (patch) | |
tree | 1dbc9e6c691521e74a48a9df2b7944366a4c0922 /pfinet/io-ops.c | |
parent | f030ef4e9d02fc0c88113a569773e49d629e9aa2 (diff) | |
download | hurd-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.c | 10 |
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); |