Commit Graph

84205 Commits

Author SHA1 Message Date
Lennart Poettering
f7c72e8725 importd: properly support operation in per-user mode 2025-10-21 23:09:50 +02:00
Lennart Poettering
b76a76ac15 importd: teach all backends --system/--user mode
The runtime scope logic is internally already in place, let's expose
this via getopt() command line too. This way importd later can propagate
the invocation scope down to the backends.
2025-10-21 23:09:50 +02:00
Lennart Poettering
570366b6e1 install-file: add flags to handle RO and syncing failures graceful
When operating in unprivileged mode we might not be able to execute the
necessary operations to make a disk image read-only (because
FS_IMMUTABEL_FL needs privs for example), and syncing (because for that
we might need to open the root inode, but that might not be possible
from the outside).

Let's deal with that by making these operation optional: if they work
great, if not they don't.
2025-10-21 23:09:50 +02:00
Lennart Poettering
69332065e2 copy: make copy_tree_at_full()'s 'to' parameter optional
Sometimes it's quite useful to pin a source dir via an fd, as well as a
target dir the same way, and then ask copy_tree_at_full() to copy the
contents from one to the other. Make this possible, by allowing 'to' be
NULL. (Previously, it had to be non-NULL, i.e. the function would always
create a new dir, no matter what.)

Note that we only support that for dir inodes.
2025-10-21 23:09:50 +02:00
Lennart Poettering
0a9e2e45f0 copy: optionally apply source inode's stat() when doing a merge copy 2025-10-21 23:09:50 +02:00
Lennart Poettering
bcafa70974 nsresource: add constants for the only supported UID range size allocations
As requested: https://github.com/systemd/systemd/pull/39322#discussion_r2447366728
2025-10-21 23:09:50 +02:00
Lennart Poettering
b3e5e00d45 dissect-image: explain one more error 2025-10-21 22:02:22 +09:00
Yu Watanabe
02fea5b412 ci/oss-fuzz: switch to Ubuntu 24.04
With
https://github.com/google/oss-fuzz/pull/14112 and
https://github.com/google/oss-fuzz/pull/14128,
we can now use Ubuntu 24.04. Let's bump the image version.

Note, the i386 build failure mentioned in the removed comment is related to
https://bugs.launchpad.net/ubuntu/+source/linux-signed-azure/+bug/2071445
https://github.com/actions/runner-images/issues/9977
and has been already fixed.
2025-10-21 15:09:24 +09:00
Yu Watanabe
f88f0271f8 TEST-75-RESOLVED: stop socket units before stopping the main service
Fixes the following warning:
TEST-75-RESOLVED.sh[2251]: ++ restart_resolved
TEST-75-RESOLVED.sh[2251]: ++ systemctl stop systemd-resolved.service
TEST-75-RESOLVED.sh[2271]: Stopping 'systemd-resolved.service', but its triggering units are still active:
TEST-75-RESOLVED.sh[2271]: systemd-resolved-monitor.socket, systemd-resolved-varlink.socket
2025-10-21 15:07:53 +09:00
Hans de Goede
b8490c9e51 hwdb: Add V64x_V65xAU to list of Clevo models where scancode f7+f8 get mapped to touchpad-toggle
Fn + F1 which is the shortcut for toggling the touchpad on/off sends
atkbd scancodes f7 (first press) + f8 (second press) just like on various
other Clevo models. Add the V64x_V65xAU model to the list of models where
these scancodes are mapped to touchpad-toggle.
2025-10-21 07:56:02 +09:00
Lennart Poettering
b61f2969c2 networkd: minor units to unit file Description= strings (#39386) 2025-10-20 22:14:17 +02:00
Lennart Poettering
15fec4b646 units: use Title Case for network generator description string
We use Title Case for all other units, do so here too.
2025-10-20 18:17:47 +02:00
Lennart Poettering
1f3f40f0ff networkd: call networkd a "network management" rather "network configuration" tool
This has irked me for a while. For me network configuration is the stuff
we store on disk in configuration file. And networkd then *applies* the
configuration. But the units so far claimed that networkd was the
"configuration" itself. Which I guess might make sense to some, but to
me sounds a bit unprecise. Let's clean this up, and call what networkd
is doing "Network Management".
2025-10-20 18:17:29 +02:00
Daan De Meyer
cbbc7e51ec core: adding cgroup/invocationid lookups to io.systemd.Unit.List (#38032) 2025-10-20 17:15:34 +02:00
Yu Watanabe
97d38155db Several preparations for supporting new coredump interface (#39350) 2025-10-20 20:44:22 +09:00
Yu Watanabe
94a23e9c44 coredumpctl: fix condition for checking coredump journal entry
If one of PID, UID, GID, or SIGNAL is missing, then parse_uid() and
friends in the below will trigger assertion. This fixes that.

Also, only PID, UID, GID, SIGNAL, and COMM are mandatory fields, but
others are not, hence this drops others from the condition.

Moreover, this mekes 'coredumpctl --list' not fail even if there exists a
broken coredump entry in journal.
2025-10-20 20:43:45 +09:00
Lennart Poettering
342084b035 loop-util: explain why we propagate discard_max_bytes from backing block device to loopback block device
Follow-up for: 29ee9c6fb7
2025-10-20 12:33:50 +01:00
Yu Watanabe
20332d7caf network/dhcp-server: several follow-ups for domain option (#39380)
Follow-ups for 3eb7b881bd (#39260).
2025-10-20 20:17:59 +09:00
Ivan Kruglov
959a8e49f4 core: enable SELinux checks in io.systemd.Unit.List 2025-10-20 03:58:55 -07:00
Ivan Kruglov
8b1f7f13f0 test: lookup a unit by cgroup and invocationID in TEST-74-AUX-UTILS.varlinkctl 2025-10-20 03:58:55 -07:00
Ivan Kruglov
6c2c2e0598 core: io.systemd.Unit.List can lookup by InvocationID 2025-10-20 03:58:53 -07:00
Ivan Kruglov
6b78d931cd core: io.systemd.Unit.List can lookup unit by CGroup 2025-10-20 03:58:39 -07:00
nkraetzschmar
29ee9c6fb7 loop-util: mirror discard limits from backing device 2025-10-20 12:49:39 +02:00
Yu Watanabe
d19294e92a sd-dhcp-server: fix conditions for checking if static address is assigned to another host
Even if a static lease may be configured for a host, another address may
be previously assigned to the host. Let's not refuse to assign the
static lease to the host even in that case.

Fixes an issue reported at
https://github.com/systemd/systemd/issues/35781#issuecomment-3369545753.
2025-10-20 11:45:45 +01:00
jouyouyun
85eae6ba35 gitignore: add aider
Aider is an open-source AI coding assistant. When used, it generates history,
cache, and other files in the project. To prevent these files from being committed, you need to add .aider* to your .gitignore file
2025-10-20 11:39:25 +01:00
Daan De Meyer
9c3359f28a ptyfwd: Always prioritize $SYSTEMD_TINT_BACKGROUND
By giving priority to --background= we prevent users from opting
out of coloring if an explicit color is chosen by a tool wrapping
one of our own tools. Instead, let's give priority to the environment
variable, so that even if our tools are wrapped by another tool with
a different background, users can still opt out of coloring just by
setting the environment variable, which has a high chance of being
forwarded to the invocation of our own tools which makes it easy to
use to disable color tinting globally if requested by the user.
2025-10-20 12:20:35 +02:00
Daan De Meyer
5c54ffa208 resolved: move DNS RR/key/naswer/question/packet code to shared/ + other tweaks (#39324) 2025-10-20 12:20:10 +02:00
Ivan Kruglov
4ddd3fe1fb core: make name/pid lookup params use AND logic in io.systemd.Unit.List 2025-10-20 02:10:57 -07:00
Ivan Kruglov
366f57bff4 basic: pidref_is_set_or_automatic() 2025-10-20 02:10:00 -07:00
Lennart Poettering
e5dc5821ff dns-domain: make dns_name_change_suffix() work with an empty/null suffix 2025-10-20 10:35:23 +02:00
Lennart Poettering
970bedb6d8 dns-rr: when decoding an RR from json, make class optional
The DNS RR class is a weird thing, and IRL always set to IN (i.e. 0x1).
Let's hence make it something that can be specified optionally, and
imply IN if not specified.

This makes it a bit nicer to put together suitable json resource record
keys from the command line.
2025-10-20 10:35:23 +02:00
Lennart Poettering
5751b236a5 resolved: move DNS RR/key/answer/question/packet tools to shared/
We want to reuse these generic DNS concepts in resolved hook
implementations, hence move them to shared code.

(This also enables us to immediately remove som SVCB record handling
duplicate definitions.)

No real code changes, just some moving around of things.
2025-10-20 10:35:23 +02:00
Thomas Mühlbacher
226e050a0d stub: check load options a little more carefully
This can lead to booting with a completely garbled command line with characters
being interpreted as miscellaneous CJK or symbols.

According to the UEFI spec, the optional data of the load option is just a
binary data buffer.
2025-10-20 10:28:41 +02:00
Nick Labich
942ad8503a sysext: Configure overlayfs mount options via envvar
Implements #39314
2025-10-20 09:59:02 +02:00
Yu Watanabe
5b09b43106 Don't tag i2c mice as pointing sticks (#39264)
There are no real i2c mice but there are i2c `FooBar Mouse` devices that
are an artifact of how the HID kernel drivers split up event nodes.
These nodes will be seen for some i2c keyboards and touchpads, depending
on the HID report descriptor.

Let's not tag those as pointing sticks.

Closes #36677
2025-10-20 15:04:27 +09:00
Yu Watanabe
b200f57bfa man: fix position of </para> tag
Follow-up for 65664bba40.
2025-10-20 14:26:46 +09:00
Peter Hutterer
c4f072aaad hwdb: don't tag a named Mouse device as pointingstick
The generic kernel hid drivers split up devices based on the application
collection, appending a suffix for each collection (e.g. Touchpad,
Mouse, ...). Many i2c touchpads get a "... Mouse" event node which is
mislabelled as pointingstick by the input_id builtin, see commit
3d7ac1c655.

Closes: https://github.com/systemd/systemd/issues/36677
2025-10-20 14:14:39 +10:00
Peter Hutterer
5b647b84a9 rules: extend 60-input-id.rules to allow for bus/vid/pid/name matches
Same approach as used in 70-mouse.rules, allow for a name-based match
optionally combined with bus/vid/pid (which the existing modalias rule
would already allow us anyway). Note that ID_BUS isn't assigned until
after this rule has run so we need to use the id/bustype attribute
directly.

Related to https://github.com/systemd/systemd/issues/36677
2025-10-20 14:14:39 +10:00
Yu Watanabe
b25fac6776 network/dhcp-server: several cleanups for setting domain to DHCP server
- use dns_name_parent(),
- only ignore errors when the current hostname does not have domain
  part, but make other errors like ENOMEM critical.

Follow-ups for 3eb7b881bd.
2025-10-20 12:21:04 +09:00
Yu Watanabe
c6d97d9e08 test: add unit test for dns_name_parent() 2025-10-20 12:01:22 +09:00
Yu Watanabe
aeef3c313b man: fix typo
Follow-up for 938f7fea7c.
2025-10-20 11:25:46 +09:00
Marien Zwart
1599b6fbe2 docs: fix conversion / calculation errors
0x1770 is 6000, not 60000. It looks like 60000 is intended (the next
range starts at 60000 in both decimal and hex), so use that.

1000 to 60000 is 59001 users, as the range is inclusive on both sides.
Similar off-by-one for one of the "unused" ranges. After these changes,
the sizes of the ranges up to and including the "-1" ID sum up to 65536,
as expected.

I'm not sure where the size of the unused range after the container UID
range came from, but it is not correct (the "Container UID" and this
reserved range combined would be larger than the "HIC SVNT LEONES" 2^31
to 2^32-2 range...). Fix it.

It is unfortunate that the first half of this table makes more sense in
decimal while the second half makes more sense in hex (which would also
make the size in 65536 chunks easy to obtain): I'm tempted to add a
"sizes in hex" column...
2025-10-20 10:36:08 +09:00
Yu Watanabe
64595f1cb3 hostname-setup: introduce pidref_gethostname_full() 2025-10-19 10:01:46 +09:00
Yu Watanabe
d10596a6e0 iovec-wrapper: introduce iovw_put_string_fieldf() 2025-10-19 10:01:46 +09:00
Yu Watanabe
a5cdc2be70 iovec-wrapper: introduce iovw_replace_string_field() 2025-10-19 10:01:46 +09:00
Yu Watanabe
0c37508494 pidfd-util: expose pidfd_get_info() 2025-10-19 10:01:46 +09:00
Yu Watanabe
208f88def3 include: update struct pidfd_info and relevant constants 2025-10-19 10:01:46 +09:00
Yu Watanabe
b31a571849 include: import linux/coredump.h from kernel v6.17.1 2025-10-19 10:01:46 +09:00
Luca Boccassi
d29f181cf0 ci: add bpftool workaround to coverity too 2025-10-18 15:43:06 +01:00
Yu Watanabe
a6836cfa0b ci: fix workaround about bpftool for codeql
Follow-up for e9fd2bbfff.
2025-10-18 09:10:35 +02:00