]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
9 months agoresolve: cleanups for validating query flags and fix resolving service with record...
Lennart Poettering [Thu, 20 Feb 2025 16:31:19 +0000 (17:31 +0100)] 
resolve: cleanups for validating query flags and fix resolving service with record type filter (#36398)

Follow-up for 81ae2237c1792943a1ec712ae2e630bcc592175b.
Fixes
https://github.com/systemd/systemd/pull/36353#issuecomment-2659558382.

9 months agomkosi: Enable userdb tmpfiles dropin on Fedora/CentOS
Daan De Meyer [Thu, 20 Feb 2025 14:08:53 +0000 (15:08 +0100)] 
mkosi: Enable userdb tmpfiles dropin on Fedora/CentOS

It's disabled by default in the Fedora spec, but still available
as an example file. Let's symlink it to the proper name in the images
to enable it again.

9 months agouser-runtime-dir: use right accessor got get GID of account
Lennart Poettering [Thu, 20 Feb 2025 14:07:30 +0000 (15:07 +0100)] 
user-runtime-dir: use right accessor got get GID of account

9 months agohomed: make "register" call more friendly
Lennart Poettering [Thu, 20 Feb 2025 14:11:53 +0000 (15:11 +0100)] 
homed: make "register" call more friendly

Let's accept full user records (including status and so on) and simply
eat up the parts we don't care about, instead of refusing the whole
record wholesale.

This makes it easier to just copy a user record from one machine and
registering it at another, without stripping the irrelevant parts first.

9 months agoupdate TODO
Lennart Poettering [Thu, 20 Feb 2025 10:05:05 +0000 (11:05 +0100)] 
update TODO

9 months agotimedated: Send error when time set is past build date time
Pavithra Barithaya [Thu, 13 Feb 2025 06:58:40 +0000 (12:28 +0530)] 
timedated: Send error when time set is past build date time

When the user/customer sets the time on the system which is prior
than that of the systemd build time, as systemd doesn't allow time
before it's build date after a reboot, systemd is resetting it but
there is no error or exception present in the setTime method due
to which user/customer is unaware of why the time is reset back to
the systemd-build time.

Added a condition check in the set_time() method to return an
error when tried to set time past the systemd build date.

Tested: Verified that it throws an error when we try to set the
time prior to systemd build date.

Change-Id: Ia6b58320bdb7234a21885a44af8fd3bda64c3789

9 months agomkosi: Install systemd-boot in opensuse initrd
Daan De Meyer [Thu, 20 Feb 2025 13:11:58 +0000 (14:11 +0100)] 
mkosi: Install systemd-boot in opensuse initrd

This contains the systemd-stub tmpfiles snippet which we need to
copy stuff from /.extra to /run/systemd/stub which
TEST-86-MULTI-UKI-PROFILE depends on to work properly.

9 months agomkosi: Do not run unit tests during build by default (#36450)
Daan De Meyer [Thu, 20 Feb 2025 12:25:03 +0000 (13:25 +0100)] 
mkosi: Do not run unit tests during build by default  (#36450)

9 months agoman: fix typo in systemd.watchdog_device kernel option
Ahmad Fatoum [Thu, 20 Feb 2025 11:53:49 +0000 (12:53 +0100)] 
man: fix typo in systemd.watchdog_device kernel option

The option that systemd actually looks for has an underscore and no dash
as can be seen in src/core/main.c.

The man/kernel-command-line.xml documentation also gets it right with
this file being the only instance of watchdog-device being used.

Fixes: c75396c30bd9 ("documentation: add description for watchdog device path")
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
9 months agotools/dbus_exporter: set LD_ORIGIN_PATH if procfs is not available
Luca Boccassi [Fri, 8 Nov 2024 22:41:09 +0000 (22:41 +0000)] 
tools/dbus_exporter: set LD_ORIGIN_PATH if procfs is not available

The script runs the binaries which try to find the internal libs via /proc/self/exe due
to glibc's RPATH resolution and fail:

/var/cache/src/systemd/tools/dbus_exporter.py interfaces
 /var/cache/src/systemd/build/systemd
 /var/cache/src/systemd/build/systemd-homed
 /var/cache/src/systemd/build/systemd-hostnamed
 /var/cache/src/systemd/build/systemd-importd
 /var/cache/src/systemd/build/systemd-localed
 /var/cache/src/systemd/build/systemd-logind
 /var/cache/src/systemd/build/systemd-machined
 /var/cache/src/systemd/build/systemd-networkd
 /var/cache/src/systemd/build/systemd-oomd
 /var/cache/src/systemd/build/systemd-portabled
 /var/cache/src/systemd/build/systemd-resolved
 /var/cache/src/systemd/build/systemd-sysupdated
 /var/cache/src/systemd/build/systemd-timedated
execve("/var/cache/src/systemd/build/systemd", ["/var/cache/src/systemd/build/sys"..., "--bus-introspect", "list"], 0x7ffc7ab68600 /* 20 vars */) = 0
brk(NULL)                               = 0x56265bf70000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f56ced7f000
readlinkat(AT_FDCWD, "/proc/self/exe", 0x7ffedeaa7a90, 4096) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=20293, ...}) = 0
mmap(NULL, 20293, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f56ced7a000
close(3)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v4/libsystemd-core-258.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v4/", 0x7ffedeaa80b0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v3/libsystemd-core-258.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v3/", 0x7ffedeaa80b0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2/libsystemd-core-258.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2/", 0x7ffedeaa80b0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libsystemd-core-258.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/", {st_mode=S_IFDIR|0755, st_size=19312, ...}, 0) = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v4/libsystemd-core-258.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v4/", 0x7ffedeaa80b0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v3/libsystemd-core-258.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v3/", 0x7ffedeaa80b0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2/libsystemd-core-258.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2/", 0x7ffedeaa80b0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libsystemd-core-258.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/", {st_mode=S_IFDIR|0755, st_size=19312, ...}, 0) = 0
openat(AT_FDCWD, "/lib/glibc-hwcaps/x86-64-v4/libsystemd-core-258.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/lib/glibc-hwcaps/x86-64-v4/", 0x7ffedeaa80b0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/glibc-hwcaps/x86-64-v3/libsystemd-core-258.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/lib/glibc-hwcaps/x86-64-v3/", 0x7ffedeaa80b0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/glibc-hwcaps/x86-64-v2/libsystemd-core-258.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/lib/glibc-hwcaps/x86-64-v2/", 0x7ffedeaa80b0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/libsystemd-core-258.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/lib/", {st_mode=S_IFDIR|0755, st_size=642, ...}, 0) = 0
openat(AT_FDCWD, "/usr/lib/glibc-hwcaps/x86-64-v4/libsystemd-core-258.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/glibc-hwcaps/x86-64-v4/", 0x7ffedeaa80b0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/glibc-hwcaps/x86-64-v3/libsystemd-core-258.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/glibc-hwcaps/x86-64-v3/", 0x7ffedeaa80b0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/glibc-hwcaps/x86-64-v2/libsystemd-core-258.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/glibc-hwcaps/x86-64-v2/", 0x7ffedeaa80b0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/libsystemd-core-258.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/", {st_mode=S_IFDIR|0755, st_size=642, ...}, 0) = 0
writev(2, [{iov_base="/var/cache/src/systemd/build/sys"..., iov_len=36},
           {iov_base=": ", iov_len=2},
           {iov_base="error while loading shared libra"..., iov_len=36},
           {iov_base=": ", iov_len=2},
           {iov_base="libsystemd-core-258.so", iov_len=22},
           {iov_base=": ", iov_len=2},
           {iov_base="cannot open shared object file", iov_len=30},
           {iov_base=": ", iov_len=2},
           {iov_base="No such file or directory", iov_len=25},
           {iov_base="\n", iov_len=1}],
           10/var/cache/src/systemd/build/systemd: error while loading shared libraries: libsystemd-core-258.so: cannot open shared object file: No such file or directory
) = 158

9 months agomkosi: Do not run unit tests during build by default 36450/head
Daan De Meyer [Thu, 20 Feb 2025 09:30:16 +0000 (10:30 +0100)] 
mkosi: Do not run unit tests during build by default

We want the incremental builds to be as fast as possible, so let's
not run the unit tests locally during the image build by default.

9 months agodocs: Document how to run the unit tests in HACKING.md
Daan De Meyer [Thu, 20 Feb 2025 09:31:02 +0000 (10:31 +0100)] 
docs: Document how to run the unit tests in HACKING.md

9 months agotree-wide: tweaks to mount point inode creation (#36308)
Luca Boccassi [Wed, 19 Feb 2025 22:09:52 +0000 (22:09 +0000)] 
tree-wide: tweaks to mount point inode creation (#36308)

Some love for make_mount_point_inode_from_xyz() and ports PID 1 over to
it for mount units.

Alternative to #36290

9 months agorepart: add parameter to attach offline verity signature (#36405)
Luca Boccassi [Wed, 19 Feb 2025 18:12:19 +0000 (18:12 +0000)] 
repart: add parameter to attach offline verity signature (#36405)

Add --join-signature=hash:sig - when a verity signature partition
has been deferred in a previous run, this allows attaching a signature
that was created offline, for example on a build system like OBS where
the private key is not available to the build process.

Can be specified multiple times, the right partition to act upon will
be selected by matching the data+verity partitions UUIDs with the
provided roothash(es)

9 months agorepart: add parameter to attach offline verity signatures 36405/head
Luca Boccassi [Mon, 3 Feb 2025 15:05:46 +0000 (16:05 +0100)] 
repart: add parameter to attach offline verity signatures

Add --join-signature=hash:sig - when a verity signature partition
has been deferred in a previous run, this allows attaching a signature
that was created offline, for example on a build system like OBS where
the private key is not available to the build process.

Can be specified multiple times, the right partition to act upon will
be selected by matching the data+verity partitions UUIDs with the
provided roothash(es)

9 months agologind: save seat before applying acl
xinpeng wang [Mon, 17 Feb 2025 07:01:22 +0000 (15:01 +0800)] 
logind: save seat before applying acl

udev will trigger the uaccess program in 73-seat-late.rules, which
may modify the device's acl permissions. In some cases, udev triggers
the uaccess program when logind is started and active is being set.
At this time, 1) logind sets the user's acl permissions, 2) uaccess
obtains active and sets acl permissions; 3) logind updates seat's
stat_file and writes active. This situation will cause the device to
not have the correct acl permissions, resulting in abnormal situations
such as a black screen. Therefore, it is necessary to write active to
seat's stat file before setting acl.

9 months agoissue: add trailing empty line
Lennart Poettering [Wed, 19 Feb 2025 11:13:50 +0000 (12:13 +0100)] 
issue: add trailing empty line

(Make this more alike the version actually shipped in Fedora)

9 months agoupdate TODO
Lennart Poettering [Wed, 19 Feb 2025 08:09:51 +0000 (09:09 +0100)] 
update TODO

9 months agomkosi: Update distribution packaging specs for arch, opensuse and fedora (#36428)
Daan De Meyer [Wed, 19 Feb 2025 13:42:52 +0000 (14:42 +0100)] 
mkosi: Update distribution packaging specs for arch, opensuse and fedora (#36428)

9 months agogithub: bump versions in issue forms
Jan Macku [Wed, 19 Feb 2025 13:19:36 +0000 (14:19 +0100)] 
github: bump versions in issue forms

9 months agomkosi: update fedora commit reference 36428/head
Daan De Meyer [Wed, 19 Feb 2025 12:46:47 +0000 (13:46 +0100)] 
mkosi: update fedora commit reference

6c7c4a510d Do not use dynamic spec generation for non-upstream builds
6201755b36 Allow co-installation of systemd-sysusers-standalone and systemd
eba1721678 Split out -sysusers and -shared
ac9c438e27 Use dynamic spec generation for triggers
3671a5cc79 Move more auxiliary files into subpackages
5c40e08728 Remove patch that is already upstream
49ec9f3286 Move some files into subpackages
2c0b984bf4 Version 257.3
d66f997915 Add explicit BR: libxcrypt-devel
1ffa7bf7c7 Make Georgian mapping patch downstream-only
de4ae54a34 Backport PR #36194 to add Georgian mapping to kbd-model-map
cc9bce7893 Drop override of $PATH in the user manager
d0973df863 Backport patch to emit audit events from systemd-sysusers
e54ec2f978 Trim changelog entries that are not relevant to users

9 months agoobs: trigger systemd-suse instead of systemd-fedora
Luca Boccassi [Tue, 18 Feb 2025 23:10:00 +0000 (23:10 +0000)] 
obs: trigger systemd-suse instead of systemd-fedora

The suse recipe is the odd one out, so now fedora builds with
arch/debian/ubuntu and suse is in its own package

9 months agonetwork: drop old kernel support (#36402)
Luca Boccassi [Tue, 18 Feb 2025 22:39:36 +0000 (22:39 +0000)] 
network: drop old kernel support (#36402)

9 months agoshell completion: add kernel-identify/inspect verbs for bootctl
Luca Boccassi [Tue, 18 Feb 2025 21:15:08 +0000 (21:15 +0000)] 
shell completion: add kernel-identify/inspect verbs for bootctl

Follow-up for a05255981ba5b04f1cf54ea656fbce1dfd9c3a68
Follow-up for 3e0a3a0259324b4c40a9a62c8506fe683cd0273b

9 months agoupdate TODO
Lennart Poettering [Tue, 18 Feb 2025 21:28:31 +0000 (22:28 +0100)] 
update TODO

9 months agoJournal-remote: modernize source_free() and fix memleak (#36430)
Yu Watanabe [Tue, 18 Feb 2025 19:56:15 +0000 (04:56 +0900)] 
Journal-remote: modernize source_free() and fix memleak (#36430)

- modernize source_free().
- fix memleak introduced by cfaf78001c3451d549bcb1ee4adca3e85b934e56. Fixes CID#1591182.

9 months agoterminal-util: fix possible NULL pointer dereference
Yu Watanabe [Tue, 18 Feb 2025 15:42:18 +0000 (00:42 +0900)] 
terminal-util: fix possible NULL pointer dereference

Fixes a bug introduced by 94a2b1cd25c93870a7a4ac904f6c0f2e4f902038.
Fixes CID#1591787.

9 months agonspawn: unconditionally enable FUSE and use FOREACH_ARRAY() (#36407)
Yu Watanabe [Tue, 18 Feb 2025 17:09:58 +0000 (02:09 +0900)] 
nspawn: unconditionally enable FUSE and use FOREACH_ARRAY() (#36407)

- FUSE is unconditionally enabled in the container, as our kernel base
line (v5.4) supports userns-safe FUSE, which is supported since v4.18.
- Create /dev/net/tun only when it is accessible.
- Replaces several loops with FOREACH_ARRAY().

9 months agonetwork: fix KeepConfiguration=yes (#36414)
Yu Watanabe [Tue, 18 Feb 2025 17:09:09 +0000 (02:09 +0900)] 
network: fix KeepConfiguration=yes (#36414)

Fixes a regression in dd6d53a8dc58c5e6e310b09ba7f7a22600a87ba9 (v257).
Fixes #36411.

9 months agonetwork: doc and code typo fixes (#36422)
Steve Ramage [Tue, 18 Feb 2025 17:08:16 +0000 (09:08 -0800)] 
network: doc and code typo fixes (#36422)

This fixes some typos in the documentation, both grammar as well as
incorrect field names.
It also changes the casing of CheckSum to Checksum in L2TP to match
other casings.

9 months agojournal-remote: fix memleak 36430/head
Yu Watanabe [Tue, 18 Feb 2025 15:59:50 +0000 (00:59 +0900)] 
journal-remote: fix memleak

Fixes a bug introduced by cfaf78001c3451d549bcb1ee4adca3e85b934e56.
Fixes CID#1591182.

9 months agojournal-remote: modernize source_free()
Yu Watanabe [Tue, 18 Feb 2025 15:58:19 +0000 (00:58 +0900)] 
journal-remote: modernize source_free()

- make it return NULL,
- suppress log message about reference counter of writer unless trace
  logging is enabled,
- introduce cleanup function for RemoteSource.

9 months agodissect: add helper functions to use VeritySettings in hash/set
Luca Boccassi [Tue, 18 Feb 2025 14:44:44 +0000 (14:44 +0000)] 
dissect: add helper functions to use VeritySettings in hash/set

9 months agonspawn: move the accessibility check for device nodes into copy_devnode_one() 36407/head
Yu Watanabe [Tue, 18 Feb 2025 14:35:13 +0000 (23:35 +0900)] 
nspawn: move the accessibility check for device nodes into copy_devnode_one()

9 months agonspawn: drop unused argument for copy_devnode_one()
Yu Watanabe [Mon, 17 Feb 2025 15:00:40 +0000 (00:00 +0900)] 
nspawn: drop unused argument for copy_devnode_one()

9 months agonspawn: create /dev/net/tun only when it is accessible
Yu Watanabe [Mon, 17 Feb 2025 14:59:46 +0000 (23:59 +0900)] 
nspawn: create /dev/net/tun only when it is accessible

Follow-up for 985ea98e7f90c92fcc0b8441fafb190353d2feb8.

When DevicePolicy= is enabled, but DeviceAllow= for /dev/net/tun is not
specified, bind-mounting the device node from the host system is
meaningless, as it cannot be used in the container anyway.

Let's check the device node is accessible before creating or
bind-mounting.

9 months agonspawn: enable FUSE unconditionally
Yu Watanabe [Mon, 17 Feb 2025 06:06:10 +0000 (15:06 +0900)] 
nspawn: enable FUSE unconditionally

FUSE is userns-safe since kernel v4.18 (da315f6e03988a7127680bbc26e1028991b899b8),
and now our kernel base line is 5.4. Let's drop the logic of checking
the version of FUSE, and unconditionally enable FUSE.

9 months agonspawn: use FOREACH_ARRAY() where applicable
Yu Watanabe [Mon, 17 Feb 2025 06:09:50 +0000 (15:09 +0900)] 
nspawn: use FOREACH_ARRAY() where applicable

9 months agonetwork: introduce link_should_mark_config() 36414/head
Yu Watanabe [Mon, 17 Feb 2025 17:11:17 +0000 (02:11 +0900)] 
network: introduce link_should_mark_config()

This split-out common logic from link_drop_routes() and friends.

This is mostly a refactoring, and not change behavior in most cases.
But slightly change behavior for how foreign nexthops and routing
policy rules are managed.

E.g. when KeepConfiguration=static, previously all foreign nexthops and
routing policy rules were kept, but now only foreign nexthops and rules
with RTPROT_STATIC are kept and others are dropped.

Similary, when KeepConfiguration=dynamic, previously all foreign nexthops
and rules were removed, but now foreign configs with a dynamic protocol
e.g. RTPROT_DHCP are kept, and still configs with RTPROT_STATIC are
dropped.

Currently, we do not set/get/manage protocol for neighbor entries.
Hence, the logic of managing foreign neighbor entries is unchanged.

9 months agotest-network: add test case for KeepConfiguration=yes with RTPROT_BOOT
Yu Watanabe [Mon, 17 Feb 2025 17:05:07 +0000 (02:05 +0900)] 
test-network: add test case for KeepConfiguration=yes with RTPROT_BOOT

For issue #36411.

9 months agonetwork/route: do not remove any foreign routes when KeepConfiguration=yes
Yu Watanabe [Mon, 17 Feb 2025 17:08:10 +0000 (02:08 +0900)] 
network/route: do not remove any foreign routes when KeepConfiguration=yes

Without this change, only foreign routes with RTPROT_KERNEL, RTPROT_STATIC,
RTPROT_DHCP, RTPROT_RA, and RTPROT_REDIRECT are kept, and foreign routes with
other protocol e.g. RTPROT_BOOT are removed even if KeepConfiguration=yes.

Fixes a regression in dd6d53a8dc58c5e6e310b09ba7f7a22600a87ba9 (v257).
Fixes #36411.

9 months agomkosi: update opensuse commit reference
Daan De Meyer [Tue, 18 Feb 2025 13:16:54 +0000 (14:16 +0100)] 
mkosi: update opensuse commit reference

9002a773f0 Update systemd to version 257.3 / rev 441 via SR 1245900
7545891f58 Update systemd to version 257.2 / rev 440 via SR 1243303
c14020ba43 Update systemd to version 257.2 / rev 439 via SR 1241438
3137d3ab3d update 2025-02-06 19:07

9 months agomkosi: update arch commit reference
Daan De Meyer [Tue, 18 Feb 2025 13:16:28 +0000 (14:16 +0100)] 
mkosi: update arch commit reference

1b4994657d return if not a git repository (skip backports and reverts)
9d3374e98b move patch up
2416b7d81c upgpkg: 257.3-1: new upstream release

9 months agoci: test new logic 36308/head
Lennart Poettering [Fri, 7 Feb 2025 12:46:11 +0000 (13:46 +0100)] 
ci: test new logic

9 months agomount-tool: add explicitly control of path canonicalization
Lennart Poettering [Fri, 7 Feb 2025 11:32:16 +0000 (12:32 +0100)] 
mount-tool: add explicitly control of path canonicalization

With this the default canonicalization of paths can be turned off,
giving users explicit control on what shall happen if symlinks are
encountered within a path.

9 months agomount-tool: modernize umount and make sure it works for bind mounted files
Lennart Poettering [Fri, 7 Feb 2025 12:43:30 +0000 (13:43 +0100)] 
mount-tool: modernize umount and make sure it works for bind mounted files

So far, "systemd-umount" executed on a bind mounted file would assume it
is supposed to unmount a loopback mounted file system. Let's address
that by instead checking if the file is a mount.

9 months agocatalog: assign a proper message ID for mounts on symlinked paths
Lennart Poettering [Fri, 7 Feb 2025 13:32:44 +0000 (14:32 +0100)] 
catalog: assign a proper message ID for mounts on symlinked paths

For some reason we reused the non-empty catalog entry so far, which is
plain wrong. Correct that.

9 months agocore: port mount unit inode creation to make_mount_point_inode_from_mode() too
Lennart Poettering [Thu, 6 Feb 2025 22:08:37 +0000 (23:08 +0100)] 
core: port mount unit inode creation to make_mount_point_inode_from_mode() too

This also ports over things to use chase() to create/pin the underlying
to mount, and in particular checks that the path does not contain any
symlinks. That's crucial since we cannot allow mounts to be established
with that, since it would mean we couldn't recognize the entries in
/proc/self/mountinfo anymore.

9 months agomount-util: refactor make_mount_point_inode_from_xyz()
Lennart Poettering [Thu, 6 Feb 2025 22:03:46 +0000 (23:03 +0100)] 
mount-util: refactor make_mount_point_inode_from_xyz()

This replaces make_mount_point_inode_from_stat() by
make_mount_point_inode_from_mode() and makes it take a single mode_t
rather than a "struct stat". Moreover, at an "atfd" style directory
parameter.

Then port all users over to new feature, and in particular make use of
the directory fd: use chase() to create and pin parent directories first where
needed.

9 months agotree-wide: pass EBADF to fd params of namespace_fork()
Lennart Poettering [Thu, 6 Feb 2025 22:01:37 +0000 (23:01 +0100)] 
tree-wide: pass EBADF to fd params of namespace_fork()

9 months agotimedated: rework clock change overflow check
Lennart Poettering [Tue, 18 Feb 2025 08:37:41 +0000 (09:37 +0100)] 
timedated: rework clock change overflow check

Let's use explicit language constructs to test for overflow, the
previous code was ultimately relying on undefined behaviour.

9 months agoFirstboot tweaklets (#36424)
Lennart Poettering [Tue, 18 Feb 2025 10:22:11 +0000 (11:22 +0100)] 
Firstboot tweaklets (#36424)

9 months agoman/org.freedesktop.systemd1.xml: Clarify the behavior of Subscribe()
Marco Trevisan (Treviño) [Mon, 17 Feb 2025 17:12:01 +0000 (18:12 +0100)] 
man/org.freedesktop.systemd1.xml: Clarify the behavior of Subscribe()

It was unclear that it was applied to standard signals too, and this
lead to unexpected behavior.

See: https://github.com/systemd/systemd/pull/36366

9 months agoterminal-util: output newline at end of "Press any key to proceed" message 36424/head
Lennart Poettering [Mon, 17 Feb 2025 21:29:54 +0000 (22:29 +0100)] 
terminal-util: output newline at end of "Press any key to proceed" message

So far we'd leave the cursor at the end of the Press any key to proceed
message as long as the user didn't type in anything yet, and generated
the newline only after.

Let's switch this around: let's output the newline before.

This should make boot-time output nicer since it means concurrent output
while we wait will start at the beginning of line, and not in the middle.

9 months agohomectl: when asking for a user pw for an initial homed account at boot, don't insist...
Lennart Poettering [Mon, 17 Feb 2025 21:28:30 +0000 (22:28 +0100)] 
homectl: when asking for a user pw for an initial homed account at boot, don't insist on strong password

It's just very annoying during debugging, and also unnecessary.

9 months agohomectl: don't show --enforce-password-policy= recommendation in first-boot invocation
Lennart Poettering [Mon, 17 Feb 2025 21:20:51 +0000 (22:20 +0100)] 
homectl: don't show --enforce-password-policy= recommendation in first-boot invocation

The hint is not useful, since this is after all invoked as part of the
boot process, and not from an interactive shell, where the user could
directly retry with the changed switch. Hence let's simply suppress the
hint for those cases.

9 months agoupdate TODO
Lennart Poettering [Tue, 18 Feb 2025 08:16:57 +0000 (09:16 +0100)] 
update TODO

9 months agoukify: print all remaining log-like output to stderr
Luca Boccassi [Mon, 17 Feb 2025 19:44:15 +0000 (19:44 +0000)] 
ukify: print all remaining log-like output to stderr

We want to be able to capture stdout for json and such, so convert
all remaining logging to stderr.

9 months agoUpdate footer.html to 2025
Anthony Avina [Mon, 17 Feb 2025 19:33:42 +0000 (13:33 -0600)] 
Update footer.html to 2025

Updating footer to reflect current year: 2025

9 months agopo: Translated using Weblate (Interlingua)
Emilio Sepulveda [Mon, 17 Feb 2025 18:20:48 +0000 (19:20 +0100)] 
po: Translated using Weblate (Interlingua)

Currently translated at 0.3% (1 of 257 strings)

Co-authored-by: Emilio Sepulveda <emism.translations@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ia/
Translation: systemd/main

9 months agofirstboot: add tab completion for interactive questions (#36271)
Lennart Poettering [Mon, 17 Feb 2025 15:32:54 +0000 (16:32 +0100)] 
firstboot: add tab completion for interactive questions (#36271)

let's make it easier and quicker to go through firstboot questions by
providing TAB completion

9 months agohomectl: show full list of selected groups as they are added 36271/head
Lennart Poettering [Thu, 6 Feb 2025 11:19:52 +0000 (12:19 +0100)] 
homectl: show full list of selected groups as they are added

9 months agohomectl: optionally force interactive firstboot query
Lennart Poettering [Thu, 6 Feb 2025 10:59:40 +0000 (11:59 +0100)] 
homectl: optionally force interactive firstboot query

9 months agohomectl: clarify that we pick the default shell if the prompt is skipped
Lennart Poettering [Wed, 5 Feb 2025 09:58:36 +0000 (10:58 +0100)] 
homectl: clarify that we pick the default shell if the prompt is skipped

9 months agofirstboot: add auto-completion to various fields
Lennart Poettering [Wed, 5 Feb 2025 09:55:48 +0000 (10:55 +0100)] 
firstboot: add auto-completion to various fields

This adds TAB-based auto-completion to various fields we query from the
user, such as locale, keymap, timezone, group membership.

It makes it a lot easier to quickly iterate through firstboot without
typing too much.

9 months agoterminal-util: beef up show_menu()
Lennart Poettering [Thu, 6 Feb 2025 11:02:24 +0000 (12:02 +0100)] 
terminal-util: beef up show_menu()

This modernizes the function a bit, and adds some bits:

1. whether to show numbers before entries is now optional, and if they
   are shown they are displayed in grey.

2. a common prefix can now be grayed out (later useful for completion
   support)

3. some variables have been named to clarify their purpose

4. the table display dimensions can now be auto-sized (by specifying
   SIZE_MAX and number of columns and column width)

9 months agoterminal-util: tweak any_key_to_proceed() a bit
Lennart Poettering [Wed, 5 Feb 2025 08:35:51 +0000 (09:35 +0100)] 
terminal-util: tweak any_key_to_proceed() a bit

1. Make the message a bit more visible, by adding ANSI color. This
   matters in particular during boot, where the message otherwise might
   be overprinted by other output

2. Let's turn off terminal echo so that whatever key is entered is not
   made visible on screen, and we can handle newline and other keys
   reasonably uniformly.

9 months agoask-password-api: refuse control characters in passwords
Lennart Poettering [Wed, 5 Feb 2025 08:39:09 +0000 (09:39 +0100)] 
ask-password-api: refuse control characters in passwords

Just some extra safety

9 months agoutf8: add helper that determines length in bytes of last UTF-8 character in string
Lennart Poettering [Wed, 5 Feb 2025 09:44:19 +0000 (10:44 +0100)] 
utf8: add helper that determines length in bytes of last UTF-8 character in string

9 months agostrv-util: add strv_filter_prefix() helper
Lennart Poettering [Thu, 6 Feb 2025 11:00:10 +0000 (12:00 +0100)] 
strv-util: add strv_filter_prefix() helper

9 months agostring-util: add str_common_prefix() helper that determines length of common prefix...
Lennart Poettering [Wed, 5 Feb 2025 09:40:06 +0000 (10:40 +0100)] 
string-util: add str_common_prefix() helper that determines length of common prefix of two strings

9 months agomkfs-util: Add support for btrfs compression
Daan De Meyer [Tue, 3 Sep 2024 06:18:31 +0000 (08:18 +0200)] 
mkfs-util: Add support for btrfs compression

Corresponding PR in btrfs-progs: https://github.com/kdave/btrfs-progs/pull/882

9 months agoupdate TODO
Lennart Poettering [Sat, 15 Feb 2025 07:35:27 +0000 (08:35 +0100)] 
update TODO

9 months agomkosi: update debian commit reference
Luca Boccassi [Sun, 16 Feb 2025 23:25:43 +0000 (23:25 +0000)] 
mkosi: update debian commit reference

08eb5e1eff Set tty device node mode to 0600
e3955d1ca2 initramfs-tools: copy hwdb.bin to initramfs
aff03b8933 d/rules: fix bpftool path discovery on ubuntu
cab4f15666 Update changelog for 257.3-1 release
9bfeffe2a3 autopkgtest: fix mkosi config section
44487bfe02 ukify: depend on python3-zstandard and recommend python3-lz4
0a20294f18 d/rules: adjust vmlinux.h path for Ubuntu
94fa0939ed Drop fallback for missing linux-bpf-dev package
b0b75e3f4b systemd-boot: check that bootvar really points to sd-boot
464453cbd6 systemd-boot: fix creating bootvar on arm64
ce4a878ef7 systemd-boot: warn if efibootmgr is not installed
cce6971f68 Install new udev rule for hidraw
0c483fbd26 d/t/control: do not pull in gdm3 on loong64
52451a0c14 d/t/control: depend on debian-archive-keyring and ubuntu-keyring

9 months agodissect: fix log_debug_errno assert due to r=0
Luca Boccassi [Mon, 17 Feb 2025 01:04:33 +0000 (01:04 +0000)] 
dissect: fix log_debug_errno assert due to r=0

systemd-dissect[612]: Assertion '(_error) != 0' failed at src/shared/dissect-image.c:3436, function dissected_image_load_verity_sig_partition(). Aborting.

9 months agonetwork: update outdated comment 36402/head
Yu Watanabe [Sun, 16 Feb 2025 21:16:26 +0000 (06:16 +0900)] 
network: update outdated comment

Now, our kernel base line supports ambient capabilities, hence the
comment is outdated.

9 months agonetwork/address: update comment
Yu Watanabe [Sun, 16 Feb 2025 21:04:46 +0000 (06:04 +0900)] 
network/address: update comment

As commented in the code, the check is now redundant. But let's keep
that to make IPv6LL addresses on other interfaces not removed
accidentally.

9 months agonetwork/address: IFA_FLAGS is supported since kernel v3.14
Yu Watanabe [Sun, 16 Feb 2025 21:03:38 +0000 (06:03 +0900)] 
network/address: IFA_FLAGS is supported since kernel v3.14

Our kernel base line is now v5.4.

9 months agonetwork/bridge-mdb: drop workaround for MDB entry on bridge
Yu Watanabe [Sun, 16 Feb 2025 20:40:56 +0000 (05:40 +0900)] 
network/bridge-mdb: drop workaround for MDB entry on bridge

Our kernel base line is now v5.4.

9 months agonetwork: mention IFLA_PERM_ADDRESS is since kernel v5.6
Yu Watanabe [Sun, 16 Feb 2025 20:38:20 +0000 (05:38 +0900)] 
network: mention IFLA_PERM_ADDRESS is since kernel v5.6

9 months agonetwork/routing-policy-rule: assume FRA_PROTOCOL attribute is always set
Yu Watanabe [Sun, 16 Feb 2025 20:26:25 +0000 (05:26 +0900)] 
network/routing-policy-rule: assume FRA_PROTOCOL attribute is always set

Since kernel v4.17 (1b71af6053af1bd2f849e9fda4f71c1e3f145dcf), the
attribute is always set in each netlink message for routing policy rule.
Now, our base line is v5.4. Hence, we can drop the workaround.

9 months agonetwork: add/update comments about required kernel configs
Yu Watanabe [Sun, 16 Feb 2025 20:09:14 +0000 (05:09 +0900)] 
network: add/update comments about required kernel configs

9 months agonetwork: assume nexthop is supported by the kernel
Yu Watanabe [Sun, 16 Feb 2025 19:54:50 +0000 (04:54 +0900)] 
network: assume nexthop is supported by the kernel

It is supported since kernel v5.3 (65ee00a9409f751188a8cdc0988167858eb4a536),
but our base line is now v5.4.

9 months agoukify: Fix --sign-profile= check for main profile
Daan De Meyer [Sun, 16 Feb 2025 15:57:11 +0000 (16:57 +0100)] 
ukify: Fix --sign-profile= check for main profile

opts.profile is always an env file so we have to parse the default
value as well to check if it's in --sign-profile= or not.

9 months agojournal-remote: several follow-ups for compression support, and trivial cleanups...
Luca Boccassi [Sun, 16 Feb 2025 14:33:47 +0000 (14:33 +0000)] 
journal-remote: several follow-ups for compression support, and trivial cleanups (#36334)

Follow-ups for cfaf78001c3451d549bcb1ee4adca3e85b934e56 (#34822).

9 months agoTEST-75-RESOLVED: add test cases for resolving service with record type filter 36398/head
Yu Watanabe [Sun, 16 Feb 2025 12:22:22 +0000 (21:22 +0900)] 
TEST-75-RESOLVED: add test cases for resolving service with record type filter

9 months agoTEST-75-RESOLVED: check TXT field
Yu Watanabe [Sun, 16 Feb 2025 14:10:16 +0000 (23:10 +0900)] 
TEST-75-RESOLVED: check TXT field

9 months agoTEST-75-RESOLVED: revert changes done in each test case
Yu Watanabe [Sun, 16 Feb 2025 13:35:19 +0000 (22:35 +0900)] 
TEST-75-RESOLVED: revert changes done in each test case

9 months agoTEST-75-RESOLVED: drop unnecessary symlink creation
Yu Watanabe [Sun, 16 Feb 2025 13:16:34 +0000 (22:16 +0900)] 
TEST-75-RESOLVED: drop unnecessary symlink creation

It is always done in setup().

9 months agoresolve: refuse ResolveService method if SRV is filtered
Yu Watanabe [Sun, 16 Feb 2025 13:54:44 +0000 (22:54 +0900)] 
resolve: refuse ResolveService method if SRV is filtered

Follow-up for 81ae2237c1792943a1ec712ae2e630bcc592175b.

9 months agoresolve: if both A and AAAA are refused, do not resolve address when resolving service
Yu Watanabe [Sun, 16 Feb 2025 12:16:31 +0000 (21:16 +0900)] 
resolve: if both A and AAAA are refused, do not resolve address when resolving service

Similarly, set NO_TXT flag if TXT is filtered.

Follow-up for 81ae2237c1792943a1ec712ae2e630bcc592175b.
Fixes https://github.com/systemd/systemd/pull/36353#issuecomment-2659558382.

9 months agoresolve: allow to specify SD_RESOLVED_NO_SEARCH flag in ResolveRecord
Yu Watanabe [Sun, 16 Feb 2025 12:10:55 +0000 (21:10 +0900)] 
resolve: allow to specify SD_RESOLVED_NO_SEARCH flag in ResolveRecord

The varlink method io.systemd.Resolve.ResolveRecord already accepts the
flag. Let's also the bus method accept the flag, for consistency.

9 months agoresolve: unify two validate_and_mangle_flags()
Yu Watanabe [Sun, 16 Feb 2025 12:08:58 +0000 (21:08 +0900)] 
resolve: unify two validate_and_mangle_flags()

The argument `Manager *manager`, is currently unused, but will be used
later.

9 months agomacro-fundamental: add _nonnull_if_nonzero_ and use it in basic/ (#36395)
Yu Watanabe [Sun, 16 Feb 2025 11:21:08 +0000 (20:21 +0900)] 
macro-fundamental: add _nonnull_if_nonzero_ and use it in basic/ (#36395)

9 months agojournal-upload: several follow-ups for Accept-Encoding header handling 36334/head
Yu Watanabe [Sun, 9 Feb 2025 20:29:12 +0000 (05:29 +0900)] 
journal-upload: several follow-ups for Accept-Encoding header handling

This makes,
- When a wildcard value '*' is specified, use the first supported
  compression algorithm,
- disable compression if Accept-Encoding header is unspecified or
  no supported compression algorithm specified in the header,
- ignore all errors in parsing the header.

9 months agojournal-upload: split-out update_content_encoding_header()
Yu Watanabe [Tue, 11 Feb 2025 08:13:13 +0000 (17:13 +0900)] 
journal-upload: split-out update_content_encoding_header()

No functional change, just refactoring and preparation for later commit.

9 months agojournal-remote: several follow-ups for Compression= option handling
Yu Watanabe [Tue, 11 Feb 2025 07:49:46 +0000 (16:49 +0900)] 
journal-remote: several follow-ups for Compression= option handling

Follow-ups for cfaf78001c3451d549bcb1ee4adca3e85b934e56.

- use OrderedHashmap to manage configured compression algorithms, then
  drop CompressionArgs,
- rename CompressionOpts -> CompressionConfig,
- refuse 'none' in Compression= setting, but accept boolean false, which
  disables compression,
- when Compression= option is unspecified, enable all supported compression
  algorithms by default,
- do not set 'none' to the Accept-Encoding header.

9 months agojournal-remote: replace extract_first_word() with simple strchr()
Yu Watanabe [Tue, 11 Feb 2025 07:36:12 +0000 (16:36 +0900)] 
journal-remote: replace extract_first_word() with simple strchr()

9 months agojournal-remote: assume received data is not compressed when Content-Encoding header...
Yu Watanabe [Tue, 11 Feb 2025 07:42:59 +0000 (16:42 +0900)] 
journal-remote: assume received data is not compressed when Content-Encoding header is not set

Also, refuse spurious header `Content-Encoding: none`.

9 months agojournal-remote: copy positional arguments
Yu Watanabe [Tue, 11 Feb 2025 04:19:20 +0000 (13:19 +0900)] 
journal-remote: copy positional arguments

This also fixes several memory leaks.