Tue Jul 16 11:30:42 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* lock-acquire.c (EWOULDBLOCK): Define, to work around new libc
 	bug.

Sun Jul  7 21:26:02 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* start-translator.c (fshelp_start_translator): Don't use unsafe
 	MOVE_SEND in call to fshelp_start_translator_long.
	* fetch-root.c (fshelp_fetch_root): Don't use unsafe MOVE_SEND in
 	call to fshelp_start_translator_long.

Thu Jul  4 15:38:36 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* get-identity.c (fshelp_get_identity): Bother to initialize
 	I->fileno.

Wed Jul  3 11:29:49 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* get-identity.c: New file.
	* fshelp.h (struct port_bucket): Mention name in global scope.
	(fshelp_get_identity): New declaration.
	* Makefile (SRCS): Add get-identity.c.

Thu Jun 27 17:56:44 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* Makefile (LCLHDRS): Add trans.h.

Mon Jun 24 16:00:48 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* fetch-root.c (fshelp_fetch_root): Deal properly with errors from
 	auth_makeauth.

Fri Jun 21 00:07:26 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* set-options.c (fshelp_set_options): Add & use INPUT arg.
	* fshelp.h (fshelp_set_options): Add INPUT argument.
	(fshelp_return_malloced_buffer): New declaration.
	* return-buffer.c: New file.
	* Makefile (SRCS): Add return-buffer.c.

Wed Jun 19 18:50:01 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* set-options.c: New file.
	* fshelp.h: Add fshelp_set_options.
	* Makefile (SRCS): Add set-options.c.

Fri May 10 16:12:50 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* delegate.c (fshelp_delegate_translation): Don't cast ARGV when
	calling arg_create.

Thu May  9 11:17:08 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* exec-reauth.c (fshelp_exec_reauth): Provide new third arg to
 	proc_setowner.

	* delegate.c (fshelp_delegate_translation): Cast first arg to
 	argz_create appropriately.

	* fetch-root.c (fshelp_fetch_root) [reauth]: Use new args for
 	auth_user_authenticate.

Fri Apr 26 18:51:07 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* start-translator-long.c (service_fsys_startup): Make mach_msg
	calls interruptible.

Wed Feb 21 17:09:12 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* set-active.c (fshelp_set_active): When EXCL, make sure the
	active translator is really active.

	* fetch-root.c (fshelp_fetch_root): Make sure the returned fsys control
	port is valid.

Wed Feb 14 16:42:31 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* start-translator-long.c (fshelp_start_translator_long):
	Terminate TASK if the exec fails.

Mon Jan 29 15:32:54 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* fetch-root.c (fshelp_fetch_root): Use hurd_condition_wait
 	instead of condition_wait.
	
	* set-active.c (fshelp_set_active): Deal correctly with the case
 	where a passive translator is being started.

Fri Jan 26 17:56:08 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* fetch-root.c (fshelp_fetch_root): If io_reauthenticate returns
	an error, just return MACH_PORT_NULL instead of aborting (the
	server probably died; not a good sign for the health of the
	translator, but it's better than dying ourselves...).

Tue Jan  2 15:36:28 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* exec-reauth.c (fshelp_exec_reauth): Don't setgid the uids.

Mon Jan  1 17:13:25 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* exec-reauth.c (fshelp_exec_reauth): New function.
	* fshelp.h (fshelp_exec_reauth): New declaration.
	* Makefile (SRCS): Added exec-reauth.c

Mon Nov  6 13:37:52 1995  Miles Bader  <miles@gnu.ai.mit.edu>

	* start-translator-long.c (service_fsys_startup): Don't pass the
	address of reply.realnodeType.msgt_name -- it's not really an int,
	although the compiler pretends it is.

	* fetch-root.c (fshelp_fetch_root): When PORT_TYPE is
	MACH_MSG_TYPE_MAKE_SEND, make the right *before* using it.
	(fshelp_fetch_root): Don't bother reauthenticating the underlying
	node returned by CALLBACK2 -- it already has the right ids.  This
	also gets rid of a problem with giving away our auth port prematurely.

Wed Nov  1 16:14:08 1995  Miles Bader  <miles@gnu.ai.mit.edu>

	* fetch-root.c (fshelp_fetch_root): Uses two callbacks now.  Pass
	an appropiate function to fshelp_start_translator_long instead of
	the actual underlying node.
	* fshelp.h (fshelp_fetch_root_callback1_t,
	fshelp_fetch_root_callback2_t): New types replacing fshelp_callback_t.
	(fshelp_fetch_root): Takes two callback args now.

	* start-translator.c (fshelp_start_translator): Change to use a
	callback function instead of passing the actual node.
	* start-translator-long.c (fshelp_start_translator_long,
	service_fsys_startup): Ditto.
	(service_fsys_startup): Support the open flags coming from the
	translator.
	(struct fsys_startup_request): Add the flags field.
	(flagsCheck): New variable.
	* fshelp.h (fshelp_open_fn_t): New type.
	(fshelp_start_translator, fshelp_start_translator_long): Now take
	a function that opens the underlying node instead of the node itself.

Fri Oct 13 16:52:43 1995  Miles Bader  <miles@gnu.ai.mit.edu>

	* start-translator-long.c (fshelp_start_translator_long): Undo
	last change to file_exec args.

Sat Oct  7 20:20:26 1995  Miles Bader  <miles@gnu.ai.mit.edu>

	* start-translator-long.c (fshelp_start_translator_long): Add
	values for the dealloc parameters to file_exec (all false).
	Give away our send right to TASK when we do file_exec.
	Initialize BOOTSTRAP & TASK so the cleanup code doesn't get confused.
	
Fri Sep 29 17:44:00 1995  Miles Bader  <miles@gnu.ai.mit.edu>

	* transbox-init.c (fshelp_transbox_init): Initialize the flags field.

Tue Sep  5 18:25:24 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>

	* fshelp.h (fshelp_delegate_translation): New declaration.
	* delegate.c (fshelp_delegate_translation): New file, new function.

Fri Sep  1 12:01:06 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>

	* Makefile (SRCS): Add delegate.c.
	(REMHDRS): Removed.

Tue Jul 11 14:11:24 1995  Michael I Bushnell  <mib@duality.gnu.ai.mit.edu>

	* start-translator-long.c (fshelp_start_translator_long): If
 	PORTS_TYPE is MACH_MSG_TYPE_COPY_SEND, then drop our right on
 	bootstrap after the call, because we are pretending we haven't
 	changed the calling user's state.  For the same reason, save the
 	old BOOTSTRAP port value, and restore it after the call.

Thu Jul  6 15:35:23 1995  Michael I Bushnell  <mib@duality.gnu.ai.mit.edu>

	* Makefile: Removed dependencies that are now automatically
 	generated.

Mon Jun 26 15:36:21 1995  Michael I Bushnell  <mib@duality.gnu.ai.mit.edu>

	* fetch-root.c (fshelp_fetch_root): Wakeup other blocked calls
	*before* returning errors provided by fshelp_start_translator_long
	or CALLBACK.

Fri Jun 23 14:25:52 1995  Michael I Bushnell  <mib@duality.gnu.ai.mit.edu>

	* fetch-root.c (fshelp_fetch_root): Parenthesize assert test
        correctly.
	* start-translator-long.c (service_fsys_startup): Parenthesize
	construction of flags arg correctly.

Thu Jun 22 17:06:51 1995  Michael I Bushnell  <mib@duality.gnu.ai.mit.edu>

	* fetch-root.c (fshelp_fetch_root) [reauth]: If PORT is null, then
        just return it.

	* fetch-root.c (fshelp_fetch_root): Pass type and length
	parameters in the right order in calls to auth_makeauth and
	fshelp_start_translator_long.

Wed Jun 21 13:19:44 1995  Michael I Bushnell  <mib@duality.gnu.ai.mit.edu>

	* fetch-root.c (fshelp_fetch_root): Pass new third arg to
        fshelp_set_active.

Mon Jun 19 16:41:51 1995  Michael I Bushnell  <mib@duality.gnu.ai.mit.edu>

	* fetch-control.c (fshelp_fetch_control): Only frob refs if
        control is non-null.

	* fshelp.h (fshelp_set_active): New parm EXCL.
	* set-active.c (fshelp_set_active): Implement new interface.

	* fetch-control.c (fshelp_fetch_control): Don't frob obsolete
        innerlock.
	* transbox-init.c (fshelp_transbox_init): Don't init obsolete
	innerlock.  Do init TRANSBOX->wakeup.
	* set-active.c (fshelp_set_active): Don't frob obsolete innerlock.
	* fetch-root.c (fshelp_fetch_root): Reduce levels of loops.  Only
	change ACTIVE when we are holding the lock.  Use condition
	mechanism to serialize attempts to start the passive translator.
	* fshelp.h (struct transbox): Delete member `innerlock'.  Add
	members `flags' and `wakeup'; and define values for flags.

Wed Jun 14 13:06:17 1995  Michael I Bushnell  <mib@duality.gnu.ai.mit.edu>

	* fshelp.h (fshelp_fetch_root): New arg COOKIE.
	(fshelp_callback_t): COOKIE->COOKIE1.  New arg COOKIE2.
	* fetch-root.c (fshelp_fetch_root): Take new arg COOKIE and pass
        it to CALLBACK.  Free ARGZ after we're done with them.  Never
	 consume the right on DOTDOT.
	* Makefile (LCLHDRS): Removed trans.h.
	* handle-startup.c, init-trans.c, start-trans.c,
	transboot-clean.c, kill-trans.c, trans-iter.c, trans-cntl.c,
	trans-drop.c, trans.h: Deleted files.
	
	* Makefile (SRCS): Remove translated.c.
	* fshelp.h (fshelp_fetch_root): Don't actually need ROOT_TYPE.
	UIDS and GIDS should be arrays.
	(fshelp_callback_t): Should be error_t.

Tue Jun 13 15:59:08 1995  Michael I Bushnell  <mib@duality.gnu.ai.mit.edu>

	Brand new translator support routines
	* fshelp.h: Deleted `struct translink', fshelp_transboot_port_type,
	fshelp_init_trans_link, fshelp_set_control,
	fshelp_start_translator, fshelp_handle_fsys_startup,
	fshelp_transboot_clean, fshelp_translator_iterate,
	fshelp_translator_drop, fshelp_kill_translator.  
	* fshelp.h: Added fshelp_start_translator_long,
	fshelp_start_translator, `struct transbox', fshelp_fetch_root,
	fshelp_transbox_init, fshelp_callback_t, fshelp_translated,
	fshelp_set_active, fshelp_fetch_control, fshelp_drop_transbox.
	* Makefile (SRCS): Removed handle-startup.c, init-trans.c,
	start-trans.c, transboot-clean.c, kill-trans.c, trans-iter.c,
	trans-cntl.c, trans-drop.c.  Added start-translator-long.c,
	start-translator.c, fetch-root.c, transbox-init.c, translated.c,
	set-active.c, fetch-control.c, and drop-transbox.c.
	(OBJS): Replaced with computation from $(SRCS).
	* start-translator.c, fetch-root.c, transbox-init.c, set-active.c,
	fetch-control.c, drop-transbox.c: New files.
	* start-translator-long.c: Adapted from ../lib/start-trans.c.
	Include "fshelp.h" and <assert.h>.
	(service_fsys_startup): Declare static.  Only pass
	MACH_RCV_TIMEOUT if TIMEOUT is nonzero.  New parm `node_type'.
	(fshelp_start_translator_long): Renamed from start_translator. 
	Lookup up executable at NAME instead of ARGZ.  Delete vars
	INIT_PORTS, FD_PORTS, INIT_INTS, I, and CHILD_PROC.  Don't set any
	of the ports, fds, or ints, with the exception of the bootstrap
	port.  Don't bother getting the child's proc server port. 
	Don't use __USEPORT.  If we fail before calling file_exec,
	then deallocate the ports ourselves, if they were MOVE_SEND.

Fri Oct 28 18:37:56 1994  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* start-trans.c: Change `assert (!err)' to `assert_perror (err)'
	throughout.
	(fshelp_start_translator): Add assert_perror for io_reauthenticate
	return.

Mon Sep 19 20:58:35 1994  Michael I Bushnell  <mib@churchy.gnu.ai.mit.edu>

	* trans-iter.c (fshelp_translator_iterate): Bother to attach
	ITEM onto LIST as it's constructed. 

Sat Sep 10 08:42:00 1994  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* transboot-clean.c (fshelp_transboot_clean): Use EDIED, not EINVAL.

Wed Sep  7 10:34:13 1994  Michael I Bushnell  <mib@churchy.gnu.ai.mit.edu>

	* start-trans.c (fshelp_start_translator): RETRY label belongs
	*after* initial lock of LINK.  Unlock LINK before returning.

Tue Sep  6 14:52:49 1994  Michael I Bushnell  <mib@churchy.gnu.ai.mit.edu>

	* fshelp.h (struct trans_link): New member `lock'.
	(fshelp_start_translator): Omit `lock' arg.	
	* trans.h (struct transboot): Omit member `lock'.
	* init-trans.c (fshelp_init_trans_link): Initialize LINK->lock.
	* start-trans.c (fshelp_start_translator): Don't set TB->lock.
	Omit `lock' arg; use LINK->lock instead.
	(fshelp_start_translator): Don't deallocate DIR.
	* handle-startup.c (fshelp_handle_fsys_startup): Lock
	TB->link->lock instead of TB->lock.
	* transboot-clean.c (fshelp_transboot_clean): Likewise.

Thu Sep  1 16:46:53 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* fshelp.h (fshelp_start_translator): Doc fix.
	* start-trans.c (fshelp_start_translator): Don't reauthenticate
	NODE argument; expect fully authenticated node.

Wed Aug 31 14:28:25 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* start-trans.c (fshelp_start_translator): Before call to 
	proc_reauthenticate, CALL mach_reply_port, not just refer to 
	confusing CPP macro.

	* start-trans.c (fshelp_start_translator): Call proc_setowner
	for new process.

Tue Aug 30 16:19:45 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* start-trans.c: Include <string.h>.

	* start-trans.c (fshelp_start_translator): Use new
	reauthentication protocol throughout.

	* start-trans.c (fshelp_start_translator): Use
	hurd_file_name_lookup instead of hurd_path_lookup.

Wed Aug 17 16:03:49 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* start-trans.c (fshelp_start_translator): Designate the new
	process as our child; then make sure it's under its own
	authentication.  As long as we've gotten the proc port for
	this operation, might as well pass it too.
	(fshelp_start_translator): Zero init ints and init ports.

	* transboot-clean.c (fshelp_transboot_clean): Only set an error
	if we haven't gotten fsys_startup yet.

Mon Aug 15 12:24:47 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* start-trans.c (fshelp_start_translator): Set LINK->starting
	before blocking.
	* handle-startup.c (fshelp_handle_fsys_startup): Clear
	LINK->starting before waking up blocks.

	* fshelp.h (struct trans_link): New member `error'.
	* transboot-clean.c (fshelp_transboot_clean): Wakeup blocked
	users with error.
	* trans-cntl.c (fshelp_set_control): Clear LINK->error.
	* init-trans.c (fshelp_init_trans_link): Likewise.

	* start-trans.c (fshelp_start_translator): Fix
	auth_user_authenticate to use the correct rendezvous port in
	producing realnode from node..
	
Fri Jul 22 12:03:14 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* Makefile: Rewritten in accord with new scheme.

Wed Jul 20 13:31:39 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* start-trans.c (fshelp_start_translator): Missing first arg
	to mach_port_deallocate of `dir'.

Tue Jul 19 18:44:53 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* fshelp.h (fshelp_start_translator): Doc fix.
	(fshelp_handle_fsys_startup): Deleted dotdot args.
	* trans.h (struct transboot): Removed member `dir'.
	* start-trans.c (fshelp_start_translator): Don't initialize
	TB->dir.
	(fshelp_start_translator): Deallocate DIR arg when we're
	done with it.
	* handle-startup.c (fshelp_handle_fsys_startup): Deleted
	dotdot args.
	* transboot-clean.c (fshelp_transboot_clean): Don't free
	no-longer-existent TB->dir.

Fri Jul  8 12:58:54 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* trans-cntl.c: Include <assert.h>.

Thu Jul  7 18:08:49 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* trans-drop.c: New file.
	* fshelp.h (fshelp_translator_drop): New declaration.
	* Makefile (OBJS): Added trans-drop.o.
	(SRCS): ADded trans-drop.c.

Tue Jul  5 14:14:53 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* Makefile (DIST_FILES): New variable.

Thu Jun 16 16:27:39 1994  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* fshelp.h (fshelp_get_node_port, fshelp_done_with_node): Deleted
	prototypes.
	(fshelp_start_translator): Changed types of DIR and NODE to be
	file_t.
	* trans.h (struct transboot): Deleted members UID and GID.
	Changed types of DIR and NODE to be file_t.
	* transboot-clean.c (fshelp_transboot_clean): Deallocate ports
	TB->node and TB->dir instead of calling fshelp_done_with_node.
	* start-trans.c (fshelp_start_translator): Changed types of
	DIR and MODE to be file_t.  Rewritten to behave correctly in
	numerous ways.
	* handle-startup.c (fshelp_handle_fsys_startup): Return REAL
	and DIR from ports in TB instead of calling fshelp_get_node_port.

Fri Jun  3 18:13:04 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* fshelp.h (fshelp_set_control): New declaration.
	* trans-cntl.c: New file.
	* Makefile (SRCS): Added trans-cntl.c.
	(OBJS): Added trans-cntl.o.
	trans-cntl.o: Depend on trans.h.

Thu May  5 07:46:00 1994  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)

	* Makefile: Change uses of $(headers) to $(includedir).

Mon Feb 14 11:32:59 1994  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)

	* Makefile (install): New target.

