summaryrefslogtreecommitdiff
path: root/libtrivfs
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2000-03-17 10:29:22 +0000
committerRoland McGrath <roland@gnu.org>2000-03-17 10:29:22 +0000
commit3b1ed7899c85b921c5510d2978c6e56c56d0a0d8 (patch)
tree648d43d41546980e66d83d05182821574c56f822 /libtrivfs
parent1d361c4dd0a5b562337b97b65c8ea673549f9374 (diff)
2000-03-17 Roland McGrath <roland@baalperazim.frob.com>
* io-reauthenticate.c (trivfs_S_io_reauthenticate): Use ports_get_send_right.
Diffstat (limited to 'libtrivfs')
-rw-r--r--libtrivfs/io-reauthenticate.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/libtrivfs/io-reauthenticate.c b/libtrivfs/io-reauthenticate.c
index 3754ff72..7a1865f5 100644
--- a/libtrivfs/io-reauthenticate.c
+++ b/libtrivfs/io-reauthenticate.c
@@ -1,5 +1,5 @@
/*
- Copyright (C) 1993, 1994, 1995, 1996 Free Software Foundation
+ Copyright (C) 1993,94,95,96,2000 Free Software Foundation, Inc.
This file is part of the GNU Hurd.
@@ -8,7 +8,7 @@ it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
-The GNU Hurd is distributed in the hope that it will be useful,
+The GNU Hurd is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
@@ -41,17 +41,15 @@ trivfs_S_io_reauthenticate (struct trivfs_protid *cred,
do
err = ports_create_port_noinstall (cred->po->cntl->protid_class,
cred->po->cntl->protid_bucket,
- sizeof (struct trivfs_protid),
+ sizeof (struct trivfs_protid),
&newcred);
while (err == EINTR);
if (err)
return err;
auth = getauth ();
- newright = ports_get_right (newcred);
- err = mach_port_insert_right (mach_task_self (), newright, newright,
- MACH_MSG_TYPE_MAKE_SEND);
- assert_perror (err);
+ newright = ports_get_send_right (newcred);
+ assert (newright != MACH_PORT_NULL);
newcred->user = iohelp_reauth (auth, rendport, newright, 1);
if (idvec_contains (newcred->user->uids, 0))
@@ -62,15 +60,15 @@ trivfs_S_io_reauthenticate (struct trivfs_protid *cred,
mach_port_deallocate (mach_task_self (), auth);
newcred->hook = cred->hook;
-
+
mutex_lock (&cred->po->cntl->lock);
newcred->po = cred->po;
newcred->po->refcnt++;
mutex_unlock (&cred->po->cntl->lock);
-
+
do
err = io_restrict_auth (newcred->po->cntl->underlying, &newcred->realnode,
- newcred->user->uids->ids,
+ newcred->user->uids->ids,
newcred->user->uids->num,
newcred->user->gids->ids,
newcred->user->gids->num);