Joachim Wiberg
d0d9b83b66
test: update serv daemon to use proper systemd abstract socket
...
This commit introduces a stripped down sd_notify(), taken from the
systemd man page example, which is used by the serv daemon in lieu
of the previous broken implementation.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 16:36:59 +02:00
Joachim Wiberg
76f8a18816
Fix #440 : refactor systemd and s6 readiness notifcation
...
This patch fixes issue #440 which details how systemd readiness
notification has been broken since its inception in Finit.
In addition to now providing a proper abstract socket, the refactor
also drops the reliance on the Finit client API to fetch a socket.
Now an s6 descriptor is the write end of a pipe() and the systemd
socket is instead created before forking off the service.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 16:36:58 +02:00
Joachim Wiberg
dc497bcd57
service: slight improvement of restart log message
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 16:36:58 +02:00
Joachim Wiberg
0da6bbe4a8
service: minor refactor of stdin redirect
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 16:36:57 +02:00
Joachim Wiberg
91f7a75bee
api: ensure socket is non-blocking
...
Also, remember to refactor the client socket handling to prevent
blocking PID 1.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 16:36:57 +02:00
Joachim Wiberg
f217d493b4
test: add --map-auto to unshare call
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 16:36:52 +02:00
Joachim Wiberg
77404a2ea0
Merge pull request #445 from troglobit/space-in-argval
...
Space in argval
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 14:50:21 +02:00
Joachim Wiberg
d42a1d438b
Merge pull request #444 from aanderse/master
...
service.c/parse_cmdline_args: handle loooooong arguments
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 14:43:00 +02:00
Joachim Wiberg
1275f05343
devmon: add error checking to callback
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 14:29:54 +02:00
Joachim Wiberg
61a92aa0b6
devmon: silence unnecessary dbg() in devmon_add_cond()
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 14:29:54 +02:00
Joachim Wiberg
b38ff0cc79
service: fix service log priority in fallback mode
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 14:29:53 +02:00
Joachim Wiberg
168f5bf1d8
log: new function, log_parse()
...
Converts from syslog priority string format to facility and level.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 14:29:53 +02:00
Joachim Wiberg
ffd00f646c
Declare unused parameters
...
When building with global CFLAGS=-Wunused-parameter the output from the
build looks terrible. This commit explicitly declares unused variables
to prevent triggering -Wunused-parameter
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 14:29:52 +02:00
Joachim Wiberg
5e2e273cad
conf: check return value of strdup() in parse_env()
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 14:28:41 +02:00
Joachim Wiberg
33f6697cd5
conf: new function conf_parse_env()
...
Reduce code duplication.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 14:28:27 +02:00
Joachim Wiberg
6f0ba22a0f
util: new function unquote()
...
Refactor to reduce code duplication
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 14:28:10 +02:00
Joachim Wiberg
ecb690c9ec
service: support quoted arguments to run/task/service options
...
Fixes #441
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-07-02 14:27:39 +02:00
Aaron Andersen
0459bb432a
service.c/parse_cmdline_args: handle loooooong arguments
2025-07-01 20:31:59 -04:00
Joachim Wiberg
2760616c73
Merge pull request #443 from liuming50/fix-some-compilation-issues
...
Fix some compilation issues
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-06-29 12:36:17 +02:00
Ming Liu
62ab990129
cgroup.c: fix some compilation warnings
...
Fix the following warnings:
| cgroup.c:296:13: warning: implicit declaration of function 'conf_any_change' [-Wimplicit-function-declaration]
| cgroup.c:297:17: warning: implicit declaration of function 'service_reload_dynamic' [-Wimplicit-function-declaration]
Signed-off-by: Ming Liu <liu.ming50@gmail.com >
2025-06-27 14:31:18 +02:00
Ming Liu
0c2836d747
Makefile.am: fix tmpfiles linking issues
...
Fix the following linking issues of tmpfiles:
| exec.c:308: warning: stty is not implemented and will always fail
| plugin.c:237: undefined reference to `run_parts'
Signed-off-by: Ming Liu <liu.ming50@gmail.com >
2025-06-27 14:31:02 +02:00
Joachim Wiberg
8be7a462e0
Merge pull request #439 from aanderse/tmpfiles
...
tmpfiles: refactor into separate executable
2025-06-09 07:56:10 +02:00
Aaron Andersen
5993b4bb5d
tmpfiles: refactor code into new is_dir_empty function
...
The existing implementation seemed useful enough to warrant a new
helper function. Care was taken to ensure the revised code no longer
suffers any memory leaks.
2025-06-05 20:53:25 -04:00
Aaron Andersen
2957246092
tmpfiles: implement remove logic for 'D'
...
> D
> Similar to d, but in addition the contents of the directory will be removed when --remove is used.
2025-06-02 19:27:24 -04:00
Aaron Andersen
a5710125f6
tmpfiles: add --create and --remove flags
...
Allow execution of tmpfiles to specify which mode(s) of operation to run in.
2025-06-02 19:27:24 -04:00
Aaron Andersen
ff95ebeb91
tmpfiles: split up create & remove logic
...
The tmpfiles.d spec contains entry types that should be acted upon in different modes
of operation: create, clean, remove, and purge - split up create & remove logic to
clarify the modes of operation finit supports.
2025-06-02 19:27:24 -04:00
Aaron Andersen
1921b3f2c5
tmpfiles: refactor into separate executable
...
The tmpfiles.d spec has proven useful in systemd, enough so that some developers
are starting to ship tmpfiles.d configuration files with their software.
By splitting the tmpfiles functionality in finit out into a separate executable
we are providing a useful piece of software that package managers can hook into.
2025-06-02 19:27:24 -04:00
Joachim Wiberg
051ef81e53
initctl: drop unused function pid_comm()
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-05-30 10:45:01 +02:00
Joachim Wiberg
90993c237a
Add hexdump() debug helper function
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-05-30 10:44:05 +02:00
Joachim Wiberg
b0b4f7b2ba
initctl: refactor pid_cgroup(), return allocated buffer
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-05-30 10:42:50 +02:00
Joachim Wiberg
4d79d84fb8
Fix #438 : refactor initctl ps/top to handle loooooong command lines
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-05-30 10:21:24 +02:00
Joachim Wiberg
d318aa00c3
Merge branch 'asan'
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-05-05 07:37:26 +02:00
Joachim Wiberg
9684127eb7
initctl: refactor runlevel string composition
...
Related to issue #437
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-05-05 07:27:06 +02:00
Joachim Wiberg
8d2cfd69fa
initctl: buffer overflow in runlevel string formatting
...
Fix #437
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-05-05 07:19:12 +02:00
Joachim Wiberg
4f252858e4
Enable address sanitizer, credits to @chipitsine
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-05-05 06:55:08 +02:00
Joachim Wiberg
1ccd1d6926
Bump version for 4.13 release cycle
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-05-05 06:54:27 +02:00
Joachim Wiberg
b87c51209d
doc: attempt to clarify service sync a bit
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-05-04 07:23:07 +02:00
Joachim Wiberg
6b7478ff43
Update ChangeLog and bump version for v4.12 release
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
4.12
2025-04-28 00:23:10 +02:00
Joachim Wiberg
6c4c16cbdb
Update ChangeLog for v4.12
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-04-28 00:04:39 +02:00
Joachim Wiberg
e539dbfe37
Merge pull request #436 from sirocyl/patch-1
...
README.md: typo
2025-04-27 09:56:17 +02:00
Tyler True
90c6bcd365
README.md: typo
...
`intictl` -> `initctl`, also linkified it to the command description
2025-04-26 23:45:19 -04:00
Joachim Wiberg
c9c268f218
plugins: fix variable overloading warning in urandom plugin
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-04-07 12:55:01 +02:00
Joachim Wiberg
3feff37ba5
plugins: use byte addressing of rand_pool_info data buffer
...
Fix out-of-bounds write in urandom plugin.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-04-07 12:52:16 +02:00
Joachim Wiberg
c67d15e272
runparts: update usage text, missing '-b' flag for batch mode
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-03-31 14:17:55 +02:00
Joachim Wiberg
8984c655f8
cond_get_agg: minor refactor
...
- Use stack instead of heap memory
- constify
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-03-31 14:16:24 +02:00
Joachim Wiberg
1a7b26bac3
Bump version for 4.12 release cycle
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-03-31 07:49:05 +02:00
Joachim Wiberg
1f47718012
Merge pull request #435 from aanderse/master
2025-03-29 13:28:15 +01:00
Aaron Andersen
fa13cddc28
improve notify:s6 compatibility
2025-03-29 08:03:43 -04:00
Joachim Wiberg
185a72bd14
Bump version for v4.11 GA release
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
4.11
2025-03-27 19:29:48 +01:00
Joachim Wiberg
cd32c623cf
plugins: ignore PID file events for svc_t in setup/teardown/cleanup
...
An svc_t (service/sysv) that is in setup, teardown, or cleanup state
must be ignored by the pidfile plugin for any events regarding PID
files. E.g., a setup script for a sysv service may create a PID file
to alert the system that a setup process for the service is running.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-03-27 19:17:04 +01:00