diff options
-rw-r--r-- | boot/ChangeLog | 5 | ||||
-rw-r--r-- | boot/boot.c | 7 |
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; } |