2000-03-17 Roland McGrath * io-reauthenticate.c (netfs_S_io_reauthenticate): Use ports_get_send_right. * dir-lookup.c (netfs_S_dir_lookup): Use ports_get_send_right. Deallocate DIRPORT after fshelp_fetch_root. 2000-01-25 Roland McGrath * dir-lookup.c (netfs_S_dir_lookup): Follow symlink despite flags if MUSTBEDIR is set (i.e. there was a trailing slash). 1999-10-11 Roland McGrath * dir-readdir.c (netfs_S_dir_readdir): Take new DATA_DEALLOC parameter. 1999-09-13 Roland McGrath * iostubs.c: Reverted changes related to io_map_segment. 1999-09-09 Thomas Bushnell, BSG * fsstubs.c (netfs_S_io_pathconf): Delete function. * io-pathconf.c: New file. * Makefile (IOSRCS): Add io-pathconf.c. 1999-09-07 Thomas Bushnell, BSG * iostubs.c (netfs_S_io_map_segment): New function. 1999-07-11 Roland McGrath * file-get-storage-info.c: Add #include . * file-get-translator.c: Likewise. 1999-07-10 Roland McGrath * io-read.c: Add #include for munmap decl. * release-protid.c: Likewise. 1999-07-09 Thomas Bushnell, BSG * file-get-storage-info.c (netfs_S_file_get_storage_info): Use mmap instead of vm_allocate. * file-get-translator.c (netfs_S_file_get_translator): Likewise. * io-read.c (netfs_S_io_read): Likewise. 1999-07-03 Thomas Bushnell, BSG * io-read.c (netfs_S_io_read): Use munmap instead of vm_deallocate. * release-protid.c (netfs_release_protid): Likewise. 1999-07-01 Thomas Bushnell, BSG * nref.c: New file; guts from netfs.h. * nrele.c: Likewise. * nput.c: Likewise. * netfs.h (netfs_nref, netfs_nrele, netfs_nput): Replace inline definitions with normal declarations. (NETFS_EI): Remove macro. * netfs.c: Deleted file. * Makefile (OTHERSRCS): Add nref.c, nrele.c, nput.c. Remove netfs.c. Thu Mar 4 07:18:21 1999 Joel N. Weber II * dir-lookup.c (netfs_S_dir_lookup): Only set newnode to 1 if the lookup does not need to be retried as a result of getting EEXIST. 1999-02-28 Roland McGrath * io-revoke.c (netfs_S_io_revoke): Use ports_class_iterate. Mon Feb 22 04:30:18 1999 Thomas Bushnell, BSG * io-revoke.c (netfs_S_io_revoke): Protect the revocation by blocking other rpcs. Sat Feb 20 20:54:26 1999 Thomas Bushnell, BSG * io-revoke.c (netfs_S_io_revoke): Release lock before iteration. 1999-02-16 Roland McGrath * io-revoke.c (netfs_S_io_revoke): Fix typos. Tue Feb 16 05:37:03 1999 Thomas Bushnell, BSG * io-revoke.c: New file. * Makefile (IOSRCS): Add iorevoke.c. Sun Jan 31 18:27:42 1999 Thomas Bushnell, BSG * file-utimes.c (netfs_S_file_utimes): Understand new semantics for setting to current time. * netfs.h (netfs_attempt_utimes): Update documentation. 1999-01-22 Roland McGrath * file-set-translator.c: Remove makedev, major, minor macro definition. * dir-lookup.c: Likewise. 1998-08-20 Roland McGrath * file-get-fs-options.c (netfs_S_file_get_fs_options): fshelp_return_malloced_buffer renamed to iohelp_*. * fsys-get-options.c (netfs_S_fsys_get_options): Likewise. Tue Jul 14 16:30:48 1998 Thomas Bushnell, n/BSG * dir-lookup.c (netfs_S_dir_lookup): Don't require the node to be a directory in the null pathname case. 1997-09-09 Miles Bader * dir-lookup.c (netfs_S_dir_lookup): Fix type signature of short_circuited_callback1. 1997-09-05 Miles Bader * dir-lookup.c (netfs_S_dir_lookup): Re-aquire the lock on DNP when looping to follow a symlink. 1997-08-29 Miles Bader * file-reparent.c (netfs_S_file_reparent): Use a copy of CRED->user when creating NEW_CRED. 1997-08-28 Miles Bader * dir-lookup.c (netfs_S_dir_lookup): Don't lock DNP or assume it's locked when it shouldn't be. Wed Aug 20 14:05:38 1997 Thomas Bushnell, n/BSG * init-loop.c (netfs_server_loop): New args for ports_manage_port_operations_multithread. Mon Jul 7 16:25:49 1997 Thomas Bushnell, n/BSG * file-exec.c: Include instead of . Suggested by Marcus G. Daniels (marcus@cathcart.sysc.pdx.edu). 1997-06-11 Miles Bader * trans-callback.c, set-get-trans.c: New files. * Makefile (OTHERSRCS): Add trans-callback.c & set-get-trans.c. 1997-06-09 Miles Bader * netfs.h (struct node): Remove istranslated field. (netfs_get_translator): New declaration. * dir-lookup.c (netfs_S_dir_lookup): Use S_IPTRANS bit in nn_stat st_mode field rather than istranslated field. * fsys-getroot.c (netfs_S_fsys_getroot): Likewise. * file-set-translator.c (netfs_S_file_set_translator): Likewise. * io-stat.c (netfs_S_io_stat): Set S_IATRANS & S_IROOT bits in st_mode field of returned buffer if appropriate. * init-startup.c (netfs_startup): Supply program name with error messages. Tue May 27 11:55:17 1997 Thomas Bushnell, n/BSG * file-chmod.c (netfs_S_file_chmod): Turn off any read-only bits. Fri Feb 28 21:14:20 1997 Miles Bader * file-reparent.c (netfs_S_file_reparent): Implement. Sun Feb 23 16:27:34 1997 Miles Bader * dir-mkfile.c (netfs_S_dir_mkfile): Pass context arg to netfs_make_peropen instead of parent node. * file-exec.c (netfs_S_file_exec): Likewise. * dir-lookup.c (netfs_S_dir_lookup): Implement shadow root .. traversal. Use context po argument to netfs_make_peropen & as cookie to fshelp_fetch_root, instead of parent node. * fsys-getroot.c (netfs_S_fsys_getroot): Add PEROPEN_CONTEXT variable, and pass it to netfs_make_peropen & fshelp_fetch_root. * netfs.h (struct peropen): Add shadow_root_parent & shadow_root fields. Removed depth field. Rename dotdotnode field to root_parent. (netfs_make_peropen): Add and use CONTEXT parameter. * make-peropen.c (netfs_make_peropen): Add and use CONTEXT parameter. * release-peropen.c (netfs_release_peropen): Finalize new state. Wed Feb 19 23:58:40 1997 Miles Bader * io-read.c (netfs_S_io_read): Support reading from symlinks. Fri Feb 14 12:34:11 1997 Miles Bader * file-reparent.c (diskfs_S_file_reparent): New function, from dir-reparent.c. * dir-reparent.c: File removed. * Makefile (FSSRCS): dir-reparent.c replaced by file-reparent.c. Mon Jan 20 16:40:02 1997 Miles Bader * dir-reparent.c (netfs_S_dir_reparent): New file. * Makefile (FSSRCS): Add dir-reparent.c. Sat Nov 23 16:24:04 1996 Thomas Bushnell, n/BSG * file-set-translator.c (netfs_S_file_set_translator): Delete var I. Wed Nov 20 17:13:13 1996 Miles Bader * fsys-syncfs.c (netfs_S_fsys_syncfs): Use iohelp_create_iouser, not iohelp_make_iouser. Mon Nov 18 17:06:39 1996 Thomas Bushnell, n/BSG * netfs.h (netfs_report_access): Return error_t. * file-check-access.c (netfs_S_file_check_access): Deal with errors from netfs_report_access. Sat Nov 16 17:17:50 1996 Thomas Bushnell, n/BSG * io-restrict-auth.c (netfs_S_io_restrict_auth): Fix several typos. * fsys-getroot.c (netfs_S_fsys_getroot): iohelp_make_iouser -> iohelp_create_iouser. New arg syntax for fshelp_fetch_root. Fri Nov 15 13:39:03 1996 Thomas Bushnell, n/BSG * netfs.h (struct protid): Replace member `credential' with `user' of new type. All uses of old `credential' member changed to use `user' member. Change all functions that used to take `struct netcred' args to take `struct iouser' args. All callers changed. (netfs_copy_credential, netfs_dropy_credential, netfs_make_credential): Delete functions. * dir-lookup.c (netfs_S_dir_lookup): netfs_copy_credential -> iohelp_dup_iouser. * dir-mkfile.c (netfs_S_dir_mkfile): Likewise. * file-exec.c (netfs_S_file_exec): Likewise. * io-duplicate.c (netfs_S_io_duplicate): Likewise. * release-protid.c (netfs_release_protid): netfs_drop_credential -> iohelp_free_iouser. * dir-lookup.c (netfs_S_dir_lookup): Omit uses of netfs_interpret_credential; do it with new structures. * file-exec.c (netfs_S_file_exec): Likewise. * file-getcontrol.c (netfs_S_file_getcontrol): Likewise. * file-set-translator.c (netfs_S_file_set_translator): Likewise; using fshelp_isowner for permission check. * io-restrict-auth.c (netfs_S_io_restrict_auth): Likewise; guts rewritten. * dir-lookup.c (netfs_S_dir_lookup): netfs_make_credential -> iohelp_make_iouser. * fsys-getroot.c (netfs_S_fsys_getroot): Likewise. * fsys-syncfs.c (netfs_S_fsys_syncfs): Likewise. * io-reauthenticate.c (netfs_S_io_reauthenticate): Use iohelp_reauth instead of doing it by hand. Mon Oct 21 21:56:33 1996 Thomas Bushnell, n/BSG * netfs.h: Add extern inline protection. * netfs.c: New file. * Makefile (OTHERSRCS): Add netfs.c. Wed Sep 18 12:56:05 1996 Miles Bader * std-runtime-argp.c : New include. * std-startup-argp.c : New include. * fsys-get-options.c (netfs_S_fsys_get_options): Initialize ARGZ with the program name, and call netfs_append_args instead of netfs_get_options. * file-get-fs-options.c (netfs_S_file_get_fs_options): Likewise. * append-std-options.c (netfs_append_std_options): Doc fix. * netfs.h (netfs_append_args): New declaration. (netfs_get_options): Declaration removed. : Include removed. * append-args.c (netfs_append_args): New file. * Makefile (OTHERSRCS): Replace get-options.c with append-args.c * file-get-translator.c : New include. Fri Aug 16 19:20:22 1996 Thomas Bushnell, n/BSG * priv.h (end_using_protid_port): Only call ports_port_deref if CRED is set. Fri Jul 26 14:34:11 1996 Miles Bader * file-exec.c (netfs_S_file_exec): Unlock NP before we attempt to do setuid/setgid (which otherwise can deadlock during port reauth). Pay attention to the error code returned by fshelp_exec_reauth, and don't make NEWPI if it's an error. Tue Jul 23 14:28:33 1996 Miles Bader * file-utimes.c (netfs_S_file_utimes): `struct timespec' now uses a field prefix of `tv_'. Thu Jul 18 23:09:54 1996 Michael I. Bushnell, p/BSG * io-reauthenticate.c (netfs_S_io_reauthenticate): After attaching credential to NEWPI, install it in NETFS_PORT_BUCKET->portset. * make-protid.c (netfs_make_protid): If CRED is null, use noinstall version of ports_create_port. Sat Jul 13 20:10:02 1996 Michael I. Bushnell, p/BSG * io-reauthenticate.c (netfs_S_io_reauthenticate): Repeat auth_server_authenticate for as long as we get EINTR. Tolerate other errors without crashing as well. Sun Jul 7 21:28:54 1996 Michael I. Bushnell, p/BSG * io-reauthenticate.c (netfs_S_io_reauthenticate): Don't use unsafe MOVE_SEND in call to auth_server_authenticate. Thu Jul 4 16:56:53 1996 Michael I. Bushnell, p/BSG * io-write.c (netfs_S_io_write): Bother implementing O_APPEND. * io-identity.c (netfs_S_io_identity): Don't take address of ID in call to fshelp_get_identity. Wed Jul 3 11:54:46 1996 Michael I. Bushnell, p/BSG * dir-mkfile.c (netfs_S_dir_mkfile): Return right with MAKE_SEND, not COPY_SEND. * io-identity.c (netfs_S_io_identity): Use fshelp_get_identity instead of creating port ourselves. * netfs.h (struct node): Delete member identity. * make-node.c (netfs_make_node): Don't initialize NP->identity. * drop-node.c (netfs_drop_node): Don't deallocate NP->identity. Thu Jun 27 17:57:30 1996 Michael I. Bushnell, p/BSG * Makefile (LCLHDRS): Add execserver.h. Thu Jun 27 00:24:57 1996 Miles Bader * append-std-options.c: New file. * Makefile (OTHERSRCS): Add append-std-options.c. Wed Jun 26 15:57:13 1996 Miles Bader * netfs.h: Change options parsing interface to match libdiskfs's: (netfs_set_options, netfs_get_options): Updated to inew interface. (netfs_runtime_argp, netfs_std_runtime_argp, netfs_std_startup_arg): New variables. (netfs_append_std_options): New declaration. (netfs_parse_runtime_options, netfs_unparse_runtime_options): Functions removed. * set-options.c (std_runtime_options): Variable removed. (parse_runtime_opt): Function removed. (netfs_set_options): Change to use fshelp_set_options. * fsys-set-options.c (netfs_S_fsys_set_options): Don't convert options string into argv vector. * fsys-get-options.c (netfs_S_fsys_get_options): Use fshelp_return_malloced_buffer to prepare return value. * file-get-fs-options.c (netfs_S_file_get_fs_options): Likewise. * get-options.c (netfs_get_options): Call netfs_append_std_options. * std-startup-argp.c, std-runtime-argp.c, runtime-argp.c: New files. * parse-runtime-options.c, unparse-runtime-options.c: Files removed. * Makefile (OTHERSRCS): Add runtime-argp.c, std-runtime-argp.c, & std-startup-argp.c. Remove parse-runtime-options.c & unparse-runtime-options.c. Tue May 14 14:05:33 1996 Michael I. Bushnell, p/BSG * init-init.c (netfs_fsys_identity): New variable. (netfs_init): Initialize netfs_fsys_identity. * drop-node.c (netfs_drop_node): Destroy NP->identity if it's set. * make-node.c (netfs_make_node): Initialize NP->identity. * netfs.h (struct node): New member `identity'. (netfs_fsys_identity): New variable. * Makefile (IOSRCS): Add io-identity.c. * io-identity.c: New file. Sat May 11 01:24:31 1996 Miles Bader * startup-argp.c (parse_startup_opt): Use ARGP_ERR_UNKNOWN instead of EINVAL. Thu May 9 18:54:11 1996 Michael I. Bushnell, p/BSG * file-get-storage-info.c (netfs_S_file_get_storage_info): fixup Thu May 9 18:15:40 1996 Miles Bader * file-get-storage-info.c (netfs_S_file_get_storage_info): Change to new interface. Thu May 9 11:53:49 1996 Michael I. Bushnell, p/BSG * make-protid.c (netfs_make_protid): Use new ports interface; if it fails return zero. * io-select.c (netfs_S_io_select): No longer has TAG arg. * io-reauthenticate.c (netfs_S_io_reauthenticate): Don't pass right for USER to auth_server_authenticate. * file-sync.c (netfs_S_file_sync): Accept and ignore new omitmeta arg. * dir-rename.c (netfs_S_dir_rename): Accept and pass through excl flag. * dir-link.c (netfs_S_dir_link): Likewise. * netfs.h (netfs_attempt_link): Add excl parm. (netfs_attempt_rename): Likewise. * netfs.h (netfs_attempt_statfs): Use struct statfs, not old deprecated structure. * file-statfs.c (netfs_S_file_statfs): Use new struct statfs. * netfs.h: ioserver.h -> iohelp.h. Mon Apr 29 16:27:37 1996 Michael I. Bushnell, p/BSG * file-getcontrol.c (netfs_S_file_getcontrol): Use correct args to ports_create_port. Sat Apr 27 06:02:03 1996 Roland McGrath * file-getcontrol.c: Use ports_create_port instead of ports_allocate_port, and notice the error. Wed Apr 24 16:02:51 1996 Michael I. Bushnell, p/BSG * io-seek.c (netfs_S_io_seek): Bother to set *NEWOFFSET. Fri Apr 12 16:21:53 1996 Michael I. Bushnell, p/BSG * file-exec.c (netfs_S_file_exec): Copy credential using netfs_copy_credential before handing it off to netfs_make_protid. * dir-lookup.c (netfs_S_dir_lookup): netfs_make_protid's second arg must be a real credential; the unauthenticated port creation frob now makes a genuine (but empty) credential. Thu Apr 11 18:10:29 1996 Michael I. Bushnell, p/BSG * Makefile (fsys-MIGSFLAGS, fs-MIGSFLAGS, io-MIGSFLAGS, ifsock-MIGSFLAGS): Find mutations.h in $(srcdir). Wed Apr 3 14:47:37 1996 Michael I. Bushnell, p/BSG * io-reauthenticate.c (netfs_S_io_reauthenticate): In check for deallocation of aux_gids; check against AGBUF, not AUBUF. Tue Apr 2 09:14:30 1996 Michael I. Bushnell, p/BSG * io-write.c: Include . (netfs_S_io_write): Verify that the user has the file open for writing. * io-read.c: Include . (netfs_S_io_read): Verify that the user has the file open for reading. Mon Apr 1 16:02:29 1996 Michael I. Bushnell, p/BSG * fsstubs.c (netfs_S_file_exec): Remove stub. * Makefile (FSSRCS): Add file-exec.c. * execserver.h: New file. * file-exec.c: New file. Mon Apr 1 14:21:12 1996 Miles Bader * parse-runtime-options.c (netfs_parse_runtime_options): Pass new arg to arg_parse. Tue Mar 19 14:12:32 1996 Michael I. Bushnell, p/BSG * Makefile (LCLHDRS): Add callbacks.h misc.h modes.h mutations.h priv.h. Mon Mar 18 11:09:05 1996 Michael I. Bushnell, p/BSG * netfs.h (netfs_startup): Add declaration. * netfs.h (netfs_protid_class, netfs_control_class, netfs_port_bucket, netfs_root_node, netfs_auth_server_port): Make this extern. * fsys-getroot.c: Include "callbacks.h". * file-set-translator.c (makedev): New macro. Thu Mar 14 16:47:14 1996 Michael I. Bushnell, p/BSG * netfs.h (netfs_attempt_mkdev): Don't pass dev_t in pieces. * file-set-translator.c (netfs_S_file_set_translator): In call to netfs_attempt_mkdev don't pass MAJOR and MINOR in pieces. Tue Mar 12 14:57:26 1996 Michael I. Bushnell, p/BSG * fsys-getroot.c (netfs_S_fsys_getroot): Add translator linkage code. * dir-lookup.c (netfs_S_dir_lookup): Fix up and enable translator linkage code. * netfs.h (netfs_attempt_chmod): Doc fix. (netfs_attempt_mksymlink, netfs_attempt_mkdev, netfs_set_translator): New declarations. * file-set-translator.c: New file. * fsstubs.c (netfs_S_file_set_translator): Delete function. * Makefile (FSSRCS): Add file-set-translator.c. Mon Mar 11 16:44:08 1996 Michael I. Bushnell, p/BSG * fsstubs.c (netfs_S_file_get_translator): Remove function. * file-get-translator.c: New file. * Makefile (FSSRCS): Add file-get-translator.c. Mon Mar 4 13:36:36 1996 Miles Bader * fsys-set-options.c, fsys-get-options.c, file-get-fs-options.c: New files. * netfs.h (netfs_startup_argp, netfs_get_options, netfs_set_options, netfs_parse_runtime_options, netfs_unparse_runtime_options): New declarations. * Makefile (OTHERSRCS): Add startup-argp.c, set-options.c, get-options.c, parse-runtime-options.c, & unparse-runtime-options.c. (FSYSSRCS): Add fsys-set-options.c & fsys-get-options.c. (FSSRCS): Add file-get-fs-options.c. * unparse-runtime-options.c (netfs_unparse_runtime_options): Add comment, and remove bogus semi. * fsysstubs.c (netfs_S_fsys_set_options, netfs_S_fsys_get_options): Functions removed. * fsstubs.c (netfs_S_file_get_fs_options): Function removed. * parse-runtime-options.c: Include "netfs.h", not "priv.h". * set-options.c: Likewise. (parse_runtime_opt): New function. * priv.h: Include Tue Apr 11 11:15:30 1995 Michael I Bushnell * Makefile: New file.