Commit Briefs
introduce struct ctl2 with backwards compat wrappers (ctl2)
The new struct avoids the necessity to cast configuration file test handler arguments from char ** to a char *, such that the char ** pointer cna be stored in ctl->args[1]. Such shadowing of variable types results in code that is hard to follow. We can convert daemons one-by-one to fully replace struct ctl eventually. As an example, convert dhcpd handling to struct ctl2 already.
Update rc.local-nsh-openbsd-integrate.sh
Update script to copy config files not move them so that the user can return to using OpenBSD and standard config more easily.
Update rc.local-nsh-openbsd-integrate.sh
Update to syntax to fix asking of question
Create rc.local-nsh-openbsd-integrate.sh
add a less intrusive script to use nsh for configuring an OpenBSD system.
Update README fixking typos etc.
Update README fixking typos etc.
move nsh rc.d script to shell directory
and remame it to nsh.rc to indicate it is intended to be used by rcctl in /etc/rc.d/
improve nsh scripts directory structure
Improve NSH scripts directory structure
Create bin
Make scripts directory names more useful
avoid potential corruption of ~/.nshenv during saveenv
Write to a temporary file and rename on top of ~/.nshenv instead of modifying the file in-place.
fix bogus pointer being passed to fill_tmpfile() for T_HANDLER_FILL1
The actual list of arguments was not passed to the handler. Instead the handler got garbage in the argument list. ok Tom
add nshdoas to fix the 'enable' command when stdin is not a TTY
nshdoas is based on doas(1). It reads /etc/doas.conf and asks for the root password in case no matching rule exists. This avoids the need to fall back on su(1) and makes it possible to use the 'enable' command when sending nsh commands on standard input. ok Tom
allow nsh to change its behaviour when standard input is not a TTY
Introduce an 'interactive_mode' flag which indicates whether standard input is a TTY. This allows nsh to accept commands on standard input for scripting purposes. This will be needed for better integration of at(1). The 'enable' command will not work in non-interactive mode yet. This will be fixed soon. ok tom