Joachim Wiberg
1d03e9aa8b
Follow-up to a47abfd, fix logged PID reported by external logger tool
...
Issue #344
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-21 11:24:17 +01:00
Joachim Wiberg
5340e47e81
Flush .conf event queue before leaving boostrap
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-21 11:24:17 +01:00
Joachim Wiberg
98bbf4a1e5
test: add watchdog to catch runaway tests
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-21 11:24:17 +01:00
Joachim Wiberg
d70e2f1ed0
Minor refactor, rgen only needed here
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-19 09:33:33 +01:00
Joachim Wiberg
ecb5949679
Follow-up to a613ee9, handle reload as well (existing svc)
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-19 09:33:33 +01:00
Joachim Wiberg
e55fd19091
Remember to audit sysv services
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-19 08:36:52 +01:00
Joachim Wiberg
19c64e323c
Add another log macro, note()
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-19 08:35:02 +01:00
Joachim Wiberg
9354221bdd
initctl: fix regression in error handling, cmmmit 4542fdb
...
Issue #339
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-19 08:32:06 +01:00
Joachim Wiberg
1d7048d3ae
system: trim delay starting udevd
...
- Apply dracut[1] and void[] linux lessons
- Drop udev-finish, not needed anymore (2015)
[1]: https://github.com/dracutdevs/dracut/blob/1ff306a3964840fc548188a8aa4862143b347e8a/modules.d/99base/init.sh#L152-L170
[2]: https://github.com/void-linux/void-runit/blob/master/core-services/02-udev.sh
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-10 18:30:50 +01:00
Joachim Wiberg
8251d713e0
devmon: reduce debug loglevel
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-10 07:52:18 +01:00
Joachim Wiberg
44d0d87ad3
Simplify, drop ifdef: let if: become ifdef
...
Post audit, concensus is to drop if: and always do post-eval of all
ifdef: statements. Also, rename ifdef: to if: for completeness.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-06 17:03:37 +01:00
Joachim Wiberg
571250a9b9
test: drop hotplug.conf system file during tests
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-05 10:49:14 +01:00
Joachim Wiberg
91540fd793
Issue #351 : unable to reproduce
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-05 10:48:45 +01:00
Joachim Wiberg
2566e00ef0
.github: finit -h now require super user privs.
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-05 10:12:56 +01:00
Joachim Wiberg
1e5ce38928
Return EX_NOPERM for non-root users calling init/telinit
...
See issue #301 for future per-user support.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-05 10:05:24 +01:00
Joachim Wiberg
c679b0a93d
Cannot be const, we're modifying it
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-05 09:56:54 +01:00
Joachim Wiberg
c4dcf568c8
Extend conditional load support with if:<cond> and if:<!cond>
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-05 09:47:51 +01:00
Joachim Wiberg
b65773d508
Drop logically dead code, found by Coverity Scan
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-04 12:09:50 +01:00
Joachim Wiberg
e75c1792aa
tmpfiles.d: propagate possible error from remove() in mksubsys()
...
Found by Coverity Scan.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-04 12:02:52 +01:00
Joachim Wiberg
0be4838e01
Fix potential NULL pointer deref, found by Coverity Scan
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-04 12:01:24 +01:00
Joachim Wiberg
b71605c819
Fix potential NULL pointer deref, found by Coverity Scan
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-04 11:59:09 +01:00
Joachim Wiberg
3bb2eb2a8d
Fix potential socket leak at bootstrap and shutdown
...
This is a follow-up to a39ee0b , found by Coverity Scan.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-04 11:44:48 +01:00
Joachim Wiberg
8ce35771c3
initctl: fix potential memory leak
...
Found by Coverity Scan.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-04 11:43:57 +01:00
Joachim Wiberg
67e80ea989
initctl: ensure the returned plugin buffer data is terminated
...
Found by Coverity Scan
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-04 11:43:10 +01:00
Joachim Wiberg
f4d8ecfb5b
getty: fix memory leak in parsing /etc/os-release
...
Found by Coverity Scan.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-02 21:24:24 +01:00
Joachim Wiberg
2eb3ebb404
test: /var a tmpfs to prevent tests from trampling on each other
...
Multiple parallel tests writing to the same /var leads to quite
unexpected results. Let's start fresh in each test instead.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:49:55 +01:00
Joachim Wiberg
1e1b3564dd
Support for fsck_mode=[auto,skip,force] + fsck_repair=[preen,no,yes]
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:49:55 +01:00
Joachim Wiberg
7af257cccf
Migrate hotplug plugin to a conditional system/hotplug.conf file
...
This is the first example of the just minted advanced stanza syntax with
if-statements, conflict handling, and nowarn flags.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:49:55 +01:00
Joachim Wiberg
84ddac65e5
Migrate testserv plugin to a couple of lines of ASCII .conf files
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:49:55 +01:00
Joachim Wiberg
62d6b56fd3
plugins: only run pam_console_apply if available
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:49:55 +01:00
Joachim Wiberg
fa71f97dcf
Add support for if:[!]ident and ifdef:[!]ident for run/task/services
...
Conditional loading of stanza depending on ident is already loaded. The
if: checks as in-band while ifdef: checks out-of-band, i.e., post eval.
The optional leading '!' negates the comparison, if NOT foo then ...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:49:55 +01:00
Joachim Wiberg
ed383eaaa6
Minor refactor, break out new fn svc_find_by_str()
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:49:55 +01:00
Joachim Wiberg
9cb6a54493
Minor refactor, new fn svc_mark()
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:49:55 +01:00
Joachim Wiberg
f796d59f77
Minor, improve log message slightly
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:49:55 +01:00
Joachim Wiberg
97ca450966
Add support for static services in /lib/finit/system/*.conf
...
Slowly migrating away from hard-coded services in plugins. This way
it's possible for the user to both inspect and override as needed.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:49:55 +01:00
Joachim Wiberg
e0c1c08e68
plugins: remember that bootmisc depends on pidfile plugin
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:49:55 +01:00
Joachim Wiberg
c81b722691
tmpfiles.d: add support for 'l' and 'l+', Finit extensions
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:49:55 +01:00
Joachim Wiberg
11da93b759
Add support for Finit specific tmpfiles.d/
...
The tmpfilesd() glob sorts files according to name, we could name our
.conf as 00finit.conf to prevent ordering issues with, e.g. dnsmasq,
but this is more elegant and allows for multi-level override.
NOTE: bootmisc depends on the pidfile plugins since the latter need
to set up its iwatches of /run before bootmisc creates /run.
Depending on if it's a system with /var/run or /run we need to
drop /var/run before recreating it.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:49:55 +01:00
Joachim Wiberg
28a90a793d
New log macro info() for LOG_INFO level logging
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:49:55 +01:00
Joachim Wiberg
56a89db889
Add support run/task/service 'conflict:foo' handling
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:49:55 +01:00
Joachim Wiberg
a613ee908f
If a run/task/service command does not exist, skip registering it
...
This changes the semantics of Finit a bit by checking for the command to
run when registering it, skipping commands that cannot be found in the
absolute path provided in the command, or in $PATH.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:48:25 +01:00
Joachim Wiberg
d3f58b5df0
Minor, add missing else statement
...
For completeness, never triggered.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:48:25 +01:00
Joachim Wiberg
af88b10322
Minor, simplify
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:48:25 +01:00
Joachim Wiberg
966ae9fb0d
Rename FINIT_LIBPATH_ -> FINIT_EXECPATH_
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:48:25 +01:00
Joachim Wiberg
a69cef0a11
paste(): only add '/' if dir and file are missing a '/'
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:48:25 +01:00
Joachim Wiberg
b396a018c5
test: install busybox symlinks with relative path
...
Then it works to run the applets from outside the unshare. Useful for
testing and test development.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:48:25 +01:00
Joachim Wiberg
a4af9ba248
Add limited tmpfiles.d(5) support
...
This change adds very basic tmpfiles.d/ support to Finit. Much of the
basic types are supported, but not all, so for now, please check the
code for details on what is working.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:48:25 +01:00
Joachim Wiberg
6942e38413
Relocate ln() helper function
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:48:25 +01:00
Joachim Wiberg
e03bd093b5
mksubsys(): if makedir() fails with EEXIST, make sure to chmod()
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:48:25 +01:00
Joachim Wiberg
d6070a0d10
Drop old now unused /etc/network/run/ifstate
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-02-28 00:48:25 +01:00