Commit Graph
82219 Commits
Author SHA1 Message Date
Lennart Poettering 279962a9e8 core/timer: Introduce RandomOffsetSec= knob (#36437)
This is like RandomDelaySec, but it doesn't reset whenever the manager
restarts.

Fixes https://github.com/systemd/systemd/issues/21166
2025-06-17 16:05:12 +02:00
Lennart Poettering ef3a0ed834 various: turn off SO_PASSRIGHTS where fds are not expected (#37759) 2025-06-17 15:37:35 +02:00
Lennart Poettering 6e13b284ee stub: call inner kernel directly (#37372)
Since shim 16, it is not possible anymore to override the security arch
protocol to avoid signature check and measurements.

Also on Dell servers, EFI_SECURITY2_ARCH_PROTOCOL is not implemented, so
unexpected measurements on PCR 4 were still happening.

This just loads and run the kernel pe. We verify that there is no
relocation needed. Also for simplification, we assume and verify that
the base address is expected to be 0.
2025-06-17 14:34:53 +02:00
Lennart Poettering f2a365b982 network/dhcp-server: improvements for saving/loading leases (#37835) 2025-06-17 14:31:22 +02:00
Luca Boccassi 5cdf2c4d40 man: fix varname copypasta 2025-06-17 14:16:36 +02:00
Mike Yuan 85352c095e various: turn off SO_PASSRIGHTS where fds are not expected 2025-06-17 13:16:44 +02:00
Mike Yuan ed6b7b6ace sd-varlink: hook up fd passing control with SO_PASSRIGHTS
This is a tricky one, because we effectively turn fd passing input
toggle into a tristate: unset, disabled, and enabled; whereas unset
and disabled were identical previously. *Unset* state silently
ignores SCM_RIGHTS passed by invoking recv() instead of recvmsg(),
and for disabled we now disable SO_PASSRIGHTS completely.

The plot thickens when it comes to the server, since we want to
turn off the SO_PASSRIGHTS already on the listening socket so that
there's no race between accept() and recvmsg() wrt SO_PASSRIGHTS state.
However, if we do this unconditionally, the existing use case of
creating a custom connection callback and enabling fd passing there
would be broken.

Hence, let's introduce a new flag,
SD_VARLINK_SERVER_FD_PASSING_INPUT_STRICT, which when set
ties the enablement of fd passing to SO_PASSRIGHTS in server,
and set it for all our varlink servers.

Refer to the previous commit for the rationale behind return value
change in sd_varlink_set_allow_fd_passing_input().
2025-06-17 13:16:44 +02:00
Mike Yuan 72098df843 sd-varlink: unify AF_UNIX check in sd_varlink_set_allow_fd_passing_output()
Currently, the socket type is only checked if the fd passing is
being enabled. The special handling seems unnecessary though,
as in the disable case, either fd passing is already false and
would be caught by the (... == !!b) shortcut at the beginning,
or the AF_UNIX check wouldn't have succeeded in the first place,
for the initial toggle to true. Hence, just uniformly check
AF_UNIX.

While at it, sd_varlink_set_allow_fd_passing_*() oddly return 1
iff changed and !b, which doesn't fit into our coding style and
I can't come up with any use case for such behavior. Let's
return 1 on changed and 0 otherwise.

sd_varlink_set_allow_fd_passing_input() will be fixed in the later
commits with other enhancements.
2025-06-17 13:16:43 +02:00
Mike Yuan 60483ea14c sd-varlink: remove unneeded strdup() 2025-06-17 13:16:43 +02:00
Mike Yuan 9b255107c2 logind: port one remaining varlink server allocation to varlink_server_new() 2025-06-17 13:16:43 +02:00
Mike Yuan 718e7eb184 notify-recv: disable SO_PASSRIGHTS by default in notify_socket_prepare() 2025-06-17 13:16:43 +02:00
Mike Yuan 5c12797fc3 core/socket: introduce AcceptFileDescriptors=
This controls the new SO_PASSRIGHTS socket option in kernel v6.16.
Note that I intentionally choose a different naming scheme than
Pass*=, since all other Pass*= options controls whether some extra
bits are attached to the message, while this one's about denying
file descriptor transfer and it feels more explicit this way.
And diverging from underlying socket option name is precedented
by Timestamping=. But happy to change it to just say PassRights=
if people disagree.
2025-06-17 13:16:42 +02:00
Mike Yuan f66eeedf6f missing_socket: add SO_PASSRIGHTS 2025-06-17 13:16:42 +02:00
Mike Yuan 35462aa14a core/socket: add PassPIDFD= 2025-06-17 13:16:41 +02:00
Mike Yuan b81a14b91e core/socket: use universal format string for socket option warnings 2025-06-17 13:16:08 +02:00
Mike Yuan b36ab0d4ce core/socket: don't suggest PassFileDescriptorsToExec= is a socket option
by not interleaving it among socket options.
2025-06-17 13:16:07 +02:00
Mike Yuan 58f3be82ce udev-ctrl: enable SO_PASSCREDS on listening socket already rather than on accept()
This matches what systemd-udevd-control.socket does.
2025-06-17 13:16:07 +02:00
Mike Yuan 9453a92ad7 units/systemd-journald@.socket: enable SO_TIMESTAMP
Follow-up for 02229dff2b

This applies the change to journal namespace instances too.
2025-06-17 13:16:07 +02:00
Mike Yuan d53444085f README: add more kernel APIs we now utilize 2025-06-17 13:16:07 +02:00
Mike Yuan 020d85c8e3 log: drop redundant forward decl
These are defined in forward.h already.
2025-06-17 11:44:50 +02:00
Arkadiusz Bokowy 998aa62a21 sd-bus: Preserve interfaces addition order
When adding a new interface to the object add it at the end of the list.
This way, when iterating over the list, e.g., during handling introspect
call, the order of returned interfaces will mach the order in which they
were added.
2025-06-17 17:28:35 +09:00
Lennart Poettering 2db991dc35 hostname-util: introduce machine_spec_valid() and check --machine= value everywhere (#37851)
Replaces #32999

Addresses
https://github.com/systemd/systemd/pull/37741#discussion_r2128482378
2025-06-17 09:34:22 +02:00
Mike Yuan fba85a0ecb fstab-generator: log about the fstype in effect 2025-06-17 16:14:47 +09:00
Luca Boccassi d3a57a0853 fstab-generator: set mode=0755 with root=tmpfs
If mode= is not set in rootflags= add mode=0755 when a tmpfs
is used on the rootfs, otherwise it will be group/world writable
as that's the default mode for tmpfs filesystems.

Follow-up for 725ad3b062
2025-06-17 16:13:45 +09:00
Luca Boccassi 80edc0ecdd mkosi: update debian commit reference to 01b5b96a2f85594c2c8caf5d10048a4ec41f9d89
* 01b5b96a2f Install new files for upstream build
* a4bdf87f03 Revert "systemd-boot: always pull in systemd-boot-efi on amd64/arm64"
* e29629dcaf systemd-boot: always pull in systemd-boot-efi on amd64/arm64
* f0202aa0aa Update changelog for 257.6-1 release
* 7a5572e94d Drop patches, merged upstream
* ece0caddcf Set upstream metadata fields: Security-Contact
* a71d94c611 systemd-boot: fix BOOT.CSV usage
2025-06-17 16:10:20 +09:00
Mike Yuan a59cc3860b tree-wide: check --machine= specification
Addresses https://github.com/systemd/systemd/pull/37741#discussion_r2128482378
2025-06-17 02:10:37 +02:00
Mike Yuan 6fdb6c73ae sd-bus: port to machine_spec_valid() 2025-06-17 01:39:57 +02:00
Mike Yuan 4c6fbe733b hostname-util: introduce machine_spec_valid() 2025-06-17 01:39:57 +02:00
Mike Yuan d2e727bf68 hostname-util: do not allow empty machine spec
Follow-up for 2ae32e9d8f

Let's not open this up even further and rather disallow
--machine="".
2025-06-17 01:39:56 +02:00
Yu Watanabe 75e638671c Update distro packaging commits (#37765) 2025-06-17 04:46:44 +09:00
Daan De Meyer f1fc8b5dea mkosi: update fedora commit reference to 7de88c66bdc26920db570e67ef74e579f8461d9c
* 7de88c66bd Do not mark symlinks as %ghost
* 92c16c1dab Let systemd-{sysusers,shared} conflict with older systemd
* ed6b885327 Version 257.6
* 5a53eac13c Package pcrlock files together with systemd-pcrlock
* 2192e86112 Move mount.ddi symlinks to -container subpackage
* 451184cbea Revert "Disable freezing of user sessions"
* f6af46db12 Backport adb/fastboot udev rules (BZ#2356537)
* f6b814cc0f Backport CI fix
* d304477023 Version 257.5
2025-06-16 18:54:08 +01:00
Daan De Meyer 00f7afebb4 mkosi: update opensuse commit reference to 2dc224ae5d446e928519315f4d46f76d1e34b8a8
* 2dc224ae5d Update systemd to version 257.6 / rev 448 via SR 1281804
* 15818e66dd Update systemd to version 257.5 / rev 447 via SR 1278063
* 2480ac89f0 Update 000product to rev 4383
* c381cdada8 update 2025-04-11 16:42
* bb036b2b8e Update systemd to version 257.4 / rev 444 via SR 1252776
* 55ae12d80b Update systemd to version 257.3 / rev 443 via SR 1249841
* a7fcf45b77 Update systemd to version 257.3 / rev 442 via SR 1247443
2025-06-16 18:54:04 +01:00
Daan De Meyer 57347e4199 mkosi: update arch commit reference to 15cb472aeb4d93d7fae9c7b7bc2cd6723bc8ec85
* 15cb472aeb upgpkg: 257.6-1: new upstream release
* 1c11767e01 upgpkg: 257.5-3: backlight: Drop support for actual_brightness
* 489e88099e upgpkg: 257.5-2: fast-forward to current v257-stable
2025-06-16 16:47:30 +01:00
Yu Watanabe 65f20d58f4 resolve: several further fixes for reloading config (#37856)
Fixes #37843.
2025-06-17 00:23:56 +09:00
Yu Watanabe a4eb5094e6 terminal-util: fix doubled 'to' in log messages
Follow-up for 3390be38d1.
2025-06-16 22:25:27 +09:00
Yu Watanabe 888e3f4357 TEST-75-RESOLVED: add test case for reloading DNSStubListenerExtra= 2025-06-16 22:04:52 +09:00
Yu Watanabe 752cdf5051 manager: also restart stub listner on reload
Previously, the extra stub listners were stopped but new ones were not
started. Also, the main stub listners were not restarted, hence the
new settings were not applied. This fixes the above two issues.

Note, to fix the issue, we need to keep CAP_NET_BIND_SERVICE capability
to make it allow to bind stub listner later.

Fixes #37843.
2025-06-16 22:02:30 +09:00
Yu Watanabe 9ed99b0793 resolve: several cleanups for manager_dispatch_reload_signal()
- set defaults after all existing configs and setups cleared,
- mention failures are ignored in log messages,
- drop one redundant log message,
- do not return negative errno but exit event loop on critical failure.
2025-06-16 22:02:30 +09:00
Yu Watanabe 872603b583 resolve: several cleanups for manager_new()
- mention the error is ignored in the log message,
- drop redundant log message, as dnssd_load() logs on failure,
- voidify manager_load_delegates().
2025-06-16 22:02:30 +09:00
Yu Watanabe 450a4edfc3 resolve: coding style fix 2025-06-16 22:02:30 +09:00
Yu Watanabe 5d5edcd3f4 resolve: fix indentation 2025-06-16 22:02:30 +09:00
Mike Yuan deedd5c26e terminal-util: modernize ptsname_malloc a bit 2025-06-16 20:08:52 +09:00
Yu Watanabe 18d79a7f9c network/tunnel: several cleanups for Mode= setting and make sit and ipip tunnel support it (#37853)
Closing #37377.
2025-06-16 20:07:38 +09:00
Mike Yuan 75a9aa2b7c meson: enable -Werror=missing-parameter-name 2025-06-16 20:07:13 +09:00
Mike Yuan 2a1338242d socket-util: drop duplicate SCM_MAX_FD definition
We already carry it in missing_socket.h
2025-06-16 12:16:03 +02:00
Yu Watanabe 312e3835ee test-network: add tests for tunnel mode 2025-06-16 17:01:37 +09:00
Yu Watanabe fe94aa316d network/tunnel: make sit and ipip tunnel support Mode= setting
Closing #37377.
2025-06-16 17:01:20 +09:00
Yu Watanabe 8424a70caf network/tunnel: rename Ip6TnlMode to TunnelMode
This also makes ip6tnl can be created without specifying Mode= setting,
as the kernel accepts new-link netlink message without the
IFLA_IPTUN_PROTO attribute.

No effective functional change, just refactoring and preparation for
later change.
2025-06-16 16:58:38 +09:00
Mike Yuan a14a6f1df6 socket-activate: add a --now option to instantly start service (#37620) 2025-06-16 02:08:57 +02:00
Daniel Foster 9e0d0c3fdf test: add simple tests for systemd-socket-activate tool 2025-06-15 16:34:16 +10:00