aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-12-20user-guide: clarify note for Runlevels/rc-update usageClayton Craft
I found the original note a little confusing, since using rc-update will add it to a runlevel so it *is* auto-started when the system reaches that runlevel again, but I don't think that was the intended meaning of 'auto-start', so hopefully this makes it a little more clear.
2020-12-05Update user-guide.mdlishuxiang
fix a typo This fixes #389.
2020-11-29supervise-daemon: do not spawn a process if we are exitingWilliam Hubbs
This fixes #375 and allows us to not add another level of indentation in the supervisor loop.
2020-11-27Remove warning when osclock init.d script runsDermot Bradley
Currently when osclock is enabled as a init.d service the following messages appear during boot when osclock starts: * The command variable is undefined. * There is nothing for osclock to start. * If this is what you intend, please write a start function. * This will become a failure in a future release. osclock is activated whenever a machine's system clock is automatically configured from a RTC by the kernel and the osclock's only purpose is to satisfy the "clock" dependency defined by other init.d services. Adding a stub start() function prevents OpenRC from showing warnings but continues to ensure that the osclock service still does not actually do anything. This fixes #377.
2020-11-27man/openrc.8: populate OPTIONS from --help outputCalvin Montgomery
This fixes #378.
2020-11-27src/rc/checkpath.c: replace mkdir() with mkdirat().Michael Orlitzky
The do_check() function recently gained some defenses against symlink replacement attacks that involve the use of *at functions in place of their vanilla counterparts; openat() instead of open(), for example. One opportunity to replace mkdir() with mkdirat() was missed, however, and this commit replaces it. This fixes #386.
2020-11-27src/rc/checkpath.c: fix typo "synbolic" -> "symbolic".Michael Orlitzky
2020-11-27start-stop-daemon, supervise-daemon: fix parsing of usernames passed via ↵Johannes Heimansberg
--user that start with a number start-stop-daemon and supervise-daemon parse usernames and group names passed via the --user argument as numeric UID/GID if they start with a number (e.g. user "4foo" will be treated as UID 4). This results in the process that is being started to run under a totally unexpected user if that UID exists. Even though the result of the sscanf calls are tested for a result of exactly 1, which means exactly one value was extracted, because sscanf's format string only contains only one placeholder, it will never return a value greater than 1, even if there are still characters left to be parsed. This causes start-stop-daemon and supervise-daemon to assume that usernames starting with a number are just that number. Adding a second placeholder "%1s" to the format string, which matches a string of length 1, makes sure that sscanf can distinguish between pure numbers (in which case it will return 1) and strings either starting with a number (in which case it will return 2) and any other string (in which case it will return 0). This fixes #379. This fixes #380.
2020-11-27bootmisc: allow sysvinit compatibility during shutdownWilliam Hubbs
Use "halt -w" to write the halt record if it exists. Otherwise use openrc-shutdown. This fixes #336.
2020-11-20scripts/shutdown.in: fix sysvinit compatible shutdownWilliam Hubbs
X-Gentoo-Bug: https://bugs.gentoo.org/755422
2020-11-20update news for 0.43 with info on checkpath fixWilliam Hubbs
2020-11-20start-stop-daemon: Don't segfault if --exec was given a non-existing file nameLars Wendler
Starting program: /sbin/start-stop-daemon --start --exec i-dont-exist Program received signal SIGSEGV, Segmentation fault. 0x0000555555559053 in main (argc=1, argv=0x7fffffffdc20) at start-stop-daemon.c:631 631 *exec_file ? exec_file : exec); This fixes #385.
2020-11-20checkpath: fix CVE-2018-21269William Hubbs
This walks the directory path to the file we are going to manipulate to make sure that when we create the file and change the ownership and permissions we are working on the same file. Also, all non-terminal symbolic links must be owned by root. This will keep a non-root user from making a symbolic link as described in the bug. If root creates the symbolic link, it is assumed to be trusted. On non-linux platforms, we no longer follow non-terminal symbolic links by default. If you need to do that, add the -s option on the checkpath command line, but keep in mind that this is not secure. This fixes #201.
2020-11-01Update user-guide.mdJulien Surloppe
Add missing underscore.
2020-09-25supervise-daemon: only log debug logs when verbose mode is activeWilliam Hubbs
2020-04-19.cirrus.yml: Update FreeBSD releasesManuel Rüger
Signed-off-by: Manuel Rüger <manuel@rueg.eu>
2020-02-05man/openrc-run.8: fix a typoAustin English
2020-01-19src/rc/rc-logger.h: fix build failure against gcc-10Sergei Trofimovich
On gcc-10 (and gcc-9 -fno-common) build fails as: ``` cc -L../librc -L../libeinfo -O2 -g -std=c99 -Wall -Wextra -Wimplicit -Wshadow \ -Wformat=2 -Wmissing-prototypes -Wmissing-declarations -Wmissing-noreturn \ -Wmissing-format-attribute -Wnested-externs -Winline -Wwrite-strings \ -Wcast-align -Wcast-qual -Wpointer-arith -Wdeclaration-after-statement \ -Wsequence-point -Werror=implicit-function-declaration \ -Wl,-rpath=/lib -o openrc rc.o rc-logger.o rc-misc.o rc-plugin.o _usage.o -lutil -lrc -leinfo -Wl,-Bdynamic -ldl ld: rc-logger.o:/home/slyfox/dev/git/openrc/src/rc/rc-logger.h:16: multiple definition of `rc_logger_pid'; rc.o:openrc/src/rc/rc-logger.h:16: first defined here ld: rc-logger.o:/home/slyfox/dev/git/openrc/src/rc/rc-logger.h:17: multiple definition of `rc_logger_tty'; rc.o:openrc/src/rc/rc-logger.h:17: first defined here ``` gcc-10 will change the default from -fcommon to fno-common: https://gcc.gnu.org/PR85678. The error also happens if CFLAGS=-fno-common passed explicitly. This fixes #348.
2020-01-11supervise-daemon: Fix segfault when executable does not existWolf
When executable is provided just by name (and therefore searched in a path), exec_file is reset to NULL every time. exists() handles it being NULL just fine, but dereferencing it in eerror does not work. Fixes #326 Fixes #327
2020-01-11binfmt: ensure a file is ungegistered before registeringartoo
This fixes #328
2020-01-11Fix typo in READMEAndrew Scheller
This fixes #338
2020-01-11make grep usage POSIX compliantEthan Sommer
use grep -E instead of egrep check for space or end of line instead of GNU-specific word boundary This fixes #345
2020-01-11Delete stray text.Jason Bowen
It looks like some stray text was left at the bottom of the file: ``` package. migrating your system to openrc-init. ``` There's a subsection on migrating a system to `openrc-ini`; perhaps this was an embryonic section title? This fixes #347.
2019-12-05openrc-shutdown.c: typo fixWilliam Hubbs
2019-10-28ci/travis.sh: run shellcheck on shell scriptsWilliam Hubbs
2019-10-28.travis.yml: install shellcheckAustin English
2019-09-03cgroup2_set_limits: verify that the cgroup2 path is a mount pointE5ten
prior to cgroups getting mounted, /sys/fs/cgroup will still exist, but attempts to make directories in it will fail, change cgroup2_set_limits() to verify that cgroups are mounted instead of just checking that /sys/fs/cgroup exists. This fixes #307. This fixes #321.
2019-08-20fix clang buildWilliam Hubbs
2019-08-20version 0.42William Hubbs
2019-08-20Update ChangeLogWilliam Hubbs
2019-08-20update sysvinit support filesWilliam Hubbs
2019-08-19fix single user modeWilliam Hubbs
2019-08-15optimize loops for installing gettysWilliam Hubbs
2019-08-15Remove "single" runlevel directoryWilliam Hubbs
Single user mode should be handled in the init process directly.
2019-08-15fix sysvinit compatibilityWilliam Hubbs
This allows openrc to direct sysvinit to shut down the system by setting the INIT_HALT environment variable appropriately. Also, we do not try to communicate with sysvinit if its fifo does not exist.
2019-08-02Add documentation for openrc-init and update the NEWS fileWilliam Hubbs
2019-07-29init.d/agetty: provide the getty virtual serviceWilliam Hubbs
2019-07-29Install gettys if the MKSYSVINIT switch is set to yesWilliam Hubbs
The default is to put one getty in the "single" runlevel and 6 in the "default" runlevel.
2019-07-29Add the "single" runlevelWilliam Hubbs
2019-07-26clarify supervise-daemon-guideChloe Kudryavtsev
1. The given default for respawn_max is wrong. 2. The example for respawn_period is nonsensical. This fixes #311.
2019-07-25add ability for openrc-shutdown to communicate with sysvinitWilliam Hubbs
This fixes #315.
2019-07-24Fix build with ClangMartin Wilke
This fixes #313.
2019-07-22Add Sony Interactive Entertainment as an authorWilliam Hubbs
2019-03-29supervise-daemon: allow --respawn-max to be zeroWilliam Hubbs
2019-02-26remove hidden-visibility.hWilliam Hubbs
I am removing this on the advice of a member of the Gentoo toolchain team. It was explained to me that this doesn't offer any significant benefits to OpenRC. If anyone ffeels differently, please open a pull request reverting this and adding an explanation of what it does and how to know which functions to mark hidden in the future. This fixes #301.
2019-02-25openrc-init: fix waitpid checksWilliam Hubbs
The do_openrc() function was not waiting properly for the child process which started the runlevel to return. We need to repeatedly call waitpid() until its return value matches the pid of the child process or the child process does not exist. This fixes #216. This fixes #300.
2019-02-23librc: fix potential buffer overflow in pid_is_argvWilliam Hubbs
This fixes #299.
2019-02-23Revert "src/librc/librc-daemon.c: fix buffer overrun in pid_is_argv"William Hubbs
This reverts commit 084877eb52971faf8f52c780ddd08ed9af140eb6. The mentioned commit caused some systems to have some services reported as crashed. This fixes #297. This fixes #298.
2019-02-22Update ChangeLogWilliam Hubbs
2019-02-22move ci scripts to their own directoryWilliam Hubbs
This fixes #296.