summaryrefslogtreecommitdiff
path: root/boot
diff options
context:
space:
mode:
authorThomas Bushnell <thomas@gnu.org>2000-03-17 17:18:33 +0000
committerThomas Bushnell <thomas@gnu.org>2000-03-17 17:18:33 +0000
commit146baae9487e0cf6f837690f2134c741233a6d36 (patch)
treef62b72c0b1ca3200083d83093638a02d8b2de586 /boot
parentfd311e7b4b90f928e4148f9496994aa4769e59b3 (diff)
2000-03-17 Thomas Bushnell, BSG <tb@mit.edu>
* boot.c (S_io_reauthenticate): Don't use MACH_MSG_TYPE_MAKE_SEND in Hurd RPC.
Diffstat (limited to 'boot')
-rw-r--r--boot/ChangeLog5
-rw-r--r--boot/boot.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/boot/ChangeLog b/boot/ChangeLog
index 5b7c411f..cc7b67f9 100644
--- a/boot/ChangeLog
+++ b/boot/ChangeLog
@@ -1,3 +1,8 @@
+2000-03-17 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * boot.c (S_io_reauthenticate): Don't use MACH_MSG_TYPE_MAKE_SEND
+ in Hurd RPC.
+
2000-02-28 Roland McGrath <roland@baalperazim.frob.com>
* boot.c (ds_device_get_status): Accept *STATUSLEN greater than needed.
diff --git a/boot/boot.c b/boot/boot.c
index 9a2435e4..ece9f281 100644
--- a/boot/boot.c
+++ b/boot/boot.c
@@ -1679,10 +1679,14 @@ S_io_reauthenticate (mach_port_t object,
uid_t *gu, *au;
gid_t *gg, *ag;
unsigned int gulen = 0, aulen = 0, gglen = 0, aglen = 0;
+ error_t err;
+ mach_port_insert_right (mach_task_self (), object, object,
+ MACH_MSG_TYPE_MAKE_SEND);
+
if (! auth_server_authenticate (authserver,
rend, MACH_MSG_TYPE_COPY_SEND,
- object, MACH_MSG_TYPE_MAKE_SEND,
+ object, MACH_MSG_TYPE_COPY_SEND,
&gu, &gulen,
&au, &aulen,
&gg, &gglen,
@@ -1694,6 +1698,7 @@ S_io_reauthenticate (mach_port_t object,
mig_deallocate ((vm_address_t) au, aulen * sizeof *gu);
}
mach_port_deallocate (mach_task_self (), rend);
+ mach_port_deallocate (mach_task_self (), object);
return 0;
}