aboutsummaryrefslogtreecommitdiff
path: root/src/librc/librc.c
AgeCommit message (Collapse)Author
2015-12-01librc: comsolidate rc_sys_v1 and rc_sys_v2 into rc_sysWilliam Hubbs
These functions were never meant to be used outside of OpenRC, and they were added when we thought we were going to do away with the automatic detection of subsystems. Since the autodetection is not going away, we can combine these functions into rc_sys.
2015-05-04librc: Fix crash if the service name is the same as the including runlevelJakob Drexel
If a service has the same name as the runlevel it is in, openrc will crash on changing to such runlevel. It goes in a recursive madness and eventually gets a SEGV while in snprintf (don't know why). This fixes two errors: 1. ls_dir stats files not with full path -> stat always returns != 0 2. ls_dir adds files to list if stat failed This fixes #53. X-Gentoo-Bug: 537304 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=537304
2015-05-01Add support for systemd-nspawn containersWilliam Hubbs
This adds support for running OpenRC in a container created by the systemd-nspawn utility. This fixes #52. X-Gentoo-Bug: 548058 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=548058
2014-10-23Bundle <sys/queue.h> from NetBSDAnthony G. Basile
We are bundling this to allow building on musl-based systems since musl does not include <sys/queue.h>.
2013-10-21librc: do not allow "." and ".." as runlevel namesWilliam Hubbs
The rc_runlevel_exists function was attempting to treat "." and ".." as valid runlevels; however, this should not be allowed. X-Gentoo-Bug: 488710 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=488710
2013-10-04librc: fix a read off-by-one bugNatanael Copa
We should first check if we are within bounds and then read rather than the opposite. This makes valgrind happy. Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
2013-09-20Fix stacked runlevel supportAlexander V Vershilov
Patch was provided by Max Hacking <max.gentoo.bugzilla@hacking.co.uk> and slightly fixed by Alexander Vershilov <qnikst@gentoo.org> and William Hubbs <williamh@gentoo.org>. Fixes: 1). Rebase to newest OpenRC version. 2). Remove code style fixes. Port to currect code style. 3). Fix rc_runlevel_stack instead of introducing new function. 4). Make get_runlevel_chain a private function. X-Gentoo-Bug: 467368 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=467368
2013-04-09Fix autodetection of lxcNatanael Copa
The /proc/1/environ contains various \0 terminated strings. The current code will only work when the search string is in the first of those. To fix this we look for strings in entire buffer. Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
2012-07-26Bring Back prefix supportWilliam Hubbs
We now have a team member who is interested in OpenRC on prefix, so I am bringing it back to the main tree.
2012-02-21Remove prefix supportWilliam Hubbs
I spoke with the prefix team sometime back and was told that they do not have an interest in using OpenRC on prefix systems.
2012-02-12Fix some more warningsChristian Ruppert
2011-11-16add support for extra_stopped_commandsWilliam Hubbs
2011-11-07add auto detection for lxcWilliam Hubbs
Reported-by: Francesco Riosa <francesco+gentoo_bugzilla@pnpitalia.it> X-Gentoo-Bug: 384151 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=384151
2011-07-13Fix rc_service_value_get() to return multiple lines as wellChristian Ruppert
As introduced in bug 372547 using service_get_value() in the init scripts or using rc_service_value_get() directly will only return one line. This patch fixes it by using the new rc_getfile() function, it returns even multiple lines. We're still using a char *, so the lines will be appended instead of added into new element. X-Gentoo-Bug: 372547 X-Gentoo-Bug-URL: http://bugs.gentoo.org/372547
2011-06-29drop useless "All rights reserved" noticeMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-05-28librc: tweak style: foo () -> foo()Mike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-04-27fix rc_service_extra_commands return valueJames Le Cuirot
If there were no extra commands, rc_service_extra_commands returned a list containing a single empty string. This changes that to return an empty list, which is more consistent with what you would expect. X-Gentoo-Bug: 360013 X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=360013
2011-04-27fix list returned by rc_service_extra_commandsWilliam Hubbs
This function was returning the setting of the variable $opts, which is not correct. $opts was used in baselayout-1, but it is replaced by $extra_commands and $extra_started_commands in openrc. This does not appear to break backward compatibility since this function does not appear to be used anywhere in the openrc code. Thanks to James Le Cuirot for the original patch. X-Gentoo-Bug: 360013 X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=360013
2011-01-17Document that rc_sys_v{1,2} should not be used outside of OpenRC.Robin H. Johnson
2011-01-17Style fix: "char *foo" not "char* foo".Robin H. Johnson
2011-01-17Style fix: /* */ comments not // comments.Robin H. Johnson
2011-01-17Style fix: "while (" not "while(".Robin H. Johnson
2011-01-17Style fix: "if (" not "if(".Robin H. Johnson
2011-01-17Clean up all trailing whitespace in src/.Robin H. Johnson
2011-01-05Make sure old rc_sys code never runs if the rc_sys variable exists.Robin H. Johnson
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2011-01-05Remove broken automatic LXC subsystem detection.Robin H. Johnson
Any system using cgroups was being detected as an LXC system. This was triggering on OpenVZ under RHEL6 as well as the "automated per tty task groups" as discussed on the LKML. All LXC users should now switch to the new rc_sys variable introduced in the previous patch. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2011-01-05Implement explicit selection of subsystem types.Robin H. Johnson
- Fixes bugs #347583, #349389, both of which were triggered by cgroups being detected as the LXC subsystem type. - Makes it much easier to select "prefix" type. - "rc -S" will now print a warning if you have not configured rc_sys in /etc/rc.conf - All other semantics of rc_sys are unchanged in this patch. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2010-01-08random spelling fixesMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-11-04Add support for Linux Containers, fixes #202.Roy Marples
Patch by bug reporter.
2009-09-21Don't quote optsRoy Marples
2009-05-02Add runlevel stacking, #88Roy Marples
This implementation has the limitation that you cannot have a stacked runlevel and service of the same name in a runlevel.
2009-05-01Add (c) to CopyrightRoy Marples
2009-04-23Improve style for KNFRoy Marples
2009-02-28Set errno when service does not exist better.Roy Marples
2009-01-29Clean up some compiler warnings.Roy Marples
2008-10-10Remove coldplug and just have hotplug which is a list of allowed/disallowed ↵Roy Marples
services. Makes things much easier.
2008-10-10sysinit is now a real runlevel that handles things like udev, dmesg andRoy Marples
mounting various bits in /dev and /sys. init.sh JUST mounts /lib/rc/init.d (and /proc for Linux systems) To make development of this easier we now return an empty RC_STRINGLIST instead of a NULL for empty things. If you don't have a udev init script installed, don't reboot your box OR roll back to an older OpenRC version.
2008-08-19Add new OpenVZ detection codeRoy Marples
2008-06-05No need to include this.Roy Marples
2008-04-08Give an error when running zap as a generic user.Roy Marples
2008-03-28Merge branch 'master' of git@git.overlays.gentoo.org:proj/openrcRoy Marples
2008-03-28Support XEN on NetBSDRoy Marples
2008-03-28Remove rc_service_start/stop from librc as they block and unmask signals. ↵Roy Marples
The application may not wish this behaviour and should fork/exec the service itself.
2008-03-26Add license blurb to a few files and append my email to my name.Roy Marples
2008-03-24Fix adding services to the boot runlevel, #43Roy Marples
2008-03-24add missing rc_stringlist_new/rc_sys hidden defsMike Frysinger
2008-03-23Fix returning a service descriptions.Roy Marples
2008-03-19Add rc-service and update all softlevel refs to runlevel.Roy Marples
2008-03-19Fix define nameRoy Marples
2008-03-19Return scheduled services correctly.Roy Marples