Joachim Wiberg
1f4acb322a
m4: simplify and fix issue with AC_PLUGIN() going out of bounds
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-10 16:33:03 +02:00
Joachim Wiberg
c3ba15045b
plugins: let dbus start as soon as possible
...
Some services (openresolv) tries to talk to it very early, so lets get
dbus up and running as soon as possible.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-27 14:28:12 +02:00
Joachim Wiberg
8f1d1717f8
initctl: let -n ignore errors from enable/disable as well
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-27 14:27:16 +02:00
Joachim Wiberg
7703d00e82
Fixed TODOs
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-21 16:34:34 +01:00
Joachim Wiberg
3bb826b22b
Ensure all a process' children are in the same cgroup
...
The logger redirection process was sometimes in the init group instead
of the system/<svc>/ group. This was due to the parent PID being moved
after the logger was forked.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-21 16:32:28 +01:00
Joachim Wiberg
9ee2be121f
Fix in-service cgroup parser regression
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-21 16:31:43 +01:00
Joachim Wiberg
36c6aa73aa
Fix #351 : clean run tasks to prevent endless restarts
...
When we've started a run task, regardless of its exit status, we must
mark it as not dirty to prevent it from being endlessly restarted.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-21 11:24:17 +01:00
Joachim Wiberg
13dddb6912
test: new regression test for issue #351
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-21 11:24:17 +01:00
Joachim Wiberg
bdaf3370d4
test: sectionalize
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-21 11:24:17 +01:00
Joachim Wiberg
a24077c4af
TODO: cond fixes and run/restart-forever test
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-21 11:24:17 +01:00
Joachim Wiberg
414a49d733
Fix regression in .conf reload when changing runlevel
...
When the inotify callback is called for a file that has been removed,
the call to realpath() obviously fails (ENOENT). This fix only takes
the regular case into account, files removed from a symlinked enabled
directory is not handled -- needs more work for that.
Regression introduced in 0a94f3f , PR #347 , issue #346 .
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-21 11:24:17 +01:00
Joachim Wiberg
be9d54561d
Fix WIFEXITED() logic when collecting reaped processes
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-21 11:24:17 +01:00
Joachim Wiberg
3ce5a2a965
Minor, increased logging on failure to start external logger
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-21 11:24:17 +01:00
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