Joachim Wiberg
2e5b97c8b2
plugins: check explicitly for (time_t)-1 from mktime()
...
Found by Coverity Scan.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-22 15:30:29 +02:00
Joachim Wiberg
9a962c86c8
Update docs a bit about runlevel 1.
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-22 15:11:27 +02:00
Joachim Wiberg
f954a4cb92
service_stop: add missing && do_progress for print_result()
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-22 15:11:27 +02:00
Joachim Wiberg
feb97bc77c
Minor, helper function for logging runlevel as a char
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-22 15:11:27 +02:00
Joachim Wiberg
e00fda5dc3
Fix #352 : separate runlevel S from runlevel 0
...
Due to an old design decision runlevel S was encoded internally as '0',
meaning it was the same as halt/poweroff. If you want to run scripts at
system shutdown this was less then ideal since it meant your scripts
also ran at bootstrap.
This change is quite invasive. It introduces INIT_LEVEL (10) as the
value for runlevel S, meaning all code that parses and/or evaluates
anything for runlevel 0/S was affected and had to be reworked.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-22 15:11:27 +02:00
Joachim Wiberg
80191f2fd5
plugins: allow building with -D_FORTIFY_SOURCE[=1,2]
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-22 14:28:08 +02:00
Joachim Wiberg
42ef3d3cf7
plugins: add configure support for overriding RTC fallback datetime
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-10 16:35:42 +02:00
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