summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
}