Fri Dec  9 01:35:54 1994  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* io-write.c: Use mach_msg_type_number_t in place of unsigned int
        and int.
	* io-read.c: Likewise.
	* io-readable.c: Likewise.

Tue Oct 25 10:54:06 1994  Michael I Bushnell  <mib@churchy.gnu.ai.mit.edu>

	* fsys-getroot.c (trivfs_S_fsys_getroot): Don't clear O_NONBLOCK.

Tue Aug 30 13:23:55 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* fsys-syncfs.c: New file.
	* Makefile (FSYSSRCS): Added fsys-syncfs.c.
	* fsys-stubs.c (trivfs_S_fsys_mod_readonly): New function.

	* Makefile (FSSRCS): Remove dir-pathtrans.c; add dir-lookup.c.
	* dir-lookup.c: Renamed from dir-pathtrans.c
	* dir-pathtrans.c (trivfs_S_dir_lookup): Renamed from 
	trivfs_S_dir_pathtrans.

	* fsys-getroot.c (trivfs_S_fsys_getroot): Use FS_RETRY_NORMAL
	instead of FS_RETRY_NONE.
	(trivfs_complete_open): Likewise.

	* file-set-trans.c (trivfs_S_file_set_translator): Change to args
	as for new file_set_translator procotol.

Mon Aug 29 12:52:43 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Use new
	authentication protocol.

Wed Aug 17 20:11:29 1994  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* io-select.c (trivfs_S_io_select): Take poly arg for notify port.

Thu Aug 11 11:58:48 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* io-version.c (trivfs_S_io_server_version): Fix typo in name.

Fri Jul 22 12:41:55 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* fsys-goaway.c: Include fsys_S.h with " not with <>.
	* handle-port.c: Include priv.h with " not with <>.

	* Makefile: Converted to use new scheme.
	* fsmutations.h (SERVERPREFIX): Deleted macro.
	* fsys-getroot.c: Include "fsys_reply_U.h" instead of "fsys_reply.h".

Wed Jul 20 15:59:36 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* file-inv.c: New file.
	* Makefile (FSSRCS): Added file-inv.c.

Tue Jul 19 19:23:33 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* fsys-stubs.c (trivfs_S_fsys_startup): Deleted dotdot args.
	* fsys-getroot.c (trivfs_S_fsys_getroot): New arg `dotdot';
	don't do anything with it.

Mon Jul 11 14:49:03 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* trivfs.h (trivfs_set_atime, trivfs_set_mtime): New functions.
	* times.c: New file.
	* Makefile (OTHERSRCS): Added `times.c'.

Thu Jul  7 10:39:04 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* Makefile (DIST_FILES): Add priv.h.

Tue Jul  5 13:24:59 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* Makefile (DIST_FILES): Added fsmutations.h.
	(TAGSHDRS): New variable.

	* fsys-getroot.c: Include "fsys_reply.h".
	(trivfs_S_fsys_getroot, trivfs_complete_open):
	Uncomment code now that we have reply ports.
	(struct pending_open): Delete USERS_PORT, add CRED.
	(trivfs_S_fsys_getroot): When creating PENDO, don't call 
	ports_get_right, call ports_port_ref; store CRED in PENDO.
	(trivfs_complete_open): Deal with errors properly.  When sending
	port to user, call ports_get_right.  Always call 
	ports_done_with_port when freeing pending open struct.
	* Makefile (MIGSTUBS): Added fsys_replyUser.o.
	(fsys_reply.h fsys_replyUser.c): New rule.
	(fsys-getroot.c): Add dependency on fsys_reply.h.

	* fsmutations.h (REPLY_PORTS): New macro, affecting io and fsys
	interfaces.
	* io-async-icky.c (trivfs_S_io_get_icky_async_id): Added new
	REPLY and REPLYTYPE args.
	* io-async.c (trivfs_S_io_async): Likewise.
	* io-duplicate.c (trivfs_S_io_duplicate): Likewise.
	* io-map.c (trivfs_S_io_map): Likewise.
	* io-modes-get.c (trivfs_S_io_get_openmodes): Likewise.
	* io-modes-off.c (trivfs_S_io_clear_some_openmodes): Likewise.
	* io-modes-on.c (trivfs_S_io_set_some_openmodes): Likewise.
	* io-modes-set.c (trivfs_S_io_set_all_openmodes): Likewise.
	* io-owner-get.c (trivfs_S_io_get_owner): Likewise.
	* io-owner-mod.c (trivfs_S_io_mod_owner): Likewise.
	* io-read.c (trivfs_S_io_read): Likewise.
	* io-readable.c (trivfs_S_io_readable): Likewise.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Likewise.
	* io-restrict-auth.c (trivfs_S_io_restrict_auth): Likewise.
	* io-seek.c (trivfs_S_io_seek): Likewise.
	* io-select.c (trivfs_S_io_select): Likewise.
	* io-stat.c (trivfs_S_io_stat): Likewise.
	* io-stubs.c (trivfs_S_io_map_cntl): Likewise.
	(trivfs_S_io_get_conch): Likewise.
	(trivfs_S_io_release_conch): Likewise.
	(trivfs_S_io_eofnotify): Likewise.
	(trivfs_S_io_prenotify): Likewise.
	(trivfs_S_io_postnotify): Likewise.
	(trivfs_S_io_readsleep): Likewise.
	(trivfs_S_io_sigio): Likewise.
	(trivfs_S_io_readnotify): Likewise.
	* io-write.c (trivfs_S_io_write): Likewise.
	* io-version.c (trivfs_S_trivfs_io_server_version): Likewise.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Likewise.
	* fsys-goaway.c (trivfs_S_fsys_goaway): Likewise.
	* fsys-stubs.c (trivfs_S_fsys_startup): Likewise.
	(trivfs_S_fsys_getpriv): Likewise.
	(trivfs_S_fsys_init): Likewise.
	(trivfs_S_fsys_getfile): Likewise.

Wed Jun 29 13:02:17 1994  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* io-read.c (trivfs_S_io_read): Always return EOPNOTSUPP.
	* io-write.c (trivfs_S_io_write): Likewise.
	* file-truncate.c (trivfs_S_file_truncate): Likewise.
	* io-readable.c (trivfs_S_io_readable): Likewise.
	* io-select.c (trivfs_S_io_select): Likewise.

	* fsys-getroot.c (trivfs_S_fsys_getroot): Use trivfs_allow_open
	instead of trivfs_support_* vars.

	* trivfs.h (trivfs_allow_open): New variable.

	* dir-pathtrans.c (trivfs_S_dir_pathtrans): Delete unused var
	`newcred'.

Mon Jun 27 15:05:06 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* fsys-getroot.c: Comment out code for blocking opens; don't
	permit trivfs_check_open_hook to return EWOULDBLOCK.

Thu Jun 23 12:28:49 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* fsys-getroot.c (trivfs_S_fsys_getroot): Don't call 
	ports_done_with_port for CNTL; the MiG destructor function does
	that for us.

	* fsys-getroot.c (trivfs_S_fsys_getroot): Call trivfs_check_open_hook
	to allow trivfs users to block or restrict opens.
	* trivfs.h (trivfs_check_open_hook, trivfs_complete_open): New
	declarations.
	(struct trivfs_control): New members `openshead' and `openstail'.

Wed Jun 22 14:49:00 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* fsys-getroot.c (trivfs_S_fsys_getroot): Initialize both hook
	members to 0.
	* io-duplicate.c (trivfs_S_io_duplicate): Copy NEWCRED->hook
	from CRED->hook.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Likewise.
	* io-restrict-auth.c (trivfs_S_io_restrict_auth): Likewise.

	* fsys-getroot.c (trivfs_S_fsys_getroot): Don't force read/write
	systems to redefine this function.  If O_foo is set, but
	trivfs_support_foo isn't, then return EACCES.  Call
	io_restrict_auth at the front so we can check open permission
	using the result.  Initialise CRED->po->openmodes.

	* trivfs.h (trivfs_peropen): New member `openmodes'.
	* io-modes-get.c (trivfs_S_io_get_openmodes): Set bits from
	CRED->po->openmodes, but only if we are not a read/write
	server; otherwise the server might be hiding bits elsewhere.

	* dir-pathtrans.c (trivfs_S_dir_pathtrans): Strip out code; always
	return ENOTDIR.

Tue Jun 21 13:21:07 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* file-access.c: New file.
	* dir-chg.c: New file.
	* file-chg.c: New file.
	* Makefile (FSSRCS): Added file-access.c, dir-chg.c, and file-chg.c.

Mon Jun 20 14:42:12 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* dir-readdir.c (trivfs_S_dir_readdir): Declare args in accord
	with fs.defs interface change.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Likewise.  Set
	DO_RETRY and RETRY_NAME appropriately.
	* file-get-transcntl.c (trivfs_S_file_get_translator_cntl): 
	CNTL_TYPE is a pointer.

Fri Jun 17 11:23:47 1994  Roland McGrath  (roland@geech.gnu.ai.mit.edu)

	* file-get-transcntl.c (trivfs_S_file_get_translator_cntl): Add
	missing poly arg.

Wed Jun 15 21:27:20 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* dir-pathtrans.c: Include <string.h> for bcopy.
	* fsys-getroot.c: Likewise.
	* io-duplicate.c: Likewise.
	* io-reauthenticate.c: Likewise.
	* io-restrict-auth.c: Likewise.

Wed Jun 15 16:58:02 1994  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* trivfs.h (trivfs_goaway): New args REALNODE, CNTLTYPE,
	PROTIDTYPE.  All callers changed.

	* fsmutations.h (FSYS_DESTRUCTOR, FSYS_INTRAN): New macros.
	* priv.h (trivfs_control_t): New type.
	(_trivfs_begin_using_control, _trivfs_end_using_control): New
	declarations.
	* migsupport.c (_trivfs_begin_using_control, 
	_trivfs_end_using_control): New functions.
	* fsys-getroot.c (trivfs_S_fsys_getroot): First arg is now
	`struct trivfs_control *'; don't call ports_check_port_type
	ourselves or ports_done_with_port.
	* fsys-goaway.c (trivfs_S_fsys_goaway): Likewise.
	* fsys-stubs.c (trivfs_S_fsys_startup, trivfs_S_fsys_getpriv,
	trivfs_S_fsys_init, trivfs_S_fsys_getfile): Declare first
	arg as `struct trivfs_control *'.

	* trivfs.h (trivfs_protid_porttype, trivfs_cntl_porttype):
	Deleted vars.
	(trivfs_protid_porttypes, trivfs_cntl_porttypes,
	trivfs_protid_nporttypes, trivfs_cntl_nporttypes): New vars.
	(trivfs_control): New member protidtypes.
	(trivfs_handle_port): New args PROTIDTYPE and CNTLTYPE.
	* migsupport.h (_trivfs_begin_using_protid): Check
	against all the members of trivfs_protid_porttypes.
	* dir-pathtrans.c (trivfs_S_dir_pathtrans): Copy type of new port
	from existing port.
	* io-duplicate.c (trivfs_S_io_duplicate): Likewise.
	* io-restrict-auth.c (trivfs_S_io_restrict_auth): Likewise.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Likewise.
	* handle-port.c (trivfs_handle_port): Allocate port of type
	from new arg CNTLTYPE.  Initialize CNTL->protidtypes from new arg 
	PROTIDTYPE.
	* fsys-getroot (trivfs_S_fsys_getroot): Allocate port of type
	from CNTL->protidtypes.

	* trivfs.h (struct trivfs_protid) [hook]: New member.
	(trivfs_protid_create_hook, trivfs_peropen_create_hook,
	trivfs_protid_destroy_hook, trivfs_peropen_destroy_hook): New
	hook functions.
	* dir-pathtrans.c (trivfs_S_dir_pathtrans): Call 
	trivfs_peropen_create_hook.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Likewise.
	* dir-pathtrans.c (trivfs_S_dir_pathtrans): Call
	trivfs_protid_create_hook.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Likewise.
	* io-duplicate.c (trivfs_S_io_duplicate): Likewise.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Likewise.
	* io-restrict-auth.c (trivfs_S_io_restrict_auth): Likewise.
	* protid-clean.c (trivfs_clean_protid): Call
	trivfs_protid_destroy_hook and trivfs_peropen_destroy_hook.

	* trivfs.h (struct trivfs_protid) [po]: New member.
	(struct trivfs_protid) [cntl]: Deleted member.
	(struct trivfs_peropen): New type.
	* file-getcontrol.c (trivfs_S_file_getcontrol): Fetch control
	port through peropen structure.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Likewise.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Likewise.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Reference
	peropen, not cntl.
	* io-restrict-auth.c (trivfs_S_io_restrict_auth): Likewise.
	* io-duplicate.c (trivfs_S_io_duplicate): Likewise.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Create new peropen
	and reference it.
	* dir-pathtrans (trivfs_S_dir_pathtrans): Actually create new
	peropen and cred.
	* protid-clean.c (trivfs_clean_protid): Drop reference on peropen,
	deallocating it if necessary.

	* trivfs.h (struct trivfs_protid) [uids, gids, nuids, ngids]: New
	 members.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Save received
	ids in newly created protid.
	* io-restrict-auth.c (listmember): New function.
	(trivfs_S_io_restrict_auth): Save uids and gids in newly created
	protid.
	* io-duplicate.c (trivfs_S_io_duplicate): Copy uids and gids.
	* protid-clean.c (trivfs_clean_protid): Free CRED->uids and
	CRED->gids.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Initialize uids
	and gids.



