| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The setsid program has a surprise gotcha of backgrounding a process if
it already happens to be the session leader. This is ok for runit which
never sets the service as a session leader but does not work with other
supervisors which might. chpst provides the same setsid(2) functionality
without also having the gotcha.
Be aware that chpst has issues around gidlist squashing when using
the -u or -U options without explicit passing. This behavior is not
triggered in this case since chpst is being run as root and not being
asked to drop privileges.
|
|
|
|
| |
Without this only the first occurrence is replaced
|
| |
|
| |
|
|
|
|
|
| |
Recommend users to symlink their timezone to /etc/localtime instead of
setting TZ in /etc/rc.conf. List disadvantages of setting it in rc.conf.
|
|
|
|
|
|
|
| |
/run/runit/{stopit,reboot} should have their perms set to 100 by
ctrlaltdel, before runit signals itself with SIGCONT, in order to
trigger a reboot. This script can be changed by a user to perform
different actions. The comments in it explain what each file is for.
|
|
|
|
|
|
|
|
| |
runit uses the permissions in the /etc/runit/reboot file to determine
whether it's going to perform a halt or reboot action. This conditional
in 3 meant that touching the reboot file, even with 000 perms, would
lead to a reboot, which goes agains what is expected according to the
runit documentation.
|
|
|
|
|
|
|
|
|
|
| |
The 100 permission in /run/runit/stopit made it so that signaling runit
with SIGCONT would shut the system down. To achieve the correct
behavior, we should create the stopit and reboot files with 000 perms,
and allow their permissions to be set correctly by calls to `init 0` or
`init 6` or by /etc/runit/ctrlaltdel.
1
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Update README.md
|
| |
| |
| | |
list not the link, but inside the linked dir.
|
|\ \
| | |
| | | |
Vlogger
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
fix(urandom): avoid uninitialized read during boot
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Regenerating the stored seed was an attempt to prevent hard shutdowns
from leading to seed reuse.
Unfortunately, this practice depletes any entropy that was added by
the seed.
Furthermore on newer kernels which do not credit entropy added from
userspace, the operation is often an uninitialized read of urandom.
|
|\ \ \ \
| | | | |
| | | | | |
fix(sysctl): behave more like sysctl --system
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Loading of sysctl.d directories should follow the same ordering and
overriding rules as xbps, modules-load, and most importantly,
`sysctl --system`.
This change ensures proper ordering of files loaded by building the
selected files then operating on them, and it allows for masking system
level configuration from /etc and even /run.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
These are used for virtual terminal/serial console on some
hypervisors (Xen) as well as many POWER based machines (the
OPAL firmware emulates these for serial as the OS has no
physical access to that).
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|/ /
| |
| |
| |
| |
| | |
This implements -w and -d.
Also add -B to create boot-time wtmp entries.
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Don't store the return value of getopt in a char. Storing in a char
and comparing against -1 breaks on ARM, where char is unsigned.
* The line argument to getline should point at a NULL char *. Otherwise,
getline will treat *line as a pointer to an allocated buffer. With
a little extra work, we could reuse the buffer, but always calling getline
with *line == NULL is safe.
Closes: #2 [via git-merge-pr]
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
If vlogger is symlinked to foo/log/run for some service foo,
it's invoked as ./run with $SERVICEDIR/foo/log as the cwd.
So extract the service name from cwd if argv[0] is ./run.
Also tag is initialized to the generic "vlogger" if it is
not given on the command line and servicename couldn't be extracted
from cwd.
|
| |
|
| |
|
| |
|
| |
|