summaryrefslogtreecommitdiff
path: root/libnetfs
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 /libnetfs
parentf030ef4e9d02fc0c88113a569773e49d629e9aa2 (diff)
*** empty log message ***
Diffstat (limited to 'libnetfs')
-rw-r--r--libnetfs/ChangeLog7
-rw-r--r--libnetfs/io-reauthenticate.c3
-rw-r--r--libnetfs/make-protid.c10
3 files changed, 18 insertions, 2 deletions
diff --git a/libnetfs/ChangeLog b/libnetfs/ChangeLog
index ccb98e49..c125bb94 100644
--- a/libnetfs/ChangeLog
+++ b/libnetfs/ChangeLog
@@ -1,3 +1,10 @@
+Thu Jul 18 23:09:54 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * io-reauthenticate.c (netfs_S_io_reauthenticate): After attaching
+ credential to NEWPI, install it in NETFS_PORT_BUCKET->portset.
+ * make-protid.c (netfs_make_protid): If CRED is null, use
+ noinstall version of ports_create_port.
+
Sat Jul 13 20:10:02 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* io-reauthenticate.c (netfs_S_io_reauthenticate): Repeat
diff --git a/libnetfs/io-reauthenticate.c b/libnetfs/io-reauthenticate.c
index aea60154..dff3af8f 100644
--- a/libnetfs/io-reauthenticate.c
+++ b/libnetfs/io-reauthenticate.c
@@ -67,6 +67,9 @@ netfs_S_io_reauthenticate (struct protid *user, mach_port_t rend_port)
newpi->credential = netfs_make_credential (gen_uids, genuidlen,
gen_gids, gengidlen);
+ mach_port_move_member (mach_task_self (), newpi->pi.port_right,
+ netfs_port_bucket->portset);
+
mutex_unlock (&user->po->np->lock);
ports_port_deref (newpi);
diff --git a/libnetfs/make-protid.c b/libnetfs/make-protid.c
index 352698e2..7d9240a1 100644
--- a/libnetfs/make-protid.c
+++ b/libnetfs/make-protid.c
@@ -25,8 +25,14 @@ netfs_make_protid (struct peropen *po, struct netcred *cred)
{
struct protid *pi;
- errno = ports_create_port (netfs_protid_class, netfs_port_bucket,
- sizeof (struct protid), &pi);
+ if (cred)
+ errno = ports_create_port (netfs_protid_class, netfs_port_bucket,
+ sizeof (struct protid), &pi);
+ else
+ errno = ports_create_port_noinstall (netfs_protid_class,
+ netfs_port_bucket,
+ sizeof (struct protid), &pi);
+
if (errno)
return 0;