Age | Commit message (Collapse) | Author |
|
* 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.
|
|
Prepend "_diskfs" to uses of 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.
|
|
New variables.
(diskfs_store_startup_argp):
Use STORE_ARGP_CHILDREN instead of STORE_ARGP_PARENTS.
(store_argp_parents, startup_argp_children):
Variable removed.
(diskfs_startup_argp):
Use STARTUP_ARGP_CHILDREN instead of STARTUP_ARGP_PARENTS.
|
|
Use diskfs_startup_argp, not diskfs_std_startup_argp.
(diskfs_use_mach_device, diskfs_device_arg, dev_startup_options,
dev_startup_argp_parents, diskfs_std_device_startup_argp):
Variables removed.
(diskfs_startup_argp):
Renamed from diskfs_std_startup_argp.
(parse_dev_startup_opt):
Function removed.
<hurd/store.h>:
New include.
|
|
handled elsewhere now.
|
|
(diskfs_std_startup_argp): Renamed from startup_argp, exported.
(diskfs_std_device_startup_argp): Renamed from dev_startup_argp, exported.
(diskfs_startup_arg, diskfs_device_startup_arg): Variable removed.
|
|
Use ARGP_ERR_UNKNOWN instead of EINVAL.
|
|
dev_startup_argp, startup_common_argp, startup_argp_parents, startup_argp,
diskfs_startup_argp):
Make const.
|
|
|
|
(startup_common_argp, startup_argp_parents): New variables.
(startup_argp): Include parents.
|
|
(std_startup_arg): Renamed from std_startp_argp, converted argp fmt.
(diskfs_standard_startup_argp): Renamed from diskfs_standard_startup_options.
(parse_startup_opt): Set DISKFS_ARGV.
(diskfs_use_mach_device, diskfs_device_arg, dev_startup_options,
dev_startup_argp_parents, dev_startup_argp, diskfs_device_startup_argp):
New variables.
(parse_dev_startup_opt): New function.
|
|
OPT_DEVICE_MASTER_PORT): New defines.
(std_long_opts, parse_std_startup_opt): Add the --device-master-port,
--host-priv-port, --exec-server-task, and --bootflags options.
|
|
|