]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
5 months agopath-util: invert PATH_STARTSWITH_ACCEPT_DOT_DOT flag 37572/head
Lennart Poettering [Fri, 23 May 2025 04:45:40 +0000 (06:45 +0200)] 
path-util: invert PATH_STARTSWITH_ACCEPT_DOT_DOT flag

As requested: https://github.com/systemd/systemd/pull/37572#pullrequestreview-2861928094

5 months agocgroup: port some code over to path_startswith_full()
Lennart Poettering [Thu, 22 May 2025 16:35:25 +0000 (18:35 +0200)] 
cgroup: port some code over to path_startswith_full()

5 months agopath-util: add flavour of path_startswith() that leaves a leading slash in place
Lennart Poettering [Mon, 19 May 2025 10:58:52 +0000 (12:58 +0200)] 
path-util: add flavour of path_startswith() that leaves a leading slash in place

5 months agotests: fix TEST-74-AUX-UTILS.varlinkctl.sh (#37562)
Ivan Kruglov [Thu, 22 May 2025 14:05:10 +0000 (07:05 -0700)] 
tests: fix TEST-74-AUX-UTILS.varlinkctl.sh (#37562)

per Daan's explanation:
other subtests running as testuser apparently use systemd-run --user
--machine testuser@.host which turns user tracking in logind into "by
pin" mode. when the last pinning session exits it terminates the user.

5 months agoMore header cleanups (#37571)
Daan De Meyer [Thu, 22 May 2025 19:49:14 +0000 (21:49 +0200)] 
More header cleanups (#37571)

Split out of #37344

5 months agotree-wide: Clean up includes 37571/head
Daan De Meyer [Thu, 22 May 2025 11:40:43 +0000 (13:40 +0200)] 
tree-wide: Clean up includes

Preparation for cleaning up includes in src/shared.

5 months agomeson: Make sure <sys/socket.h> is included in af-from-name.gperf
Daan De Meyer [Thu, 22 May 2025 14:07:33 +0000 (16:07 +0200)] 
meson: Make sure <sys/socket.h> is included in af-from-name.gperf

5 months agobasic: Add missing process-util.h include to origin-id.h
Daan De Meyer [Thu, 22 May 2025 13:27:50 +0000 (15:27 +0200)] 
basic: Add missing process-util.h include to origin-id.h

5 months agologind: fix serialization of display user field
Lennart Poettering [Thu, 22 May 2025 16:04:34 +0000 (18:04 +0200)] 
logind: fix serialization of display user field

Follow-up for: 232f4e12fe526bfbcd5c7bd857bbb6a0db818cbc

5 months agoforward: Add more forward declarations
Daan De Meyer [Thu, 22 May 2025 10:08:31 +0000 (12:08 +0200)] 
forward: Add more forward declarations

CGroupMask was erronously added to core-forward.h even though it
comes from src/basic so we move it to the right location.

5 months agoRestore compatibility for coredump --backtrace (#37559)
Zbigniew Jędrzejewski-Szmek [Thu, 22 May 2025 11:40:29 +0000 (13:40 +0200)] 
Restore compatibility for coredump --backtrace (#37559)

5 months agoClang tidy headers (#37566)
Daan De Meyer [Thu, 22 May 2025 10:01:57 +0000 (12:01 +0200)] 
Clang tidy headers (#37566)

5 months agomeson: Run clang-tidy on libsystemd headers as well 37566/head
Daan De Meyer [Thu, 22 May 2025 09:06:54 +0000 (11:06 +0200)] 
meson: Run clang-tidy on libsystemd headers as well

5 months agomeson: Use .inc for generated code meant to be included in other files
Daan De Meyer [Thu, 22 May 2025 08:32:32 +0000 (10:32 +0200)] 
meson: Use .inc for generated code meant to be included in other files

These files use the .h extension but are not standalone so let's not
make it appear like they are proper headers and instead use the .inc
extension.

5 months agoboot: Clean up includes
Daan De Meyer [Thu, 22 May 2025 08:00:39 +0000 (10:00 +0200)] 
boot: Clean up includes

Instead of introducing efi-forward.h, we use efi.h for the same purpose
in the boot/ folder.

5 months agoRevert "logind: always enclose list fields (that may contain spaces) in quotes"
Luca Boccassi [Wed, 21 May 2025 23:56:18 +0000 (00:56 +0100)] 
Revert "logind: always enclose list fields (that may contain spaces) in quotes"

This breaks GNOME on Wayland, login no longer works:

gnome-shell[2250]: Running GNOME Shell (using mutter 48.2) as a Wayland display server
gnome-shell[2250]: Failed to setup: Failed to find any matching session
systemd[2054]: org.gnome.Shell@wayland.service: Failed with result 'protocol'.
systemd[2054]: Failed to start org.gnome.Shell@wayland.service - GNOME Shell on Wayland.

This reverts commit b0555149de780f81ec6f741d36bdb41b4d1d8a94.

5 months agoVarious cleanups (#37564)
Daan De Meyer [Thu, 22 May 2025 08:40:35 +0000 (10:40 +0200)] 
Various cleanups (#37564)

5 months agocore: Clean up includes 37564/head
Daan De Meyer [Thu, 22 May 2025 07:40:31 +0000 (09:40 +0200)] 
core: Clean up includes

Follow up for 836e4e7ea8fa24a0a08a3579f154ed4f4987c5df

5 months agotest: Remove unused includes
Daan De Meyer [Thu, 22 May 2025 07:22:07 +0000 (09:22 +0200)] 
test: Remove unused includes

5 months agomachine: Fix comment
Daan De Meyer [Thu, 22 May 2025 07:21:59 +0000 (09:21 +0200)] 
machine: Fix comment

5 months agocore: Clean up includes
Daan De Meyer [Wed, 21 May 2025 14:37:12 +0000 (16:37 +0200)] 
core: Clean up includes

Split out of #37344.

5 months agonetworkd: print a meaningful error on failure
Matteo Croce [Thu, 22 May 2025 03:41:49 +0000 (05:41 +0200)] 
networkd: print a meaningful error on failure

test_keep_configuration_on_restart() works, but the error printed is
misleading because self.assertNotEmpty() doesn't exist.

Add a working assert statement so, when the unmanaged interface is
altered, the test fails with a meaningful error, like:

        ### ip monitor dev unmanaged0 BEGIN
        222:33::/64 proto kernel metric 256 pref medium
        FAIL
        [...]
        Traceback (most recent call last):
          File "/work/src/test/test-network/systemd-networkd-tests.py", line 5085, in test_keep_configuration_on_restart
            self.assertEqual(line, '')
        AssertionError: '222:33::/64 proto kernel metric 256 pref medium' != ''
        - 222:33::/64 proto kernel metric 256 pref medium

While at it, strip the trailing newline so we can print easily the
string (and in future build more a robust regexp which uses the $ token)

5 months agoSeveral minor follow-ups for #33995 (#37558)
Mike Yuan [Wed, 21 May 2025 22:22:00 +0000 (00:22 +0200)] 
Several minor follow-ups for #33995 (#37558)

5 months agocoredump: wrap long lines, fix grammar in comments 37559/head
Zbigniew Jędrzejewski-Szmek [Wed, 21 May 2025 20:33:50 +0000 (22:33 +0200)] 
coredump: wrap long lines, fix grammar in comments

5 months agocoredump: restore compatibility with older patterns
Zbigniew Jędrzejewski-Szmek [Tue, 29 Apr 2025 12:47:59 +0000 (14:47 +0200)] 
coredump: restore compatibility with older patterns

This was broken in f45b8015513d38ee5f7cc361db9c5b88c9aae704. Unfortunately
the review does not talk about backward compatibility at all. There are
two places where it matters:
- During upgrades, the replacement of kernel.core_pattern is asynchronous.
  For example, during rpm upgrades, it would be updated a post-transaction
  file trigger. In other scenarios, the update might only happen after
  reboot. We have a potentially long window where the old pattern is in
  place. We need to capture coredumps during upgrades too.
- With --backtrace. The interface of --backtrace, in hindsight, is not
  great. But there are users of --backtrace which were written to use
  a specific set of arguments, and we can't just break compatiblity.
  One example is systemd-coredump-python, but there are also reports of
  users using --backtrace to generate coredump logs.

Thus, we require the original set of args, and will use the additional args if
found.

A test is added to verify that --backtrace works with and without the optional
args.

5 months agounit-def: reindent comments 37558/head
Yu Watanabe [Wed, 21 May 2025 20:12:13 +0000 (05:12 +0900)] 
unit-def: reindent comments

Prompted by dfdeb0b1cbb05a213f0965eedfe0e7ef06cd39d3.

5 months agotest-vpick: use more strict check
Yu Watanabe [Wed, 21 May 2025 20:10:57 +0000 (05:10 +0900)] 
test-vpick: use more strict check

Follow-up for 4fc99407601a235f9d1107f79363bb3f2d6ab5c0.

5 months agologind: Add missing include
Daan De Meyer [Wed, 21 May 2025 19:14:25 +0000 (21:14 +0200)] 
logind: Add missing include

Follow up for 1aa202dd243c815efa5c2017fef996e66546a0ba

5 months agologind: state serialization fixes (#37555)
Yu Watanabe [Wed, 21 May 2025 18:54:40 +0000 (03:54 +0900)] 
logind: state serialization fixes (#37555)

Turns out our escaping was really broken when saving/restoring
session/seat/user state. Let's fix that.

5 months agoanalyze: Clean up includes
Daan De Meyer [Wed, 21 May 2025 15:06:27 +0000 (17:06 +0200)] 
analyze: Clean up includes

Split out of #37344.

5 months agonetworkd: ensure that unmanaged interfaces aren't touched
Matteo Croce [Mon, 19 May 2025 21:35:23 +0000 (23:35 +0200)] 
networkd: ensure that unmanaged interfaces aren't touched

Extend the test_keep_configuration_on_restart in order to check
that the unmanaged interface isn't altered in any way.

5 months agoenv-file: rework write_env_file() to make use of O_TMPFILE
Lennart Poettering [Fri, 16 May 2025 11:08:56 +0000 (13:08 +0200)] 
env-file: rework write_env_file() to make use of O_TMPFILE

5 months agologind: rename EnableWallMessages= configuration knob to WallMessages= (#37553)
Lennart Poettering [Wed, 21 May 2025 17:47:57 +0000 (19:47 +0200)] 
logind: rename EnableWallMessages= configuration knob to WallMessages= (#37553)

We generally frown on config options that are called
EnableXYZ=/DisableXYZ=, hence drop this here too. Note that the original
sin was that the pre-existing D-Bus property already used the prefix.
But given that D-Bus properties are substantially more low-level (i.e.
developer focused) than the config knobs, let's bite the bullet and
name the configuration option cleanly, even if the dbus property carries
the damn prefix.

The knob was added post v257, hence this is not a compat break.

Follow-up for: 130698dc20df9438c3f5b79ddf2c1a1b16c3f8fc

5 months agomachined: call pidref_verify() in some cases this was missing
Lennart Poettering [Wed, 21 May 2025 07:20:44 +0000 (09:20 +0200)] 
machined: call pidref_verify() in some cases this was missing

We need to protect us from recycled PIDs here like everywhere else: once
we read data from /proc/$PID/ we need to validate that $PID still points
to the original pidfd.

5 months agocore: Make various ActivationDetails functions take a const argument
Daan De Meyer [Wed, 21 May 2025 13:44:05 +0000 (15:44 +0200)] 
core: Make various ActivationDetails functions take a const argument

5 months agonetwork: Clean up includes
Daan De Meyer [Wed, 21 May 2025 12:16:46 +0000 (14:16 +0200)] 
network: Clean up includes

Split out of #37344.

5 months agobootctl: Clean up includes
Daan De Meyer [Wed, 21 May 2025 14:35:00 +0000 (16:35 +0200)] 
bootctl: Clean up includes

Split out of #37344.

5 months agocryptenroll: Clean up includes
Daan De Meyer [Wed, 21 May 2025 14:34:29 +0000 (16:34 +0200)] 
cryptenroll: Clean up includes

Split out of #37344.

5 months agocryptsetup: Clean up includes
Daan De Meyer [Wed, 21 May 2025 14:34:14 +0000 (16:34 +0200)] 
cryptsetup: Clean up includes

Split out of #37344.

5 months agoREADME: update badges
Yu Watanabe [Wed, 21 May 2025 16:37:05 +0000 (01:37 +0900)] 
README: update badges

5 months agocore/namespace: unapplicable -> inapplicable
Yu Watanabe [Wed, 21 May 2025 16:20:43 +0000 (01:20 +0900)] 
core/namespace: unapplicable -> inapplicable

Follow-up for dfdeb0b1cbb05a213f0965eedfe0e7ef06cd39d3.

5 months agojournal: Clean up includes
Daan De Meyer [Wed, 21 May 2025 14:33:21 +0000 (16:33 +0200)] 
journal: Clean up includes

Split out of #37344.

5 months agojournal-remote: Clean up includes
Daan De Meyer [Wed, 21 May 2025 14:33:44 +0000 (16:33 +0200)] 
journal-remote: Clean up includes

Split out of #37344.

5 months agoimport: Clean up headers
Daan De Meyer [Wed, 21 May 2025 14:32:52 +0000 (16:32 +0200)] 
import: Clean up headers

Split out of #37344.

5 months agologin: Clean up includes
Daan De Meyer [Wed, 21 May 2025 12:17:11 +0000 (14:17 +0200)] 
login: Clean up includes

Split out of #37344.

5 months agomachine: Clean up includes
Daan De Meyer [Wed, 21 May 2025 12:16:30 +0000 (14:16 +0200)] 
machine: Clean up includes

Split out of #37344.

5 months agologind: also save pidfdid as part of session state, even if we don't parse it 37555/head
Lennart Poettering [Mon, 19 May 2025 10:14:25 +0000 (12:14 +0200)] 
logind: also save pidfdid as part of session state, even if we don't parse it

5 months agologind: save/restore inhibitor process pidfdid
Lennart Poettering [Mon, 19 May 2025 10:05:45 +0000 (12:05 +0200)] 
logind: save/restore inhibitor process pidfdid

5 months agologind: always enclose list fields (that may contain spaces) in quotes
Lennart Poettering [Mon, 19 May 2025 09:57:56 +0000 (11:57 +0200)] 
logind: always enclose list fields (that may contain spaces) in quotes

5 months agologind: fix escaping of various fields in state files
Lennart Poettering [Mon, 19 May 2025 09:56:28 +0000 (11:56 +0200)] 
logind: fix escaping of various fields in state files

parse_env_file() applies a certain kind of unescaping, and we really
need to match that when writing out arbitrary strings.

(This gets a bit confusing in the inhibit case, since that already
applied one level of escaping on its own...)

5 months agologind: port logind state files to fopen_tmpfile_linkable()
Lennart Poettering [Mon, 19 May 2025 08:15:25 +0000 (10:15 +0200)] 
logind: port logind state files to fopen_tmpfile_linkable()

This replaces use of fopen_temporary() with fopen_tmpfile_linkable() +
flink_tmpfile(). This both shortens the code and means we use O_TMPFILE
for installing these files, which is always good.

No change in behaviour otherwise.

5 months agoenv-file: add helper for printing a properly escaped env var file assignment
Lennart Poettering [Mon, 19 May 2025 09:02:41 +0000 (11:02 +0200)] 
env-file: add helper for printing a properly escaped env var file assignment

5 months agoportable: Fix comment
Daan De Meyer [Wed, 21 May 2025 12:44:24 +0000 (14:44 +0200)] 
portable: Fix comment

5 months agosystemctl: Clean up includes
Daan De Meyer [Wed, 21 May 2025 12:10:20 +0000 (14:10 +0200)] 
systemctl: Clean up includes

Split out of #37344.

5 months agoudev: Clean up includes
Daan De Meyer [Wed, 21 May 2025 12:07:30 +0000 (14:07 +0200)] 
udev: Clean up includes

Split out of #37344.

5 months agosysupdate: Clean up includes
Daan De Meyer [Wed, 21 May 2025 11:56:03 +0000 (13:56 +0200)] 
sysupdate: Clean up includes

Split out of #37344.

5 months agopretty-print: Add missing fileio.h include
Daan De Meyer [Wed, 21 May 2025 12:35:13 +0000 (14:35 +0200)] 
pretty-print: Add missing fileio.h include

LONG_LINE_MAX comes from fileio.h and is used in pretty-print.h so
pretty-print.h should include it.

5 months agonspawn: Clean up includes
Daan De Meyer [Wed, 21 May 2025 11:56:51 +0000 (13:56 +0200)] 
nspawn: Clean up includes

Split out of #37344.

5 months agoresolve: Clean up includes
Daan De Meyer [Wed, 21 May 2025 11:56:22 +0000 (13:56 +0200)] 
resolve: Clean up includes

Split out of #37344.

5 months agohome: Clean up includes
Daan De Meyer [Wed, 21 May 2025 11:49:13 +0000 (13:49 +0200)] 
home: Clean up includes

Split out of #37344.

5 months agoVarious cleanups (#37531)
Yu Watanabe [Wed, 21 May 2025 14:43:19 +0000 (23:43 +0900)] 
Various cleanups (#37531)

5 months agomkosi: update debian commit reference to 4ed8fd38c7b1579da6343c713adf0c33040cfc33
Luca Boccassi [Wed, 21 May 2025 11:16:23 +0000 (12:16 +0100)] 
mkosi: update debian commit reference to 4ed8fd38c7b1579da6343c713adf0c33040cfc33

4ed8fd38c7 Install new files for upstream build

5 months agomeson: Don't define targets for standalone binaries if option is not enabled 37531/head
Daan De Meyer [Wed, 21 May 2025 11:08:50 +0000 (13:08 +0200)] 
meson: Don't define targets for standalone binaries if option is not enabled

These are built from the same sources as the regular binaries, so we
end up with the same sources multiple times in the compilation database
but with different command line arguments, which trips up tooling that
uses the compilation database. Let's not define the standalone targets if
the option is not enabled to avoid this problem.

5 months agotree-wide: Include <libaudit.h> via libaudit-util.h
Daan De Meyer [Wed, 21 May 2025 10:22:40 +0000 (12:22 +0200)] 
tree-wide: Include <libaudit.h> via libaudit-util.h

Let's keep the ifdeffery for the include in one place.

5 months agotests: Move implementation of DEFINE_HEX_PTR() into source file
Daan De Meyer [Wed, 21 May 2025 09:59:16 +0000 (11:59 +0200)] 
tests: Move implementation of DEFINE_HEX_PTR() into source file

Otherwise we have to add a hexdecoct.h include to tests.h which we
want to avoid.

5 months agotest-tables: Pass enum type to test_table() as well
Daan De Meyer [Wed, 21 May 2025 09:34:41 +0000 (11:34 +0200)] 
test-tables: Pass enum type to test_table() as well

clang-include-cleaner has a hard time figuring out unused includes
with all the macro string concatentation we're doing in test_table().
Let's help it out a little by also passing the enum type into test_table().

While technically not needed, this makes the tests a bit more self-descriptive
and not really much more verbose so it feels like a good chance regardless,
even if the primary purpose is to help clang-include-cleaner figure out
used and unused includes.

5 months agostat-util: Use typeof_field() in one more place
Daan De Meyer [Wed, 21 May 2025 11:24:22 +0000 (13:24 +0200)] 
stat-util: Use typeof_field() in one more place

5 months agoClean up more includes (#37527)
Yu Watanabe [Wed, 21 May 2025 10:43:39 +0000 (19:43 +0900)] 
Clean up more includes (#37527)

Split out of #37344

5 months agojournald: clarify doc for usage-related values cap (#37528)
TheHillBright [Wed, 21 May 2025 10:38:12 +0000 (18:38 +0800)] 
journald: clarify doc for usage-related values cap (#37528)

The old description makes users wrongly assume that the cap of 4G
applied, even when the user specifies a value that will result in higher
than 4G. This commit avoids this misunderstanding.

5 months agoBugprone argument comment 6 (#37507)
Yu Watanabe [Wed, 21 May 2025 10:29:58 +0000 (19:29 +0900)] 
Bugprone argument comment 6 (#37507)

Follow up from https://github.com/systemd/systemd/pull/37481

5 months agobpf-socket-bind: rename 'u' to 'unit' 37507/head
Jelle van der Waa [Sat, 17 May 2025 18:08:16 +0000 (20:08 +0200)] 
bpf-socket-bind: rename 'u' to 'unit'

Follow argument comment naming.

5 months agosd-login: rename sd_seat_get_active arguments
Jelle van der Waa [Sat, 17 May 2025 18:00:52 +0000 (20:00 +0200)] 
sd-login: rename sd_seat_get_active arguments

Follow the argument comment naming.

5 months agosd-bus: rename cookie to ret_cookie
Jelle van der Waa [Sat, 17 May 2025 17:59:40 +0000 (19:59 +0200)] 
sd-bus: rename cookie to ret_cookie

Follow the argument comment naming.

5 months agosd-event: rename 's' -> 'ret'
Jelle van der Waa [Sat, 17 May 2025 17:53:12 +0000 (19:53 +0200)] 
sd-event: rename 's' -> 'ret'

5 months agojournal-sync: rename ss to stream
Jelle van der Waa [Sat, 17 May 2025 17:45:53 +0000 (19:45 +0200)] 
journal-sync: rename ss to stream

Follow the argument comment name.

5 months agoefivars: rename ret -> ret_data
Jelle van der Waa [Sat, 17 May 2025 16:08:38 +0000 (18:08 +0200)] 
efivars: rename ret -> ret_data

Follow the used argument comment naming.

5 months agodbus-manager: correct argument comment
Jelle van der Waa [Sat, 17 May 2025 16:08:19 +0000 (18:08 +0200)] 
dbus-manager: correct argument comment

5 months agopretty-print: correct argument comment
Jelle van der Waa [Sat, 17 May 2025 16:07:58 +0000 (18:07 +0200)] 
pretty-print: correct argument comment

5 months agotreewide: fix header file definitions
Jelle van der Waa [Sat, 17 May 2025 16:01:35 +0000 (18:01 +0200)] 
treewide: fix header file definitions

5 months agocore: rename p -> parameters
Jelle van der Waa [Sat, 17 May 2025 13:32:52 +0000 (15:32 +0200)] 
core: rename p -> parameters

5 months agotimesync: Clean up includes 37527/head
Daan De Meyer [Wed, 21 May 2025 07:42:03 +0000 (09:42 +0200)] 
timesync: Clean up includes

Split out of #37344.

5 months agooom: Clean up includes
Daan De Meyer [Wed, 21 May 2025 07:41:29 +0000 (09:41 +0200)] 
oom: Clean up includes

Split out of #37344.

5 months agoshared: Introduce conf-parser-forward.h
Daan De Meyer [Wed, 21 May 2025 07:20:27 +0000 (09:20 +0200)] 
shared: Introduce conf-parser-forward.h

conf-parser.h pulls in a lot of other headers as needed by all the
macros it defines. We can't easily move the implementations of these
macro to conf-parser.c, so let's instead introduce conf-parser-forward.h
with just the stuff in it needed by other header files.

We'll make use of this when cleaning up includes to only include the
minimal parts of conf-parser.h that are required by other headers without
pulling in the kitchen sink.

5 months agofuzz: Clean up includes
Daan De Meyer [Wed, 21 May 2025 07:45:18 +0000 (09:45 +0200)] 
fuzz: Clean up includes

Split out of #37344.

5 months agotest: Clean up includes
Daan De Meyer [Wed, 21 May 2025 07:45:06 +0000 (09:45 +0200)] 
test: Clean up includes

To make sure everything still compiles, we add a preliminary include
of forward.h to tests.h to make sure it is included in every test source
file. We'll clean up the tests.h includes in a later commit.

We also add a <errno.h> include to errno-list.h to keep test-errno-list.c
compiling. It'll be removed again when we clean up includes in src/basic.

Split out of #37344.

5 months agotree-wide: Clean up includes
Daan De Meyer [Wed, 21 May 2025 07:37:24 +0000 (09:37 +0200)] 
tree-wide: Clean up includes

This removes more unused includes from the components already cleaned
up in #37467 and #37457.

Split out of #37344.

5 months agobasic: Include time-util.h in constants.h
Daan De Meyer [Wed, 21 May 2025 07:23:13 +0000 (09:23 +0200)] 
basic: Include time-util.h in constants.h

constants.h defines a bunch of constants that use macros from
time-util.h, so add the needed include. To avoid cyclic dependencies,
we move the HAS_FEATURE_MEMORY_SANITIZER and HAS_FEATURE_ADDRESS_SANITIZER
logic to macro.h and get rid of the constants.h include there.

The rest of this commit is adding missing constants.h includes where
needed due to it being removed from macro.h.

5 months agomacro-fundamental: Introduce typeof_field()
Daan De Meyer [Wed, 21 May 2025 08:47:56 +0000 (10:47 +0200)] 
macro-fundamental: Introduce typeof_field()

5 months agoicmp6-packet: Fix typo
Daan De Meyer [Wed, 21 May 2025 08:32:15 +0000 (10:32 +0200)] 
icmp6-packet: Fix typo

5 months agopcre2-util: Make sure PatternCompileCase enum is named
Daan De Meyer [Wed, 21 May 2025 08:31:21 +0000 (10:31 +0200)] 
pcre2-util: Make sure PatternCompileCase enum is named

5 months agoforward.h: Add forward declaration of BusObjectImplementation
Daan De Meyer [Wed, 21 May 2025 08:11:48 +0000 (10:11 +0200)] 
forward.h: Add forward declaration of BusObjectImplementation

5 months agokernel-install/90-loaderentry.install: print message if quiting (#37522)
Zbigniew Jędrzejewski-Szmek [Wed, 21 May 2025 07:55:27 +0000 (09:55 +0200)] 
kernel-install/90-loaderentry.install: print message if quiting (#37522)

60-ukify.install prints a message like this, and it is quite useful when
trying to figure out what is going on.

5 months agoupdate TODO
Lennart Poettering [Mon, 19 May 2025 08:08:39 +0000 (10:08 +0200)] 
update TODO

5 months agoPrettify bootctl status (#37524)
Lennart Poettering [Wed, 21 May 2025 05:10:07 +0000 (07:10 +0200)] 
Prettify bootctl status (#37524)

5 months agoresolved: add new "DNS Delegate" concepts (#34368)
Lennart Poettering [Tue, 20 May 2025 22:32:07 +0000 (00:32 +0200)] 
resolved: add new "DNS Delegate" concepts (#34368)

Various long standing issues (at least: #5573 #14159 #20485 #21260
#24532 #32022 #18056) have been asking for a way to delegate DNS
resolution of specific domains to very specific DNS servers.

This PR goes a major step towards that goal by adding a new concept "DNS
Delegate" which allows to configure just that. Basically, this adds a
third kind of DNS scope to resolved's logic: besides the per-link and
global DNS scopes there are now also "delegate" scopes, which can be
created by dropping in a new file /etc/systemd/dns-delegate/*.conf. They
carry DNS= and Domains= lines just like the global setting or what the
per-link configuration can carry.

And they are consulted the same way as link DNS scopes are considered,
following the same routing rules.

This allows to configure these DNS delegates statically via drop-in
files as mentioned, and only adds the most basic functionality. Later on
we might want to extend this:

1. Allow dynamic creation of DNS delegates via IPC with lifecycle bound
to IPC client (usecase: installing a DNS delegate that routes traffic to
some DNS-over-TLS server once basic setup is complete).
2. Allow configuration of protocol details per delegate the same way
this is currently allowed per-link.
3. Instead of strictly using DNS as delegation protocol, support an
alternative varlink based protocol (without retransmission problems and
so on) that systemd-machined and similar can implement.

This PR is not complete yet. Lacks docs and tests. Seems to work fine in
my local tests however.

Fixes: #5573
Fixes: #18056
Fixes: #20485
5 months agotest: add simple integration test for delegation feature 34368/head
Lennart Poettering [Fri, 9 May 2025 08:28:53 +0000 (10:28 +0200)] 
test: add simple integration test for delegation feature

5 months agoman: document dns-delegate files
Lennart Poettering [Wed, 2 Apr 2025 13:39:54 +0000 (15:39 +0200)] 
man: document dns-delegate files

5 months agoresolvectl: show delegate information, too
Lennart Poettering [Wed, 11 Sep 2024 14:12:04 +0000 (16:12 +0200)] 
resolvectl: show delegate information, too

5 months agoresolvectl: rework parsing of dns server + search domain bus properties
Lennart Poettering [Wed, 11 Sep 2024 14:10:45 +0000 (16:10 +0200)] 
resolvectl: rework parsing of dns server + search domain bus properties

Let's handle the per-link and the global dns server/search domain
property parsing the same. Let's use a flags field for three separate
booleans, and unify more code.

5 months agoresolved: add concept of delegating lookups below certain domains to specific DNS...
Lennart Poettering [Tue, 3 Sep 2024 08:56:31 +0000 (10:56 +0200)] 
resolved: add concept of delegating lookups below certain domains to specific DNS servers

This permits configuration of additional "delegates" which ensure that
lookups for certain DNS zones are routed to specific sets of DNS
servers, in addition to the routes we create for each network interface.

For now, this allows only static configuration, but eventually we should
open this up to IPC.

Fixes: #5573 #14159 #20485 #21260 #24532 #32022
(Fixes #32022, because now redundant)