]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
12 months agoresolve: move sd-* api into libsystemd-network 30952/head
Ronan Pigott [Wed, 26 Jun 2024 00:01:59 +0000 (17:01 -0700)] 
resolve: move sd-* api into libsystemd-network

This duplicates the svc param constants for the benefit of the
resolved-core library.

12 months agondisc: implement ndisc_option_build_encrypted_dns
Ronan Pigott [Thu, 4 Apr 2024 02:04:33 +0000 (19:04 -0700)] 
ndisc: implement ndisc_option_build_encrypted_dns

This is only used by the fuzzer so far.

12 months agonetwork: add dnr resolvers to networkctl status json output
Ronan Pigott [Wed, 3 Apr 2024 20:16:05 +0000 (13:16 -0700)] 
network: add dnr resolvers to networkctl status json output

12 months agotest/fuzz: add dnr packets
Ronan Pigott [Thu, 25 Jan 2024 06:49:03 +0000 (23:49 -0700)] 
test/fuzz: add dnr packets

The structure of DNR options is considerably more complicated than most
DHCP options, and as a result the fuzzer has poor coverage of these code
paths.

This adds some DNR packets to the fuzzing corpus, not with the intent of
capturing some specific edge case, but with the intent to rapidly
improve the fuzzers' coverage of these codepaths by giving it a valid
example to begin with.

Also include an ndisc router advert with a few Encrypted DNS options,
for the same purpose.

12 months agonetwork: Serialize ipv6ra DNR
Ronan Pigott [Mon, 22 Jan 2024 21:37:42 +0000 (14:37 -0700)] 
network: Serialize ipv6ra DNR

Serialize DNR servers acquired by ipv6ra option, same as the V4/V6 DNR
DHCP options.

12 months agonetwork: Introduce IPv6RA UseDNR= option
Ronan Pigott [Mon, 22 Jan 2024 21:37:42 +0000 (14:37 -0700)] 
network: Introduce IPv6RA UseDNR= option

Same as the DHCP v4/v6 options, this controls the use of DNR received
from ipv6ra.

12 months agondisc: Parse RFC9463 encrypted DNS (DNR) option
Ronan Pigott [Sat, 20 Jan 2024 01:26:26 +0000 (18:26 -0700)] 
ndisc: Parse RFC9463 encrypted DNS (DNR) option

This option is equivalent to the V4/V6 DNR options for DHCP.

12 months agotest-network: add DHCPv6 DNR test
Ronan Pigott [Thu, 18 Jan 2024 02:35:20 +0000 (19:35 -0700)] 
test-network: add DHCPv6 DNR test

Same as the DHCPv4 test.

12 months agonetwork: Serialize DHCPv6 DNR servers
Ronan Pigott [Thu, 18 Jan 2024 02:27:21 +0000 (19:27 -0700)] 
network: Serialize DHCPv6 DNR servers

This serializes DNR servers acquired by V6_DNR option, equivalent to the
V4_DNR option.

12 months agonetwork: Introduce UseDNR DHCPv6 option
Ronan Pigott [Thu, 18 Jan 2024 01:16:47 +0000 (18:16 -0700)] 
network: Introduce UseDNR DHCPv6 option

This is equivalent to the DHCPv4 option introduced earlier.

12 months agonetwork: Parse RFC9463 DHCPv6 DNR option
Ronan Pigott [Wed, 17 Jan 2024 23:49:02 +0000 (16:49 -0700)] 
network: Parse RFC9463 DHCPv6 DNR option

Implement the parsing for V6_DNR DHCPv6 option. This does the same as
the DHCP V4_DNR option.

12 months agodhcp6: use dns_name_from_wire_format
Ronan Pigott [Tue, 23 Jan 2024 20:12:30 +0000 (13:12 -0700)] 
dhcp6: use dns_name_from_wire_format

Convert some of the option parsing to use dns_name_from_wire_format,
introduced earlier. No change in behavior intended.

12 months agotest-dhcp6: terminate fqdn option
Ronan Pigott [Thu, 25 Jan 2024 00:53:35 +0000 (17:53 -0700)] 
test-dhcp6: terminate fqdn option

The encoded fqdn in this option must be properly terminated. We will
soon validate that this field is correctly encoded, so correct it in the
test.

12 months agotest-network: add test for DHCPv4 DNR
Ronan Pigott [Tue, 16 Jan 2024 23:07:54 +0000 (16:07 -0700)] 
test-network: add test for DHCPv4 DNR

This will test that networkd/resolved can understand the V4_DNR DHCP
option.

12 months agonetwork: Serialize DNR servers
Ronan Pigott [Tue, 16 Jan 2024 07:04:41 +0000 (00:04 -0700)] 
network: Serialize DNR servers

Implement serialization/deserialization for DNR servers. This re-uses
the string format in place for user configuration of DoT servers, and as
a consequence non-DoT servers are discarded when recording the link
configuration, for correctness.

This also enables sd-resolved to use these servers as it would other DNS
servers.

12 months agonetwork: Add serialization for DoT resolvers
Ronan Pigott [Sat, 24 Feb 2024 00:24:40 +0000 (17:24 -0700)] 
network: Add serialization for DoT resolvers

For now only DoT is supported, so DoT resolvers are represented using
the existing configuration format.

12 months agonetwork: Introduce UseDNR DHCPv4 option
Ronan Pigott [Tue, 16 Jan 2024 07:04:07 +0000 (00:04 -0700)] 
network: Introduce UseDNR DHCPv4 option

This option will control the use of DNR for choosing DNS servers on the
link. Defaults to the value of UseDNS so that in most cases they will be
toggled together.

13 months agonetwork: parse RFC9463 DHCPv4 DNR option
Ronan Pigott [Tue, 16 Jan 2024 07:01:46 +0000 (00:01 -0700)] 
network: parse RFC9463 DHCPv4 DNR option

This option is another way for DHCP servers to indicate preferred DNS
servers for the network, but includes more detailed info like the server
name, transport (DoT/DoH/DoQ etc.), and port.

Allow our DHCPv4 client to parse this option.

13 months agonetwork: Introduce sd_dns_resolver
Ronan Pigott [Sat, 24 Feb 2024 00:12:46 +0000 (17:12 -0700)] 
network: Introduce sd_dns_resolver

This type will be used to represent a "designated resolver", and the
necessary info for communicating with it. Beyond and address endpoint,
we may need to know the dns transport, authenticated domain name, DoH
path, etc.

13 months agodns: introduce dns_name_from_wire_format
Ronan Pigott [Tue, 23 Jan 2024 19:29:32 +0000 (12:29 -0700)] 
dns: introduce dns_name_from_wire_format

This is implemented in various places, but it is better to share this
code.

13 months agocore: do not fail if ignorable img.v/ vpick dir is empty
Luca Boccassi [Thu, 12 Sep 2024 16:46:04 +0000 (18:46 +0200)] 
core: do not fail if ignorable img.v/ vpick dir is empty

If the vpick directory is configured to be ignored if missing, do not
fail and just skip ahead.

Follow-up for 5e79dd96a88
Follow-up for 622efc544dc

13 months agoMerge pull request #34402 from keszybz/notes-readme
Luca Boccassi [Fri, 13 Sep 2024 13:19:56 +0000 (15:19 +0200)] 
Merge pull request #34402 from keszybz/notes-readme

Add examples not package/dlopen notes

13 months agodocs/ELF_DLOPEN_METADATA: add detailed example 34402/head
Zbigniew Jędrzejewski-Szmek [Fri, 13 Sep 2024 12:51:25 +0000 (14:51 +0200)] 
docs/ELF_DLOPEN_METADATA: add detailed example

13 months agodocs/ELF_PACKAGE_METADATA: add detailed example
Zbigniew Jędrzejewski-Szmek [Fri, 13 Sep 2024 12:35:43 +0000 (14:35 +0200)] 
docs/ELF_PACKAGE_METADATA: add detailed example

When the spec was initially written, we didn't add good documentation of how to
display the notes, also because there was no good way to display the data
except manually extracting the section to a file and running 'jq' on that. But
the tools have improved, so let's show the users how easy it is to use this
data.

13 months agomkosi: update debian commit reference
Luca Boccassi [Thu, 12 Sep 2024 19:54:55 +0000 (21:54 +0200)] 
mkosi: update debian commit reference

0704bfd93f Use dh-exec for d/systemd-timesyncd.manpages
b668a942e9 Install new sd-stub tmpfiles.d
57aa6890f3 Install new org.freedesktop.timesync1 manpage
63e7fb5a48 Install new shell credentials snippets
3ce727ad45 Update changelog for 256.6-1 release
65e0731d3a Note systemd-cryptsetup package split in NEWS
*   2bd9927f5d Update upstream source from tag 'upstream/256.6'
|\
| * 27c691ac24 New upstream version 256.6
395974bae4 Re-enable utmp support, tmux's autopkgtests require it
685e1c84eb initramfs-tools: ensure rules file exists before invoking chzdev
a454822396 Filter out zdev rules in the initramfs hook (LP: #2044104)
cd0179221d salsa-ci: test the stage1 build profile
55917feab0 Update changelog for 256.5-2 release
f280a3cbf5 Disable utmp support, replaced by wtmpdb
635c5f48dc d/t/upstream: do not pass /var/cache/apt/archives to PackageDirectories

13 months agopo: Translated using Weblate (Finnish)
Ricky Tigg [Thu, 12 Sep 2024 13:43:04 +0000 (15:43 +0200)] 
po: Translated using Weblate (Finnish)

Currently translated at 100.0% (253 of 253 strings)

Co-authored-by: Ricky Tigg <ricky.tigg@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/fi/
Translation: systemd/main

13 months agoMerge pull request #34392 from poettering/format-util-split
Daan De Meyer [Fri, 13 Sep 2024 07:18:56 +0000 (09:18 +0200)] 
Merge pull request #34392 from poettering/format-util-split

tweaks to networkd sysctl logging

13 months agocatalog: beef up new sysctl message 34392/head
Lennart Poettering [Thu, 12 Sep 2024 15:51:28 +0000 (17:51 +0200)] 
catalog: beef up new sysctl message

Let's make use of the templating logic, to make the entry more useful.

13 months agocatalog: rebreak catalog entry
Lennart Poettering [Thu, 12 Sep 2024 15:51:24 +0000 (17:51 +0200)] 
catalog: rebreak catalog entry

13 months agonetworkd: move sysctl code to use PID_FMT
Lennart Poettering [Thu, 12 Sep 2024 15:46:12 +0000 (17:46 +0200)] 
networkd: move sysctl code to use PID_FMT

Now that format-util.h doesn't pull in net/if.h anymore, we can use it
to format PIDs in the networkd-sysctl.c code.

13 months agobasic: split ifname related calls from format-util.h into format-ifname.h
Lennart Poettering [Thu, 12 Sep 2024 15:39:33 +0000 (17:39 +0200)] 
basic: split ifname related calls from format-util.h into format-ifname.h

This way we don't have to pull in net/if.h into format-util.h.

This is supposed to address https://github.com/systemd/systemd/pull/32212#discussion_r1755639881

No actual code changes, just a .c/.h file split-up.

13 months agominor fixups for #32212
Matteo Croce [Thu, 12 Sep 2024 17:17:24 +0000 (19:17 +0200)] 
minor fixups for #32212

Fix minor post merge comments

13 months agomkosi: Stop applying device groups patch on Arch
Daan De Meyer [Thu, 12 Sep 2024 19:27:03 +0000 (21:27 +0200)] 
mkosi: Stop applying device groups patch on Arch

It stopped applying so let's stop applying it to make CI green again.

13 months agoanalyze: add test for verify exit status with warnings
Ryan Wilson [Wed, 11 Sep 2024 20:51:09 +0000 (13:51 -0700)] 
analyze: add test for verify exit status with warnings

13 months agounits: Order ldconfig.service after systemd-confext.service
Daan De Meyer [Wed, 11 Sep 2024 19:29:25 +0000 (21:29 +0200)] 
units: Order ldconfig.service after systemd-confext.service

The configuration files required by ldconfig could be put into
place by systemd-confext.service (ldconfig only looks in /etc) so
let's order the service after systemd-confext.service to make sure
any config files are in place before the service runs.

13 months agoMerge pull request #34390 from poettering/bus-process-man-tweak
Luca Boccassi [Thu, 12 Sep 2024 18:04:49 +0000 (20:04 +0200)] 
Merge pull request #34390 from poettering/bus-process-man-tweak

man: document that sd_bus_process() only returns otherwise unhandled …

13 months agoMerge pull request #32212 from teknoraver/networkd-sysctl
Lennart Poettering [Thu, 12 Sep 2024 15:28:59 +0000 (17:28 +0200)] 
Merge pull request #32212 from teknoraver/networkd-sysctl

More visibility into systemd-networkd sysctls

13 months agoupdate TODO 34390/head
Lennart Poettering [Thu, 12 Sep 2024 14:18:59 +0000 (16:18 +0200)] 
update TODO

13 months agoman: document that sd_bus_process() only returns otherwise unhandled messages in...
Lennart Poettering [Thu, 12 Sep 2024 12:13:22 +0000 (14:13 +0200)] 
man: document that sd_bus_process() only returns otherwise unhandled messages in *ret_message

13 months agoupdate TODO
Lennart Poettering [Thu, 12 Sep 2024 14:17:42 +0000 (16:17 +0200)] 
update TODO

13 months agoMerge pull request #34388 from poettering/syscall-update
Lennart Poettering [Thu, 12 Sep 2024 13:46:03 +0000 (15:46 +0200)] 
Merge pull request #34388 from poettering/syscall-update

seccomp: update syscall list and categorize new additions a bit

13 months agoMerge pull request #34385 from poettering/man-unify-pcr-key-name
Lennart Poettering [Thu, 12 Sep 2024 13:45:40 +0000 (15:45 +0200)] 
Merge pull request #34385 from poettering/man-unify-pcr-key-name

man: clean up PCR public key filenames in systemd-stub and systemd-measure man pages

13 months agoNEWS: correct/complete some entries
Mike Yuan [Thu, 12 Sep 2024 12:44:19 +0000 (14:44 +0200)] 
NEWS: correct/complete some entries

13 months agoMerge pull request #34386 from keszybz/mkosi-update-helper
Daan De Meyer [Thu, 12 Sep 2024 12:35:17 +0000 (14:35 +0200)] 
Merge pull request #34386 from keszybz/mkosi-update-helper

Mkosi update helper

13 months agoseccomp-util: add recently added new syscalls to various seccomp groups, as appropriate 34388/head
Lennart Poettering [Thu, 12 Sep 2024 12:20:01 +0000 (14:20 +0200)] 
seccomp-util: add recently added new syscalls to various seccomp groups, as appropriate

13 months agosyscalls: run "ninja update-syscalls-*"
Lennart Poettering [Thu, 12 Sep 2024 12:13:45 +0000 (14:13 +0200)] 
syscalls: run "ninja update-syscalls-*"

13 months agoNEWS: the first big batch for v257
Zbigniew Jędrzejewski-Szmek [Thu, 12 Sep 2024 11:25:12 +0000 (13:25 +0200)] 
NEWS: the first big batch for v257

13 months agoanalyze: move "has-tpm2" from systemd-creds to systemd-analyze
Lennart Poettering [Fri, 31 May 2024 10:00:00 +0000 (12:00 +0200)] 
analyze: move "has-tpm2" from systemd-creds to systemd-analyze

The verb s not really specific to credential management, it was always a
bit misplaced. Hence move it to systemd-analyze, where we already have
some general TPM related verbs such as "srk" and "pcrs"

13 months agomkosi: update mkosi commit reference to v24.3-158-g2c9954fa51 34386/head
Zbigniew Jędrzejewski-Szmek [Thu, 12 Sep 2024 08:46:24 +0000 (10:46 +0200)] 
mkosi: update mkosi commit reference to v24.3-158-g2c9954fa51

2c9954fa51 mkosi-initrd: correct `--debug-shell` help output
*   671708a10b Merge pull request #2990 from behrmann/allthemanuals
|\
| * 2671849125 initrd: add --show-documentation option
| * e2238f5dc7 Move show_docs to its own module
| * e366093b1c doc: make documentation command take an argument
* | 9fcff08b34 Update documentation links
* | 113f7f67dd Only write to /etc/machine-id if /etc exists
|/
*   62a610c0e5 Merge pull request #3005 from DaanDeMeyer/mypy
|\
| * 9b569c93bb Don't delete reader in _tempfile() backport
| * 16f4c94930 Mark all class variables as Final
| * ca7021e9a7 Annotate two more variables that need it
| * fec368dd4d Move KeySource.Type out of KeySource
| * ff5f7b06b8 user: Drop lru_cache() for home() and name()
| * 8f7c7b366f Move code backported from cpython upstream to backport.py
| * f66212e9c2 Drop listify()
| * 4293866df2 mypy: Disable allow_redefinition
| * 2700337f11 Fix mypyc warnings in sandbox.py
|/
025483af04 sandbox: Use separate variable name when we change types
*   b04800cd30 Merge pull request #3003 from DaanDeMeyer/initrd
|\
| * fd64be9b60 mkosi-initrd: Ignore gnupg subdirectory
| * 7a8a21f8f6 mkosi-initrd: Only set --cacheonly=metadata when running as root
| * 156880c398 mkosi-initrd: Add --debug-shell argument
|/
*   a32c8f393a Merge pull request #3002 from DaanDeMeyer/cherry-pick
|\
| * 1d8bfabc97 news: add note to change where the manual pages are
| * 8917d65db1 initrd: flatten module into a single file
| * 76085b788a sandbox: flatten module into a single file
| * 9f48afa4a7 cli: add missing completion stubs to pyproject.toml
| * 6e21cceb03 doc: move man pages to resources/man
| * 25d1c6b579 cli: use ellipsis ligature instead of writing out ...
|/
013d9b5595 Move various functions to bootloader.py
508ad85475 Update NEWS.md
f25b8dee6f Simplify package cache dir mirror key
*   dce4c8af51 Merge pull request #2998 from DaanDeMeyer/ci
|\
| * f4934828f7 tests: Show debug messages on console
| * fa3ae22598 ci: Drop machine-id commit timeout drop-in
dba01269de base64 encode mirror if we put it in package cache dir key
364b65f7bb Add 'login' to Debian/Ubuntu/Kali package list
ee07b5b6d2 Bump github/codeql-action from 3.25.15 to 3.26.6

13 months agomkosi: add helper script to update mkosi hash
Zbigniew Jędrzejewski-Szmek [Thu, 12 Sep 2024 08:49:41 +0000 (10:49 +0200)] 
mkosi: add helper script to update mkosi hash

This is very similar to tools/fetch-distro.py. The idea is that we extend the
commit to update the mkosi hash with a git log --pretty=oneline output, so that
the reader can know what changes were actually included.

The motivation is that I'm always wondering what changed in mkosi when I see a
commit updating the hash, and it's nicer to have this information shown
directly in the commit.

The script does _not_ pull changes from upstream, on the assumption that the
person doing the commit always has a fresh checkout and that they tested with
that checkout.

13 months agoman: fix advertised filename of the PCR public key 34385/head
Lennart Poettering [Thu, 12 Sep 2024 07:31:29 +0000 (09:31 +0200)] 
man: fix advertised filename of the PCR public key

13 months agoman: systemd-stub places PCR public key in file 'tpm2-pcr-public-key.pem', stick...
Lennart Poettering [Wed, 11 Sep 2024 16:22:54 +0000 (18:22 +0200)] 
man: systemd-stub places PCR public key in file 'tpm2-pcr-public-key.pem', stick to that name across the board

systemd-stub provides the signing key for TPM2 signed PCR policies in a
file tpm2-pcr-public-key.pem to userspace. Hence, to clarify that this
is the same key as used when signing via "systemd-measure", let's rename
it in the docs like that.

Also rename the private key to tpm2-pcr-private-key.pem, to keep the
symmetry.

With this we should universally stick to this nomenclature:

1. tpm2-pcr-public-key.pem   ← public part of signing key
2. tpm2-pcr-private-key.pem  ← private part of signing key
3. tpm2-pcr-signature.json   ← signature file made with key pair

Inspired by: #34069

13 months agoupdate TODO
Lennart Poettering [Thu, 12 Sep 2024 07:38:27 +0000 (09:38 +0200)] 
update TODO

13 months agonetwork/wireguard: refuse default key if all zero
Mike Yuan [Wed, 11 Sep 2024 19:49:00 +0000 (21:49 +0200)] 
network/wireguard: refuse default key if all zero

Follow-up for fa724cd52c1335d6b3225b74c1a9c801389997ba

We attempt to retrieve default key if eqzero(Wireguard.private_key),
but a all zero default key should be refused too.

13 months agotest-network: add test for sysctl watch 32212/head
Matteo Croce [Mon, 1 Jul 2024 19:58:30 +0000 (21:58 +0200)] 
test-network: add test for sysctl watch

Add a NetworkdSysctlTest class which ensures that networkd correctly
complains when a sysctl file it's handling has been changed externally.

13 months agoemit a warning in networkd if managed sysctls are changed
Matteo Croce [Mon, 1 Jul 2024 19:58:30 +0000 (21:58 +0200)] 
emit a warning in networkd if managed sysctls are changed

Monitor the sysctl set by networkd for writes, if a sysctl is
overwritten with a different value than the one we set, emit a warning.
Writes are detected with an eBPF program attached as BPF_CGROUP_SYSCTL
which reports the sysctl writes only in net/.

The eBPF program only reports sysctl writes from a different cgroup than networkd.
To do this, it uses the `bpf_current_task_under_cgroup_proto()` helper,
which will be available allowed in BPF_CGROUP_SYSCTL from kernel 6.12[1].

Loading a BPF_CGROUP_SYSCTL program requires the CAP_SYS_ADMIN capability,
so drop it just after the program load, whether it loads successfully or not.

Writes are logged but permitted, in future the functionality can be
extended to also deny writes to managed sysctls.

[1] https://lore.kernel.org/bpf/20240819162805.78235-3-technoboy85@gmail.com/

13 months agostore the sysctls set by networkd
Matteo Croce [Mon, 1 Jul 2024 19:58:30 +0000 (21:58 +0200)] 
store the sysctls set by networkd

networkd set several sysctl to set the network configuration. Save their
value so we can check is other processes change them.

13 months agoextend sysctl functions to shadow values
Matteo Croce [Mon, 1 Jul 2024 19:58:30 +0000 (21:58 +0200)] 
extend sysctl functions to shadow values

Pass to all the sysctl_* functions a hashmap which can be used to
optionally save the value written in the sysctl.

13 months agoresolvectl: rework StatusMode handling into a switch/case statement
Lennart Poettering [Wed, 11 Sep 2024 14:08:23 +0000 (16:08 +0200)] 
resolvectl: rework StatusMode handling into a switch/case statement

13 months agoresolvectl: rename shallow destructors …_done()
Lennart Poettering [Wed, 11 Sep 2024 14:06:57 +0000 (16:06 +0200)] 
resolvectl: rename shallow destructors …_done()

13 months agoMerge pull request #34373 from poettering/resolved-dnssd-move-out
Daan De Meyer [Wed, 11 Sep 2024 19:36:24 +0000 (21:36 +0200)] 
Merge pull request #34373 from poettering/resolved-dnssd-move-out

move dnssd configuration file parsing from generic code into dnssd source files

13 months agoresolved: simplify dns_scope_get_n_dns_servers(), don't count each time
Lennart Poettering [Tue, 3 Sep 2024 08:46:52 +0000 (10:46 +0200)] 
resolved: simplify dns_scope_get_n_dns_servers(), don't count each time

13 months agoresolved: use dns_scope_ifindex() at more places
Lennart Poettering [Tue, 3 Sep 2024 08:49:42 +0000 (10:49 +0200)] 
resolved: use dns_scope_ifindex() at more places

And add a mirroring dns_scope_ifname()

13 months agoresolved: simplify initialization of DnsScope
Lennart Poettering [Tue, 3 Sep 2024 08:45:26 +0000 (10:45 +0200)] 
resolved: simplify initialization of DnsScope

13 months agopcrlock: remove empty components from our list
Lennart Poettering [Wed, 11 Sep 2024 09:14:33 +0000 (11:14 +0200)] 
pcrlock: remove empty components from our list

This is a rework of e7a93e75219b22424bab95fe45982f5eef21d581: instead of
handling components with n_variants being zero at every step of the way, we instead
remove it from our list after loading all components, given that such a
component simply makes not sense for the rest of our logic.

13 months agoresolved: use unlinkat() where appropriate
Lennart Poettering [Tue, 3 Sep 2024 08:52:16 +0000 (10:52 +0200)] 
resolved: use unlinkat() where appropriate

13 months agoMerge pull request #34377 from DaanDeMeyer/symlinks
Daan De Meyer [Wed, 11 Sep 2024 19:34:37 +0000 (21:34 +0200)] 
Merge pull request #34377 from DaanDeMeyer/symlinks

repart: Add MakeSymlinks=

13 months agoresolvectl: show DefaultRoute state in per-link DNS staus info too
Lennart Poettering [Wed, 11 Sep 2024 14:11:43 +0000 (16:11 +0200)] 
resolvectl: show DefaultRoute state in per-link DNS staus info too

13 months agopcrlock: correct --help text regarding recovery pin
Lennart Poettering [Wed, 11 Sep 2024 15:13:09 +0000 (17:13 +0200)] 
pcrlock: correct --help text regarding recovery pin

Fixes: #33917
13 months agocryptenroll: don't try to get PCR bank if we know the device key
Lennart Poettering [Wed, 11 Sep 2024 15:28:43 +0000 (17:28 +0200)] 
cryptenroll: don't try to get PCR bank if we know the device key

If we operate in "offline" mode, i.e. know the device key, then we will
not have a TPM2 connection, hence don't try to read the PCR bank to use form
it.

We don't need it anyway because we are not going to test unseal things.

Fixes: #33855
13 months agorepart: Add MakeSymlinks= 34377/head
Daan De Meyer [Wed, 11 Sep 2024 15:11:45 +0000 (17:11 +0200)] 
repart: Add MakeSymlinks=

Similar to MakeDirectories=, but creates symlinks in the filesystem.

13 months agorepart: Add missing parameter comment
Daan De Meyer [Wed, 11 Sep 2024 16:44:44 +0000 (18:44 +0200)] 
repart: Add missing parameter comment

13 months agorepart: Fix memory corruption
Daan De Meyer [Wed, 11 Sep 2024 15:51:20 +0000 (17:51 +0200)] 
repart: Fix memory corruption

13 months ago hwdb.d/60-keyboard.hwdb: add Clevo mic mute quirk for V5x iGPU, NV41PZ
Filip Lewiński [Fri, 30 Aug 2024 07:38:46 +0000 (09:38 +0200)] 
 hwdb.d/60-keyboard.hwdb: add Clevo mic mute quirk for V5x iGPU, NV41PZ

Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
13 months agoudev: allow persistent storage rules for zram devices
Karel Zak [Wed, 11 Sep 2024 09:27:09 +0000 (11:27 +0200)] 
udev: allow persistent storage rules for zram devices

The /dev/zramN devices can be used as regular block devices. They are
typically used for swap areas, but it would be beneficial to have
LABEL and UUID in the udev database to make it more user-friendly for
tools such as lsblk or mount (if used with other filesystems).

13 months agoresolved: move dnssd parsers to resolved-dnssd.c 34373/head
Lennart Poettering [Tue, 3 Sep 2024 14:05:48 +0000 (16:05 +0200)] 
resolved: move dnssd parsers to resolved-dnssd.c

Let's keep only the parsers for the main config in resolved-conf.c

13 months agoresolved: move resolved_dnssd_gperf_lookup() prototype definition to resolved-dnssd.h
Lennart Poettering [Tue, 3 Sep 2024 11:11:51 +0000 (13:11 +0200)] 
resolved: move resolved_dnssd_gperf_lookup() prototype definition to resolved-dnssd.h

13 months agorepart: Reuse partition_needs_populate() more
Daan De Meyer [Wed, 11 Sep 2024 14:36:47 +0000 (16:36 +0200)] 
repart: Reuse partition_needs_populate() more

13 months agoman: fix help text for systemd-creds tool's "list" verb
Lennart Poettering [Wed, 11 Sep 2024 08:55:52 +0000 (10:55 +0200)] 
man: fix help text for systemd-creds tool's "list" verb

I guess this was copy/pasted from sysupdate? Weird though. Fix it. And
also reword "cat" help text to make it more precise.

13 months agopcrlock: log if we generate an "empty" policy
Lennart Poettering [Wed, 11 Sep 2024 09:44:02 +0000 (11:44 +0200)] 
pcrlock: log if we generate an "empty" policy

Such a policy won't provide any protection, but it's still entirely fine
to have it like this in various contexts, for example at OS install
time, to allocate the nvindex and reference it in enrollments. However,
it does deserve mention, hence log about it at LOG_NOTICE level.

This is based on a similar patch by Arnaud Patard
<arnaud.patard@collabora.com> proposed at #33663.

13 months agoman: Correct flag description of systemd-cat
sinus-x [Mon, 9 Sep 2024 19:06:58 +0000 (21:06 +0200)] 
man: Correct flag description of systemd-cat

It is not true that "no string" is written to journal; the binary
name is used when run via `systemd-cat command`, or `cat` is used
when run via `command | systemd-cat`.

13 months agotest: fix TEST_SKIP for test cases with subtests
Luca Boccassi [Wed, 11 Sep 2024 10:01:55 +0000 (12:01 +0200)] 
test: fix TEST_SKIP for test cases with subtests

TEST-64-UDEV-STORAGE is invoked with the subtest appended, so TEST_SKIP=TEST-64-UDEV-STORAGE
does not work. Fix it by using TEST_SKIP as a partial match.

Follow-up for ddc91af4eaa32511f92c83b2c24d9cc0425fd5f5

13 months agotpm2-util: fix whitespace
Lennart Poettering [Wed, 11 Sep 2024 08:28:36 +0000 (10:28 +0200)] 
tpm2-util: fix whitespace

13 months agoMerge pull request #34353 from yuwata/timesync-bus-document
Lennart Poettering [Wed, 11 Sep 2024 08:15:30 +0000 (10:15 +0200)] 
Merge pull request #34353 from yuwata/timesync-bus-document

timesync: add document for org.freedesktop.timesync1

13 months agoMerge pull request #34348 from poettering/stub-efivar-tweaks
Lennart Poettering [Wed, 11 Sep 2024 08:09:53 +0000 (10:09 +0200)] 
Merge pull request #34348 from poettering/stub-efivar-tweaks

sd-stub: report stub location in efi vars

13 months agoChange OS X to macOS in BOOT.md (#34358)
Skye Chappelle [Wed, 11 Sep 2024 07:15:39 +0000 (03:15 -0400)] 
Change OS X to macOS in BOOT.md (#34358)

13 months agostub: add StubDevicePartUUID/StubImageIdentifier 34348/head
Lennart Poettering [Mon, 15 Jul 2024 14:11:31 +0000 (16:11 +0200)] 
stub: add StubDevicePartUUID/StubImageIdentifier

These variables closely mirror the existing
LoaderDevicePartUUID/LoaderImageIdentifier variables. But the Stub…
variables indicate the location of the stub/UKI (i.e. of systemd-stub),
while the Loader… variables indicate the location of the boot loader
(i.e. of systemd-boot). (Except of course, there is no boot loader used,
in which case both sets point to the stub/UKI, as a special case).

This actually matters, as we support that sd-boot runs off the ESP,
while a UKI then runs off XBOOTLDR, i.e. two distinct partitions.

13 months agostub: tweak setting of common Loader* EFI vars
Lennart Poettering [Mon, 15 Jul 2024 14:07:51 +0000 (16:07 +0200)] 
stub: tweak setting of common Loader* EFI vars

Let's always check if we have data to set *first*, and only then check
if an EFI var is already set.

Checking for the EFI var is more expensive after all.

13 months agoman: fix documentation for LoaderDevicePathUUID + LoaderImageIdentifier, in systemd...
Lennart Poettering [Mon, 15 Jul 2024 14:06:40 +0000 (16:06 +0200)] 
man: fix documentation for LoaderDevicePathUUID + LoaderImageIdentifier, in systemd-stub man page too

Let's fix the version here too, and also clarify that this is usually
not necessarily the ESP.

13 months agoman: fix LoaderDevicePathUUID + LoaderImageIdentifier descriptions
Lennart Poettering [Mon, 15 Jul 2024 13:48:42 +0000 (15:48 +0200)] 
man: fix LoaderDevicePathUUID + LoaderImageIdentifier descriptions

First of all, these were always set, i.e. since sd-boot was merged into
our tree, i.e. v220. Let's say so explicitly.

Also, let's be more accurate, regarding which partition this referes to:
it's usually "the" ESP, but given that you can make firmware boot from
arbitrary disks, it could be any other partition too. Hence, be
explicit on this.

Also, clarify tha sd-stub will set this too, if sd-boot never set it.

13 months agobootctl: show new sd-boot/sd-stub feature flags
Lennart Poettering [Tue, 2 Jul 2024 08:49:35 +0000 (10:49 +0200)] 
bootctl: show new sd-boot/sd-stub feature flags

13 months agosrc/sysext: Use versioned names when logging extensions used for merge operation
Maanya Goenka [Mon, 9 Sep 2024 16:25:32 +0000 (16:25 +0000)] 
src/sysext: Use versioned names when logging extensions used for merge operation

If this is not done, and there are two images, image_1.raw and image_2.raw under
an image.raw.v folder, then the log will say "Using extensions image" instead of
using "Using extensions image_2.raw" which is the desired behavior for v-picked extensions.

13 months agotmpfiles: add separate fragment for stuff we copy from .extra/ into /run/systemd
Lennart Poettering [Tue, 2 Jul 2024 14:01:47 +0000 (16:01 +0200)] 
tmpfiles: add separate fragment for stuff we copy from .extra/ into /run/systemd

Let's move copying out the PCR signature/key into its own tmpfiles
snippet.

And then let's add support for copying out the profile + os-release
information systemd-stub now places in the invoked initrd.

That way these four pieces of information are available even after the
initrd→host transition.

13 months agomeson: increase default number of available sections for the stub
Lennart Poettering [Wed, 10 Jul 2024 08:46:39 +0000 (10:46 +0200)] 
meson: increase default number of available sections for the stub

Now that we have multi-profile UKIs people likely want to stick more PE
sections into them than before. Hence, bump the number of available PE
section slots to 30 (up from 15). Also, make this configurable at build
time since some folks probably want even more, and others don't want
this at all.

(pre-allocating too many shouldn't matter too much btw, I'd advise
everyone to overshoot, except maybe on the tiniest of embedded boards)

13 months agoman: add basic documents for org.freedesktop.timesync1 34353/head
Yu Watanabe [Tue, 10 Sep 2024 19:42:50 +0000 (04:42 +0900)] 
man: add basic documents for org.freedesktop.timesync1

Closes #34352.

13 months agotimesync: add support of basic command line options
Yu Watanabe [Tue, 10 Sep 2024 19:05:31 +0000 (04:05 +0900)] 
timesync: add support of basic command line options

13 months agotimesync: use BusObjectImplementation
Yu Watanabe [Tue, 10 Sep 2024 19:03:57 +0000 (04:03 +0900)] 
timesync: use BusObjectImplementation

13 months agodoc-sync: strip point release from version before uploading
Luca Boccassi [Tue, 10 Sep 2024 15:37:04 +0000 (17:37 +0200)] 
doc-sync: strip point release from version before uploading

We create subdirectories for each major release, but not for point releases
so strip the suffix if it is present

13 months agocryptsetup: use the new crypt_token_set_external_path() API if available
Lennart Poettering [Tue, 10 Sep 2024 13:40:12 +0000 (15:40 +0200)] 
cryptsetup: use the new crypt_token_set_external_path() API if available

Let's make use of libcryptsetup's new crypt_token_set_external_path()
API in place of the interposition stuff we have been doing before. Let's
kill it entirely, given that this was a developer feature only anyway
(and guarded by an appropriate ifdef).

Fixes: #30098
13 months agohomectl: when chainloading a shell, prefix "-" rather than overriding first char
Lennart Poettering [Tue, 10 Sep 2024 13:30:44 +0000 (15:30 +0200)] 
homectl: when chainloading a shell, prefix "-" rather than overriding first char

Login shells are supposed to marked via a dash as first char. We follow
that logic, but right now we simply overwrite the first char of the
shell. That might not be the right choice, given that this turns
"zsh" into "-sh", which suggests some bourne shell process.

Hence, let's correct things, and instead prefix a dash, which should be
safer.

Inspired by findings on https://github.com/systemd/systemd/issues/34153#issuecomment-2338104907