Antonio Alvarez Feijoo [Thu, 24 Oct 2024 08:07:28 +0000 (10:07 +0200)]
man/veritysetup-generator: document veritytab kernel command line option
Antonio Alvarez Feijoo [Thu, 24 Oct 2024 07:54:48 +0000 (09:54 +0200)]
man: fix links to veritysetup(8)
Integral [Wed, 23 Oct 2024 08:32:02 +0000 (16:32 +0800)]
refactor: replace sizeof in loop with ELEMENTSOF & FOREACH_ELEMENT (#34863)
Lennart Poettering [Wed, 23 Oct 2024 08:27:04 +0000 (10:27 +0200)]
update TODO
Yu Watanabe [Wed, 23 Oct 2024 08:23:26 +0000 (17:23 +0900)]
Yu Watanabe [Wed, 23 Oct 2024 08:22:22 +0000 (17:22 +0900)]
Yu Watanabe [Wed, 23 Oct 2024 08:13:55 +0000 (17:13 +0900)]
Lennart Poettering [Wed, 23 Oct 2024 08:25:18 +0000 (10:25 +0200)]
Merge pull request #34850 from poettering/openat-report-new-tweaks
openat_report_new() tweaks
Ronan Pigott [Tue, 22 Oct 2024 15:20:17 +0000 (08:20 -0700)]
network: adjust log message about DNR
The only possible error return in this position is -ENODATA, which is
not interesting.
Lennart Poettering [Wed, 23 Oct 2024 08:24:23 +0000 (10:24 +0200)]
Merge pull request #34861 from poettering/can-idle
logind: introduce CanIdle/CanLock properties on logind session dbus objects
Luca Boccassi [Tue, 22 Oct 2024 16:23:22 +0000 (17:23 +0100)]
mkosi: update debian commit reference
*
07a294d0c6 Do not mask systemd-gpt-auto-generator in upstream CI builds
*
5636398bf7 Backport patch to fix test failures with tzdata 2024b-1
*
354ded4946 Update changelog for 256.7-2 release
*
e38c7c5345 Backport fixes for upstream autopkgtest suite
*
249676834c Disable utmp support, not y2038 safe
*
822d44da42 initramfs-tools: support missing /etc/udev/udev.conf
*
ad71ebf700 systemd-boot: depend on systemd for kernel-install
*
5bf7008ef8 d/systemd.postinst: do not restart systemd-binfmt.service if masked
*
58d5aa1b41 d/rules: mask systemd-gpt-auto-generator on Ubuntu
*
481987d85c Update changelog for 256.7-1 release
*
ce7f3d4b43 Revert "autopkgtest: skip TEST-64-UDEV-STORAGE due to qemu crash"
*
7007e73b22 Mark dependencies on clang and bpftool as :native
*
0e120cf704 Update upstream source from tag 'upstream/256.7'
|\
| *
914aae055c New upstream version 256.7
*
fcea89cb00 d/t/upstream: honor /etc/apt configured by autopkgtest
Mike Yuan [Tue, 22 Oct 2024 21:46:33 +0000 (23:46 +0200)]
Merge pull request #34860 from enr0n/varlinkctl-fixes
Fix varlinkctl output with `--more`
Luca Boccassi [Tue, 22 Oct 2024 16:04:41 +0000 (17:04 +0100)]
logind: allow read/write to char-hvc devices
virtio console uses /dev/hvc* so we need access to write wall
messages
Lennart Poettering [Tue, 22 Oct 2024 16:12:20 +0000 (18:12 +0200)]
logind: also check session class in session_get_idle_hint()
Lennart Poettering [Tue, 22 Oct 2024 16:11:25 +0000 (18:11 +0200)]
logind: use RET_GATHER() at one more place
Lennart Poettering [Tue, 22 Oct 2024 16:08:19 +0000 (18:08 +0200)]
logind: add CanIdle + CanLock dbus properties to session object
Clients should be able to know if the idle logic is available on a
session without secondary knowledge about the session class. Let's hence
expose a property for that.
Similar for the screen lock concept.
Fixes: #34844
Nick Rosbrook [Tue, 22 Oct 2024 16:09:55 +0000 (12:09 -0400)]
varlinkctl: set SD_JSON_FORMAT_FLUSH when --more is set
This makes it possible to process continuous replies with jq etc.
Nick Rosbrook [Tue, 22 Oct 2024 16:03:50 +0000 (12:03 -0400)]
varlinkctl: do not clobber format flags in verb_call
Currently, when SD_JSON_FORMAT_OFF is set in verb_call, the json format
flags are set to SD_JSON_FORMAT_PRETTY_AUTO|SD_JSON_FORMAT_COLOR_AUTO,
rather than or'ing those flags in. This means that other flags that may
have been set, e.g. SD_JSON_FORMAT_SEQ when --more is set, will be
clobbered.
Fix this by masking SD_JSON_FORMAT_OFF out, and then or'ing the new
flags in.
Lennart Poettering [Tue, 22 Oct 2024 16:00:12 +0000 (18:00 +0200)]
Merge pull request #34848 from yuwata/network-dhcpv6-do-not-request-ia-pd-on-info-req
network/dhcp6: do not request IA_PD on information requesting mode
Ronan Pigott [Mon, 21 Oct 2024 06:16:49 +0000 (23:16 -0700)]
resolved: validate noerror response for CNAMEs
CNAME doesn't exist at the zone apex. When we get an unsigned noerror
response to a direct query for a CNAME record, we don't yet know if this
name is zone apex. We already request the correct DS record in this
case, but previously skipped it at validation time, causing the answer
to appear bogus. Make sure to also consider the DS record for the query
name for negative replies.
Lennart Poettering [Tue, 22 Oct 2024 15:49:40 +0000 (17:49 +0200)]
fs-util: move attempts counter in openat_report_new() into loop
Lennart Poettering [Tue, 22 Oct 2024 15:47:22 +0000 (17:47 +0200)]
label: move label_ops_reset() up a bit
Let#s move it close to label_ops_set(), since it is somewhat symmetric
to it.
Lennart Poettering [Tue, 22 Oct 2024 15:47:16 +0000 (17:47 +0200)]
label: add missing assert() to label_ops_set()
Lennart Poettering [Tue, 22 Oct 2024 08:25:26 +0000 (10:25 +0200)]
shared: get rid of fileio-label.[ch]
Move the renaming function to reboot-util.h (since it writes out
/run/nologin at shutdown), and let's get rid of fileio-label.[ch] now
that it serves no purpose anymore.
Lennart Poettering [Tue, 22 Oct 2024 08:19:03 +0000 (10:19 +0200)]
fileio: port write_string_file_full() to openat_report_new()
This brings two benefits: we will label the created file only if it is
actually created, and we can correctly delete any file we create again
on failure.
Lennart Poettering [Tue, 22 Oct 2024 08:09:20 +0000 (10:09 +0200)]
fileio: port write_string_file() to LabelOps, and thus add WRITE_STRING_FILE_LABEL flag
Given that we have the LabelOps abstraction these days, we can teach
write_string_file() to use it, which means we can get rid of
fileio-label.[ch] as a separate concept.
(The only reason that fileio-label.[ch] exists independently of
fileio.[ch] was that the former linekd to libselinux potentially, and
thus had to be in src/shared/ while the other always was in src/basic/.
But the LabelOps vtable provides us with a nice work-around)
Lennart Poettering [Mon, 21 Oct 2024 20:58:25 +0000 (22:58 +0200)]
fs-util: tweak how openat_report_new() operates when O_CREAT is used on a dangling symlink
One of the big mistakes of Linux is that when you create a file with
open() and O_CREAT and the file already exists as dangling symlink that
the symlink will be followed and the file created that it points to.
This has resulted in many vulnerabilities, and triggered the creation of
the O_MOFOLLOW flag, addressing the problem.
O_NOFOLLOW is less than ideal in many ways, but in particular one: when
actually creating a file it makes sense to set, because it is a problem
to follow final symlinks in that case. But if the file is already
existing, it actually does make sense to follow the symlinks. With
openat_report_new() we distinguish these two cases anyway (the whole
function exists only to distinguish the create and the exists-already
case after all), hence let's do something about this: let's simply never
create files "through symlinks".
This can be implemented very easily: just pass O_NOFOLLOW to the 2nd
openat() call, where we actually create files.
And then basically remove
0dd82dab91eaac5e7b17bd5e9a1e07c6d2b78dca
again, because we don't need to care anymore, we already will see ELOOP
when we touch a symlink.
Note that this change means that openat_report_new() will thus start to
deviate from plain openat() behaviour in this one small detail: when
actually creating files we will *never* follow the symlink. That should
be a systematic improvement of security.
Fixes: #34088
Lennart Poettering [Mon, 21 Oct 2024 20:43:18 +0000 (22:43 +0200)]
fs-util: always call label post ops in xopenat_full(), in both success and error path
For SELinux it is essential that we reset the file creation label both
in the success and in the error path, hence do so.
Moreover, when calling the label post ops do it if possible with the
opened fd of the inode itself, rather than always going via its path,
simply to reduce the attack surface.
Lennart Poettering [Mon, 21 Oct 2024 20:40:52 +0000 (22:40 +0200)]
fs-util: don't second guess openat_report_new() return values
If openat_report_new() fails, then 'made_file' will be false, as no file
was created, hence there's no need to skip the unlinkat() explicitly
early, given that we check for 'made_file' anyway in the error path. The
extra error code checks are hence entirely redundant.
Lennart Poettering [Mon, 21 Oct 2024 20:07:56 +0000 (22:07 +0200)]
label: tweak LabelOps post() hook to take "created" boolean
We have two distinct implementations of the post hook.
1. For SELinux we just reset the selinux label we told the kernel
earlier to use for new inodes.
2. For SMACK we might apply an xattr to the specified file.
The two calls are quite different: the first call we want to call in all
cases (failure or success), the latter only if we actually managed to
create an inode, in which case it is called on the inode.
Lennart Poettering [Mon, 21 Oct 2024 19:56:05 +0000 (21:56 +0200)]
fs-util: always go through the unlink cleanup paths in xopenat_full()
We didn't go through it at all if label_ops_post() failed.
Lennart Poettering [Mon, 21 Oct 2024 19:54:37 +0000 (21:54 +0200)]
fs-util: remove misplaced RET_NERRNO()
Daan De Meyer [Tue, 22 Oct 2024 11:37:59 +0000 (13:37 +0200)]
Merge pull request #34851 from DaanDeMeyer/medium
bus-util: Return ENOMEDIUM if XDG_RUNTIME_DIR is unset
Daan De Meyer [Tue, 22 Oct 2024 10:32:02 +0000 (12:32 +0200)]
bus-util: Fix bus_log_connect_error()
Daan De Meyer [Tue, 22 Oct 2024 09:12:17 +0000 (11:12 +0200)]
bus-util: Special case when DBUS_SESSION_BUS_ADDRESS is set and XDG_RUNTIME_DIR isn't
We noticed some failures because we have code that connects to user
managers by setting DBUS_SESSION_BUS_ADDRESS without setting XDG_RUNTIME_DIR.
If that's the case, connect to the user session bus instead of the
private manager bus as we can't connect to the latter if XDG_RUNTIME_DIR
is not set.
Daan De Meyer [Tue, 22 Oct 2024 08:59:27 +0000 (10:59 +0200)]
bus-util: Return ENOMEDIUM if XDG_RUNTIME_DIR is unset
bus_log_connect_error() checks for ENOMEDIUM, not ENXIO.
Lennart Poettering [Tue, 22 Oct 2024 07:06:56 +0000 (09:06 +0200)]
Merge pull request #34761 from ikruglov/ikruglov/io-systemd-Machine-GetAddresses
machine: add Addresses, OSRelease, and UIDShift fields in varlink io.systemd.Machine.List output
Lennart Poettering [Tue, 22 Oct 2024 07:05:36 +0000 (09:05 +0200)]
Merge pull request #30952 from rpigott/resolved-dnr
RFC9463: Discovery of Network-designated Resolvers
Luca Boccassi [Mon, 21 Oct 2024 16:31:09 +0000 (17:31 +0100)]
test: CET/EET are deprecated, use Europe/Berlin and Kyiv
The links moved to the legacy dataset so they won't be available by
default, so stop using them and just use the city ones instead
Yu Watanabe [Mon, 21 Oct 2024 19:28:27 +0000 (04:28 +0900)]
man: suggest to use DHCPv6Client= when upstream provides RA with the Managed bit unset
Follow-up for
daf9f42f9183c206c0f8308efece019797e95e89.
Yu Watanabe [Sun, 20 Oct 2024 19:41:57 +0000 (04:41 +0900)]
network/dhcp6: do not request IA_PD when running in the other-information mode
This reverts the following commits:
-
180cc5421d9712fb95a6bbc725dc8ba459360c8b
"sd-dhcp6-client: allow to request IA_PD on information requesting mode"
-
cf7a403e470368049165ecff7ac7686928778d7c
"sd-dhcp6-lease: adjust information refresh time with lifetime of IA_PD"
-
1918eda30d12e1ba3ee55921c18ec53267463e24
"network/dhcp6: process hostname and IA_PD on information requesting mode"
As per discussion in #34299,
https://github.com/systemd/systemd/issues/34299#issuecomment-
2425153221
the offending commits violate RFC 8415 section 18.2.6:
> The client uses an Information-request message to obtain
> configuration information without having addresses and/or delegated
> prefixes assigned to it.
Daan De Meyer [Mon, 21 Oct 2024 16:55:33 +0000 (18:55 +0200)]
Merge pull request #34628 from DaanDeMeyer/measure
Rework TEST-86-MULTI-PROFILE-UKI + associated bugfixes
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.
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.
Ronan Pigott [Wed, 3 Apr 2024 20:16:05 +0000 (13:16 -0700)]
network: add dnr resolvers to networkctl status json output
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.
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.
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.
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.
Ronan Pigott [Thu, 18 Jan 2024 02:35:20 +0000 (19:35 -0700)]
test-network: add DHCPv6 DNR test
Same as the DHCPv4 test.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Ivan Kruglov [Thu, 17 Oct 2024 11:56:43 +0000 (13:56 +0200)]
machine: add tests for Addresses/OSRelease/UIDShift fields in io.systemd.Machine.List output
Ivan Kruglov [Thu, 17 Oct 2024 11:56:25 +0000 (13:56 +0200)]
machine: use AcquireMetadata in io.systemd.MachineImage.List method
Ivan Kruglov [Thu, 17 Oct 2024 11:54:07 +0000 (13:54 +0200)]
machine: add Addresses field in varlink io.systemd.Machine.List output
This is equivalent to DBus implementation of GetMachineAddresses.
Ivan Kruglov [Thu, 17 Oct 2024 11:51:34 +0000 (13:51 +0200)]
machine: add OSRelease and UIDShift fields in varlink io.systemd.Machine.List output
This commit adds support of the above mentioned fields. This is equivalent to DBus implementation of:
- GetMachineOSRelease
- GetMachineUIDShift
Ivan Kruglov [Thu, 17 Oct 2024 11:46:40 +0000 (13:46 +0200)]
machine: enum AcquireMetadata
Daan De Meyer [Fri, 4 Oct 2024 14:46:16 +0000 (16:46 +0200)]
Rework TEST-86-MULTI-PROFILE-UKI
Now that mkosi supports generating UKI profiles, let's make use of
that to generate the UKI profiles required for the test instead of
doing it within the test itself.
Daan De Meyer [Mon, 21 Oct 2024 13:01:59 +0000 (15:01 +0200)]
TEST-70-TPM2: Disable public key enrollment explicitly
Otherwise, when the test is executed on a system with signed PCRs,
cryptenroll will automatically pick up the public key from the UKI
which results in a volume that can't be unlocked because the pcrextend
tests appends extra things to pcr 11.
Daan De Meyer [Sun, 20 Oct 2024 14:31:23 +0000 (16:31 +0200)]
cryptenroll: Remove faulty assert()
We can break out of the preceeding for loop in certain scenarios
which would trigger the assert so let's drop it.
Daan De Meyer [Mon, 7 Oct 2024 15:39:27 +0000 (17:39 +0200)]
pcrlock: Take VirtualSize > SizeOfRawData into account
If VirtualSize > SizeOfRawData, measure extra zeros to take into
account the extra zeros also measured by the stub.
Ivan Kruglov [Fri, 11 Oct 2024 14:26:38 +0000 (16:26 +0200)]
machine: rework Operation logic to reuse in varlink interface
Lennart Poettering [Mon, 21 Oct 2024 14:37:28 +0000 (16:37 +0200)]
Merge pull request #34403 from poettering/askpw-per-user
modernize the ask-password logic, and add unpriv askpw agents to the concept
Lennart Poettering [Mon, 21 Oct 2024 14:35:49 +0000 (16:35 +0200)]
Merge pull request #34787 from yuwata/core-ip-address-allow-deny
core/cgroup: fix IPAddressAllow=/IPAddressDeny= set through DBus
Luca Boccassi [Mon, 21 Oct 2024 13:26:05 +0000 (14:26 +0100)]
mkosi: update opensuse commit reference
It was force-pushed again
Lennart Poettering [Mon, 21 Oct 2024 09:10:35 +0000 (11:10 +0200)]
varlinkctl: respect $COLUMNS when rebreaking lines and we are not connected to a TTY
Let's provide a mechanism to select the number of screen columns for
rebreaking comments in Varlink IDL connected to a TTY, by honouring the
$COLUMNS env var then too. Previously we'd only honour when connected to
a TTY, but it's also useful otherwise for rebreaking ridiculously long
comments, hence honour it in this case too.
Lennart Poettering [Mon, 21 Oct 2024 12:10:52 +0000 (14:10 +0200)]
tty-askpw-agent: modernize wall_tty_match() a bit
Lennart Poettering [Fri, 18 Oct 2024 19:36:34 +0000 (21:36 +0200)]
ask-password-api: don't accidentally create a dir, when we don't want one
Previously, we were using touch(), which usually works fine, because the
path should always refer to an existing directory, in which case it just
updates the timestamp. However, if the dir does not exist yet (which
shouldn't happen), it would be created as regular file, which is just
wrong.
Hence, let's instead create the dir as dir if it is missing, and then
update its timestamp.
Lennart Poettering [Fri, 13 Sep 2024 12:55:49 +0000 (14:55 +0200)]
man: update PASSWORD_AGENTS spec, and introduce unpriv pw queries
Fixes: #1232 #2217
Lennart Poettering [Fri, 13 Sep 2024 11:45:08 +0000 (13:45 +0200)]
ask-password-tool: add --user/--system flag to systemd-ask-password tool
This allows selecting which agents to ask about this: system-level
agents, or per-user agents.
Fixes: #1232 #2217
Lennart Poettering [Fri, 13 Sep 2024 11:53:35 +0000 (13:53 +0200)]
ask-password-api: add support for querying pws from unpriv agents
Lennart Poettering [Fri, 13 Sep 2024 11:49:25 +0000 (13:49 +0200)]
ask-password-api: minor modernizations
Lennart Poettering [Fri, 13 Sep 2024 11:54:36 +0000 (13:54 +0200)]
tty-ask-password-agent: support for watching both system-wide and per-user askpw dir
Fixes: #1232 #2217
Lennart Poettering [Fri, 13 Sep 2024 09:06:28 +0000 (11:06 +0200)]
tty-ask-password-agent: minor modernizations
Lennart Poettering [Fri, 13 Sep 2024 09:40:11 +0000 (11:40 +0200)]
core: modernize askpw handling a bit
Lennart Poettering [Mon, 21 Oct 2024 10:36:43 +0000 (12:36 +0200)]
Merge pull request #33398 from AdrianVovk/sysupdate-optional
sysupdate: Add support for optional features
Lennart Poettering [Mon, 21 Oct 2024 10:34:24 +0000 (12:34 +0200)]
Merge pull request #34667 from rpigott/resolved-bypass
resolve: fixes for sd-resolved bypass
Adrian Vovk [Fri, 18 Oct 2024 22:11:47 +0000 (18:11 -0400)]
sysupdate: Use camelCase for JSON field names
Seems like we missed some snake_case field names in previous reviews of
systemd-sysupdate
Daan De Meyer [Fri, 4 Oct 2024 08:22:37 +0000 (10:22 +0200)]
measure: Take SizeOfImage into account as well for .linux section
Same change as https://github.com/systemd/systemd/pull/34583 but for
systemd-measure. Otherwise we end up with PCR policy digest mismatches
as systemd-stub will measure the full virtual size of the kernel image
after it has been loaded while systemd-measure will disregard the extra
size introduced by SizeOfImage.
While ideally the stub would only measure the data that's actually on
disk and not the uninitialized data introduced by VirtualSize > SizeOfRawData,
we want newer systemd-measure to work with older stubs so we have to fix
systemd-measure and can't fix this in the stub.
Ronan Pigott [Fri, 11 Oct 2024 05:40:03 +0000 (22:40 -0700)]
test: exercise bypass mode on the sd-resolved stub
A basic test will verify that we provide the right flags.
Ronan Pigott [Sat, 12 Oct 2024 17:00:56 +0000 (10:00 -0700)]
resolved: update condition for caching full packets
Previously a full packet was cached only if the CD bit was set, but this
no longer corresponds to the cases where bypass is enabled.
Update the cache to retain a full packet in the cases where it might
actually be useful.
Ronan Pigott [Sat, 19 Oct 2024 04:10:57 +0000 (21:10 -0700)]
resolved: enable CD bit without DO set
This is useful for a validating resolver to indicate to a non-validating
resolver when checking was disabled for the query. This matches the
behavior of the major public resovlers in response to queries with CD bu
tnot DO set.
Ronan Pigott [Mon, 7 Oct 2024 18:05:18 +0000 (11:05 -0700)]
resolved: authenticate bypass queries
Following
13e15dae9f0b, resolved does not forward the AD bit for bypass
queries, but resolved also didn't do it's own validation, making these
replies appear to never be authentic. We should enable validation for
bypass queries.
Let's disable our own validation when processing a +cd query, and also
ensure that it skips the cache so that we don't accidentally fail to
return inauthentic replies from upstream.
Previously, when we had a bypass transaction without cd, a cached,
authenticated, reply with cd could be served, leaving the cd bit
erroneously set in the reply. Only reply with a CD bit if the client
requested it.
Fixes:
13e15dae9f0b (resolved: clear the AD bit for bypass packets)
Yu Watanabe [Fri, 11 Oct 2024 17:44:22 +0000 (02:44 +0900)]
TEST-55-OOMD: workaround for kernel regression in 6.12-rcX
This ignore failures when running on kernel-6.12-rcX, which has a
regression in the kernel scheduler that breaks PSI.
From https://github.com/systemd/systemd/issues/32730#issuecomment-
2415312260
> There is a known scheduler bug in 6.12 that breaks psi. It leaks
> "running tasks" counts, which matches your symptoms of seeing partial
> pressure only.
>
> Do you see "inconsistent task state" warnings in dmesg | grep psi?
>
> A fix is queued in the scheduler tree, should be sent to Linus shortly:
> https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=
c6508124193d42bbc3224571eb75bfa4c1821fbb
Workaround for #32730.
Adrian Vovk [Fri, 5 Jul 2024 00:03:09 +0000 (20:03 -0400)]
updatectl: Introduce optional feature verbs
This introduces a nice UX for listing, inspecting, enabling, and
disabling optional features from the command line.
Adrian Vovk [Tue, 2 Jul 2024 18:41:31 +0000 (14:41 -0400)]
sysupdated: Plumb through optional features
This adds APIs to enumerate/inspect/enable/disable optional features.
Adrian Vovk [Wed, 3 Jul 2024 21:49:36 +0000 (17:49 -0400)]
sysupdate: Add verb to inspect features
Adrian Vovk [Tue, 2 Jul 2024 18:56:27 +0000 (14:56 -0400)]
sysupdate: Add tests for optional features
Makes sure we don't regress on #33343 and #33344
Adrian Vovk [Sat, 22 Jun 2024 18:48:50 +0000 (14:48 -0400)]
sysupdate: Introduce optional features
Optional features allow distros to define sets of transfers that can
be enabled or disabled by the system administrator. This is useful for
situations where a distro may want to ship some resources version-locked
to the core OS, but many people have no need for the resource, such as:
development tools/compilers, drivers for specialized hardware, language
packs, etc
We also rename sysupdate.d/*.conf -> sysupdate.d/*.transfer, because
now there are more than one type of definition in sysupdate.d/. For
backwards compat, we still load *.conf files as long as no *.transfer
files are found and the *.conf files don't try to declare themselves
as part of any features
Fixes https://github.com/systemd/systemd/issues/33343
Fixes https://github.com/systemd/systemd/issues/33344
Adrian Vovk [Fri, 18 Oct 2024 21:57:42 +0000 (17:57 -0400)]
fs-util: Introduce symlinkat_idempotent
Yu Watanabe [Fri, 18 Oct 2024 17:15:01 +0000 (02:15 +0900)]
Merge pull request #34820 from poettering/dissect-image-uclean
dissect-image: generate better log message for EUCLEAN dissect error
Zbigniew Jędrzejewski-Szmek [Fri, 18 Oct 2024 16:44:05 +0000 (18:44 +0200)]
Merge pull request #34783 from keszybz/man-nspawn-private-users
Change systemd-nspawn man page to strongly recommend private users
Zbigniew Jędrzejewski-Szmek [Tue, 15 Oct 2024 16:54:28 +0000 (18:54 +0200)]
tree-wise: use "lightweight" spelling
Both spellings were used, but the dictionary says that "lightweight"
is the standard spelling.