Age | Commit message (Collapse) | Author |
|
* priv.h: Add OPT_NO_INHERIT_DIR_GROUP and OPT_INHERIT_DIR_GROUP.
(_diskfs_no_inherit_dir_group): New declaration.
* node-create.c (_diskfs_no_inherit_dir_group): New variable.
(diskfs_create_node): Implement SysV group behaviour.
* opts-common.c (diskfs_common_options): Add
--no-inherit-dir-group (--nogrpdir, --sysvgroups) and
--inherit-dir-group (--grpdir, --bsdgroups).
* opts-append-std.c (diskfs_append_std_options): Add
--no-inherit-dir-group if set.
* opts-std-startup.c (parse_startup_opt): Add toggle for
_diskfs_no_inherit_dir_group.
* opts-std-runtime.c (struct parse_hook): Add noinheritdirgroup.
(set_opts): Handle H->noinheritdirgroup.
(parse_opt): Initialize H->noinheritdirgroup. Handle
OPT_NO_INHERIT_DIR_GROUP and OPT_INHERIT_DIR_GROUP.
|
|
* Makefile (OTHERSRCS): Add extern-inline.c.
* diskfs.h (DISKFS_EXTERN_INLINE): New macro.
(diskfs_spawn_first_thread): Update prototype to include the
additional parameter, a demuxer.
(diskfs_begin_using_protid_port): Moved and renamed function
begin_using_protid_port from priv.h.
(diskfs_end_using_protid_port): Moved and renamed function
end_using_protid_port from priv.h.
* extern-inline.c: New file.
* fsmutations.h (FILE_INTRAN): Use new function name.
(FILE_DESTRUCTOR): Likewise.
(IO_INTRAN): Likewise.
(IO_DESTRUCTOR): Likewise.
* init-first.c: Include <hurd/ports.h>.
(master_thread_function): Unnamed parameter is now the demuxer.
Use that rather than diskfs_demuxer directly.
(diskfs_spawn_first_thread): New parameter DEMUXER.
* init-main.c (diskfs_init_main): Pass diskfs_demuxer to
diskfs_spawn_first_thread to conform to new semantics.
* priv.h (begin_using_protid_port): Moved to diskfs.h.
(end_using_protid_port): Likewise.
|
|
* priv.h (DEFAULT_SYNC_INTERVAL): New macro.
(DEFAULT_SYNC_INTERVAL_STRING): Likewise.
(STRINGIFY): Likewise.
(STRINGIFY_1): Likewise.
* opts-common.h (diskfs_common_options): Use
DEFAULT_SYNC_INTERVAL_STRING instead hardcoded value.
* sync-default.h: Include "priv.h". Use DEFAULT_SYNC_INTERVAL
instead hardcoded value.
|
|
* priv.h (_diskfs_chroot_directory): Remove const from type.
* init-startup.c (_diskfs_chroot_directory): Likewise.
|
|
* lookup.c (diskfs_lookup): NAME is no longer const. Update
documentation Strip leading and trailing slashes from NAME before
using it.
* diskfs.h (diskfs_lookup): NAME is no longer const.
Update documentation.
1999-10-05 Thomas Bushnell, BSG <tb@mit.edu>
* priv.h (CHANGE_NODE_FIELD): Use diskfs_check_readonly instead of
directly reading diskfs_readonly.
|
|
* node-times.c (diskfs_set_node_times): If _diskfs_noatime is set and
neither NP->dn_set_mtime nor NP->dn_set_ctime is set, clear
NP->dn_set_atime. Short-circuit return if none of dn_set_?time set.
* opts-common.c (diskfs_common_options): Include "priv.h".
Add aliases --ro/--rw for -r/-w. Add alias --nosuid for --no-suid,
--noexec for --no-exec. Move --suid-ok, --exec-ok here from ...
* opts-std-runtime.c (std_runtime_options): ... here.
(struct parse_hook): New member `noatime'.
(set_opts): Use H->noatime to set _diskfs_noatime.
(parse_opt): Grok -A and OPT_ATIME to set/clear H->noatime.
(OPT_ATIME): New macro.
(OPT_SUID_OK, OPT_EXEC_OK): Moved to ...
* priv.h: ... here.
(diskfs_common_options): Add const to decl.
* opts-std-startup.c (parse_startup_opt): Grok OPT_SUID_OK,
OPT_EXEC_OK, -A, and OPT_ATIME.
* init-init.c (_diskfs_noatime): New variable.
(_diskfs_nosuid, _diskfs_noexec): Use uninitialized defns.
* opts-append-std.c (diskfs_append_std_options): Add --no-atime if
_diskfs_noatime is set.
|
|
* priv.h: Add #include <sys/mman.h> for munmap decl.
|
|
Use a struct hurd_port for the cached exec server port,
so it is properly reference-counted and locked.
* boot-start.c (diskfs_exec): Variable removed.
(diskfs_start_bootstrap): Make it a local here.
Install that port in _diskfs_exec_portcell.
(diskfs_S_fsys_init): Use _diskfs_exec_portcell instead
of diskfs_exec.
* init-init.c (_diskfs_exec_portcell): New variable.
(diskfs_init_diskfs): Initialize it.
* priv.h: Declare it.
* diskfs.h (diskfs_exec, diskfs_exec_ctl): Remove decls.
* file-exec.c (diskfs_S_file_exec): Use _diskfs_exec_portcell instead
of diskfs_exec.
|
|
* boot-start.c (_diskfs_boot_privports): Renamed from diskfs_*.
* priv.h: Declare it.
* console.c (diskfs_console_stdio): Change caller.
|
|
* opts-std-startup.c (startup_options): Move -C above "Boot options:",
give it a docstring. Docstrings for --bootflags, --boot-command.
(_diskfs_boot_command): New variable.
(startup_options, parse_startup_opt): New option --boot-command,
consumes remaining args to set _diskfs_boot_command.
* priv.h: Declare _diskfs_boot_command.
* boot-start.c (diskfs_start_bootstrap): If diskfs_exec_server_task is
null, assume we are running as the boot command and have a root with
/servers/exec.
If _diskfs_boot_command is set, start that command in place of init.
If can't lookup initname, print error msg and loop to prompt.
Put a newline before "Init name" prompt.
After starting exec server, try to set active trans on /servers/exec.
(diskfs_boot_getpriv): New function: if _hurd_host_priv
is null, use fsys_getpriv on our bootstrap port.
(parent_task): New static variable, set there with fsys_getpriv call.
(diskfs_S_fsys_init): If diskfs_exec_server_task is null, don't do
anything with it; instead register parent_task as our child
and send an fsys_init to our parent on our bootstrap port.
* console.c (diskfs_console_stdio): Call diskfs_boot_privports before
get_privileged_ports if diskfs_boot_flags is set.
|
|
Add support for a "virtual root directory" specified at startup.
* priv.h (_diskfs_chroot_directory): Declare new variable.
* opts-std-startup.c (startup_options, parse_startup_opt): New
string-valued option -C/--directory/--virtual-root/--chroot sets
_diskfs_chroot_directory.
* init-startup.c (_diskfs_chroot_directory): New variable.
(diskfs_startup_diskfs): If that's set, look up the name and
warp us to that as a virtual root directory.
* fsys-getroot.c (diskfs_S_fsys_getroot): Initialize new peropen's
shadow_root_parent to null, and shadow_root to either null or,
if _diskfs_chroot_directory is set, to diskfs_root_node.
|
|
Declaration removed.
(_diskfs_nosuid, _diskfs_noexec):
Renamed from nosuid & noexec.
|
|
* priv.h (nosuid, noexec): New variables.
* init-init.c (nosuid, noexec): New variables, initialized to zero.
* file-exec.c (diskfs_S_file_exec): If noexec is on, then prohibit
all execution with EACCES. If nosuid is on, then prohibit setuid
or setgid execution by silently omitting the uid substitution.
* opts-std-startup.c (parse_startup_opt): Implement --no-suid and
--no-exec.
* opts-common.c (diskfs_common_options): Add --no-suid and
--no-exec.
* opts-std-runtime.c (struct parse_hook): Add nosuid and noexec.
(parse_opt) [cases 'S', 'E', OPT_SUID_OK, OPT_EXEC_OK] Understand
--no-suid, --no-exec, --suid-ok, and --exec-ok.
(parse_opt) [case ARGP_KEY_INIT]: Initialize H->nosuid and
H->noexec.
(OPT_SUID_OK, OPT_EXEC_OK): New macros.
(std_runtime_options): Add --suid-ok and --exec-ok.
(set_opts): Set nosuid and noexec from H->nosuid and H->noexec.
* opts-common.c (diskfs_common_options): Rename --nosync to
--no-sync; leave --nosync as an alias.
|
|
Type removed.
|
|
New type.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trans-callback.c.
|
|
|
|
|
|
|
|
(end_using_protid_port): Use ports_port_deref.
(enum porttype): Delete.
|
|
(CHANGE_NODE_FIELD): Remove trailing space on backslashed line.
|
|
possibly changing it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|