Commit Graph
78907 Commits
Author SHA1 Message Date
Lennart Poettering 5dc9d5b4ea pidfd-util: dont open a new pidfd unnecessarily in pidfd_check_pidfs() 2025-01-20 21:49:38 +01:00
Lennart Poettering 81cf3dc466 build: fail the build if we accidentally drop a "const" qualifier on a parameter
let's be strict here, our codebase allows it.
2025-01-20 21:44:23 +01:00
Lennart Poettering c66a7ca6e5 machine-id-setup: move code to use chase() (#35979)
I just wanted to switch the machine id setup code to use chase() or its
changes, given it supports --root=/--image= operation. That turned out
to be a rabbit hole, and became much bigger...
2025-01-20 21:18:24 +01:00
Lennart Poettering 52e2033ebc cryptsetup and friends: use dispatch_verb() (#36072) 2025-01-20 21:17:01 +01:00
Luca Boccassi 8fa7863a93 nspawn: downgrade log message about usrquota to debug
This is shown every time nspawn is started, which is annoying
and there's nothing a user can do about it, since it depends on
an extremely new kernel. Downgrade to debug.

Follow-up for 611ae59888
2025-01-20 21:16:12 +01:00
Tommi Rantala 26551c0f67 resolved: empty "ipv4hint" and "ipv6hint" SvcParams are invalid
According to RFC 9460 "An empty list of addresses is invalid."

https://www.rfc-editor.org/rfc/rfc9460.html#section-7.3
2025-01-20 19:03:09 +00:00
Yu Watanabe 5c4fa7b9b2 integritysetup: use dispatch_verb() 2025-01-21 03:42:38 +09:00
Yu Watanabe 50c0f5de8f veritysetup: use dispatch_verb() 2025-01-21 03:42:38 +09:00
Yu Watanabe a0b1ee2fca cryptsetup: use dispatch_verb() 2025-01-21 03:42:38 +09:00
Yu Watanabe 13a3b59144 cryptsetup: drop doubled space 2025-01-21 03:42:38 +09:00
Yu Watanabe 7e21105002 cryptsetup: use mangle_none() at one more place 2025-01-21 03:42:34 +09:00
Yu Watanabe a8fe005209 tree-wide: drop merely used _cleanup_ macros, and introduce several new ones (#36071) 2025-01-21 03:41:27 +09:00
Lennart Poettering 6d8582ecd6 udev: cleanups around sd_listen_fds() (#36030)
Fixes a bug introduced by 2f0aa9a804.

In the offending commit, `sd_varlink_server_listen_auto()` is used. That
may add file descriptors of netlink socket for uevent and legacy control
socket varlink server. Then, udevd may fail to receive uevents.
2025-01-20 18:06:56 +01:00
Lennart Poettering a6fb250b50 tree-wide: several follow-ups for varlink methods (#36080)
Follow-ups for #35914.
2025-01-20 18:00:21 +01:00
Lennart Poettering 50ffe4058c udev-rules: introduce OPTIONS="dump" (#36069)
split out of #35968.
2025-01-20 17:59:40 +01:00
Daan De Meyer 5e65856829 sbsign: Make sure output file respects umask (#36083) 2025-01-20 14:02:29 +01:00
Lennart Poettering 09b70f7cc9 update TODO 2025-01-20 11:35:04 +01:00
Lennart Poettering 3351c0a510 chase: move appending of trailing slash out of loop
let's move final processing of the filename out of the loop, and apply
it in all cases, uniformly, even if we are asked to only return the
final filename.
2025-01-20 11:35:04 +01:00
Lennart Poettering 90b9f7a07e chase: introduce flags that verify that chased inode is regular file or dir
This also implies the new CHASE_MUST_BE_DIRECTORY flag in case the
specified path ends in a slash. This makes the rules stricter, it means
we'll be closer to how this is handled in kernel: if a path ends in a
slash it can never refer to a non-directory.
2025-01-20 11:35:03 +01:00
Lennart Poettering 64d52739c5 machine-id-setup: rework writing of /etc/machine-id around chase()
Let's make sure we properly stay inside of the root fs if one is
provided, i.e. stop using prefix_roota() at one more place.
2025-01-20 11:34:20 +01:00
Lennart Poettering 3773d4dd9a machine-id-setup: remove unnecessary 'else' 2025-01-20 11:32:01 +01:00
Lennart Poettering efabf4e044 machine-id-setup: rework --commit based on chase() 2025-01-20 11:32:01 +01:00
Lennart Poettering 4d0fb50e9e machine-id-setup: do sync() stuff only when operating on the real rootfs
If we operate relative some explicit rootfs the reason for the sync()ing
is not really given, we are not really acting as a milestone at boot,
but "offline".
2025-01-20 11:31:55 +01:00
Lennart Poettering 849552c80b machine-id-setup: rearrange --help to match how we do them these days 2025-01-20 11:31:55 +01:00
Lennart Poettering b0afd29f7d chase: use streq() not path_equal() to compare filenames 2025-01-20 11:31:55 +01:00
Lennart Poettering e49e76d64d chase: allow using chase() as mkdir_p() replacement
This allows using CHASE_MKDIR_0755 without CHASE_NONEXISTENT or
CHASE_PARENT, so that it will create the final component of the path
too should it be missing.

This is really useful as a mkdir_p() replacement that returns an fd to
the final component, and knows how to operate relative to a root fs.

Kinda reverts 4ea0bcb922 (which only
refused the flags combination which didn't work, instead of making it
work, which is what this commit does.)

This also corrects behaviour if CHASE_MKDIR_0755 is used in one more
way: we'll now always open the dir as O_PATH. This is generally the
better idea, but matters in particular once with allow using
CHASE_MKDIR_0755 to create the final component: we should uniformly
return an O_PATH dir that must be converted to a proper fd first before
using it.
2025-01-20 11:31:55 +01:00
Lennart Poettering b979368075 mount-util: introduce umountat_detach_verbose()
This new helper allows unmounting paths by fd.
2025-01-20 11:31:55 +01:00
Daan De Meyer 6f594acd63 sbsign: Make sure output file mode respects umask 2025-01-20 10:06:11 +01:00
Daan De Meyer 7180a3b38c sbsign: Make two debug logs into error logs 2025-01-20 10:05:18 +01:00
Yu Watanabe d919a155c0 udev-varlink: add io.systemd.service.GetEnvironment
There is no reason to not support the method in udevd.

Follow-up for c8127075ae.
2025-01-20 00:21:45 +09:00
Yu Watanabe 901bfcd8c1 tree-wide: rely on sd_varlink_dispatch() for validating zero-argument method calls, too
Follow-ups for a7cc7038ac.
2025-01-20 00:21:31 +09:00
Yu Watanabe 848cdf56dc udev,network: drop unnecessary check for result of sd_listen_fds_with_names() 2025-01-19 23:54:41 +09:00
Yu Watanabe a75abf1ab9 udev-manager: rework initialization of device monitor
Let's determine the socket for device monitor based on its name.
2025-01-19 23:54:41 +09:00
Yu Watanabe 4a2c33847f udev-ctrl: use -EBADF for invalid file descriptor 2025-01-19 23:54:41 +09:00
Yu Watanabe ac440e47c5 udev: split out legacy control socket handling to udev-manager-ctrl.c
Mostly no functional change, except for that now the socket for device
monitor is determined by its name.
2025-01-19 23:53:45 +09:00
Yu Watanabe 2cf9635511 capability-util: rename output argument of capability_gain_cap_setpcap() 2025-01-19 14:00:16 +00:00
Yu Watanabe ed8a737e08 core: use usec_add() at one more place
Follow-up for 8af1b296cb.
Fixes CID#1590317.
2025-01-19 10:31:50 +01:00
Yu Watanabe 22d3a3dd20 Tweaks to generic "io.systemd.service" Varlink interface, and hook it up in all long-running Varlink daemons (#35914) 2025-01-19 11:54:10 +09:00
Yu Watanabe bcc057aa1d pid1,nspawn: enable usrquota on /tmp/ + /dev/shm/ (#36036)
Split out of #36010.

This simply enables the "usrquota" mount option on the two dirs if they
are backed by tmpfs.

#36010 contains a test that actually verifies that the mount option does
its thing.
2025-01-19 11:51:54 +09:00
Yu Watanabe 3fb71599d0 tree-wide: coding style fixlets done by coccinelle (#36074) 2025-01-19 11:51:12 +09:00
Hendrik Wolff 5c6703e2d8 man/systemd.special: Add suspend-then-hibernate.target to sleep.target documentation 2025-01-19 11:47:09 +09:00
Yu Watanabe 99de29945f tree-wide: coding style fixlets done by coccinelle 2025-01-19 08:28:42 +09:00
Yu Watanabe 62123950c6 coccinelle: add .gitignore for cache files 2025-01-19 08:27:47 +09:00
Lennart Poettering adb556abd9 tree-wide: use log_level_is_valid() more 2025-01-18 23:24:29 +01:00
Lennart Poettering 078ddcb7ce test: add superficial test for generic per-service varlink API 2025-01-18 23:24:29 +01:00
Lennart Poettering c8127075ae tree-wide: implement generic io.systemd.service Varlink interface in all long-running services
Given we have the generic interface, let's hook it up everywhere.

This doesnt bother with the Reload() call usually, since that's more
involved, but hooks up the other relevant functions where applicable.
2025-01-18 23:24:29 +01:00
Lennart Poettering fef9eb4e6a varlink: add generic GetEnvironment() call to the Varlink "service" interface
It's just so useful being able to retrieve the current env block from
our services. Add a concept for that. It's really simple, and dumb.

In many ways it's like /proc/$PID/environ, but shows the actual
environ[] array visible to the app, not just some memory that was
originally used for the env block passed in, but might have been rearranged.
2025-01-18 23:24:29 +01:00
Lennart Poettering 211012f544 varlink: tweak introspection description for Reload() 2025-01-18 23:24:29 +01:00
Lennart Poettering 36e7aa7010 varlink: drop redundant check
sd_varlink_dispatch() alredy validates all this, no need to check this
manually.
2025-01-18 23:24:29 +01:00
Lennart Poettering a7cc7038ac varlink: rely on sd_varlink_dispatch() for validating zero-argument method calls, too 2025-01-18 23:24:29 +01:00