Luca Boccassi [Tue, 19 Sep 2023 23:06:21 +0000 (00:06 +0100)]
env-util: add helper to replace env block
Luca Boccassi [Mon, 2 Oct 2023 22:30:19 +0000 (23:30 +0100)]
test: add space-separated test for LogFilterPatterns
Luca Boccassi [Tue, 10 Oct 2023 17:50:36 +0000 (18:50 +0100)]
core: fix checking for extension-releases for ExtensionImages/Directories
The parsing is done after the image has been opened, not before, as it
cannot be done on an block device. Also fix returning on any error for
ExtensionDirectories, not just ENOENT.
Follow-up for
55ea4ef096543d2bceea9315868d5aca945d7a57
Lennart Poettering [Wed, 11 Oct 2023 21:28:55 +0000 (23:28 +0200)]
update TODO
Reto Schneider [Tue, 10 Oct 2023 12:49:22 +0000 (14:49 +0200)]
man/systemd.exec: Update service result table
exec-condition and oom-kill were added without updating this table.
Zbigniew Jędrzejewski-Szmek [Fri, 8 Sep 2023 16:19:36 +0000 (18:19 +0200)]
hibernate-resume: remove kernel/image version comparison when resuming
We already had a similar check that was removed, see
8340b762e4f597e98a72de1385e74b9be04e521d (*). The kernel supports loading of a
resume image from a different kernel version. This makes sense, because the
goal of "resume" is to replace the running system by a saved memory image, so
it doesn't really matter that the short-lived kernel is different.
By removing the check, we make the process more reliable: for example, the user
may select a different kernel from a list, or not have the previously running
kernel in /boot at all, etc. Requiring the exact same kernel version makes the
process more fragile for no benefit.
Similar reasoning holds for the image version: the image may be updated, and
for example an older kernel+initrd might be used, with an embedded VERSION_ID
that is not the latest. This is fine, and the check is not useful.
I left the check for ID/IMAGE_ID: we probably don't want to use the resume
image if the hibernation was done from a different installation.
(Note: why not check VERSION_ID/IMAGE_VERSION? Because of the following
scenario: a user has an installation of Fedora 35, and they upgrade to Fedora
36, which means that the os-release file on disk gets replaced and now
specifies VERSION_ID=36. But the running kernel is not replaced, and its
package is not removed because the running kernel version is never removed, so
we still have a boot entry that in initrd-release says VERSION_ID=35. Without
rebooting, the user does hibernation. When resuming, we want to resume, no
matter if one of the new entries with VERSION_ID=36 or one of the old entries
with VERSION_ID=35 is picked in the boot loader menu.
If the installation is image-based, i.e. it has IMAGE_ID+IMAGE_VERSION, the
situation is similar: after an upgrade, we may still have an boot entry from
before the upgrade. Using an older kernel+initrd to boot and switch-root into a
newer installation is supported and is rather common.
In fact, it is a rather common situation that the version reported by the boot
entry (or stored internally in the initrd-release in the initrd) does not match
the actual system on disk. Generally, this metadata is saved when the boot menu
entry is written and does not reflect subsequent upgrades. Various
distributions generally keep at least 3 kernels after a upgrade, and during an
upgrade only install one new, which means that after a major upgrade, generally
there will be at least two kernels which have mismatched version information.)
OTOH, I think it is useful to *write* all the details to the EFI var. As
discussed in https://github.com/systemd/systemd/issues/29037, we may want to
show this information in the boot loader. It is also useful for debugging.
(*) Also again discussed and verified in
https://github.com/systemd/systemd/pull/27330#discussion_r1234332080.
", ignored" is dropped, since this failure is likely to cause the following
check to fail. Better not to say anything then to say the misleading thing.
Jordan Williams [Wed, 11 Oct 2023 18:32:49 +0000 (13:32 -0500)]
Revert "Revert "meson: use c_args in generator scripts (#10289)""
This reverts commit
0e3cc902faec4f18d5fa606396f602b08bc94e27.
Fixes #10288.
I have confirmed that this does now fix cross-compilation.
It appears that changes upstream in Meson, probably mesonbuild/meson#5263, have made the original MR, #10289, work now.
This needs to be tested to ensure that it doesn't break Travis CI like when it was reverted in #10361.
Lennart Poettering [Thu, 12 Oct 2023 08:43:24 +0000 (10:43 +0200)]
Merge pull request #29523 from keszybz/kernel-install-dtb-files
Do not look for dtb files in /boot, add support in 60-ukify.install
Yu Watanabe [Thu, 12 Oct 2023 04:06:54 +0000 (13:06 +0900)]
Merge pull request #29472 from yuwata/network-dhcp-ipv6-only-mode
network/dhcp: add IPv6 only mode support
Michael Biebl [Wed, 11 Oct 2023 20:01:39 +0000 (22:01 +0200)]
test: use kill-whom instead of kill-who (the latter is deprecated)
Mike Yuan [Wed, 11 Oct 2023 18:36:37 +0000 (02:36 +0800)]
Merge pull request #29537 from poettering/varlink-tweaks
varlink: some smaller usability tweaks + bugfixes
Mike Yuan [Wed, 11 Oct 2023 15:16:19 +0000 (23:16 +0800)]
core/exec-credential: use rmdir_and_freep at one more place
Yu Watanabe [Wed, 11 Oct 2023 13:58:49 +0000 (22:58 +0900)]
core/execute: suppress logs if LogLevelMax= is specified
Fixes #29532.
Daan De Meyer [Mon, 9 Oct 2023 14:06:50 +0000 (16:06 +0200)]
sd-device: Support matching all properties
Let's support enumerating over devices that match all of the given
properties instead of any of the given properties by adding a new
function sd_device_enumerator_add_match_property_required() which
specifies properties that should all be matched instead of just one.
Fixes #28372
Lennart Poettering [Wed, 11 Oct 2023 14:51:08 +0000 (16:51 +0200)]
update TODO
Lennart Poettering [Wed, 11 Oct 2023 15:01:46 +0000 (17:01 +0200)]
varlink: use the right validator for error replies
Lennart Poettering [Wed, 11 Oct 2023 14:59:59 +0000 (16:59 +0200)]
varlink: didn't generate a varlink error reply if a failed method call handler already did
It might happen that a method call handler already generated an error
reply and then still propagated the error back to the varlink logic.
Let's not try to generate a 2nd reply from that error code then, but
simply proceed without. This simplifies handling of errors in method
call handlers, because they can uniformly return errno-style error
codes, and only if they want return a full Varlink errror.
Lennart Poettering [Wed, 11 Oct 2023 14:59:24 +0000 (16:59 +0200)]
varlink: don't bother replying about validation errors on method calls with 'oneway' set
Lennart Poettering [Wed, 11 Oct 2023 14:51:30 +0000 (16:51 +0200)]
varlink: automatically send ExpectedMore error message back when we were called without more=true set, but need it
Various Varlink calls only make sense if they are called with more=true
(i.e. in a mode where multiple replies are expected to be sent). If a
method call assumes it is called with more (manifested in the fact it
calls varlink_notify(), the call to reply to such messages) let's return
a recognizable error code for the violated expectation.
This adds a new error for this, org.varlink.service.ExpectedMore. Note
we are squatting the official org.varlink.service namespace, but for
such a basic thing it makes sense to add it there.
Zbigniew Jędrzejewski-Szmek [Tue, 10 Oct 2023 17:41:35 +0000 (19:41 +0200)]
kernel-install/60-ukify: also support the convention with 'devicetree' file
Requested in https://github.com/systemd/systemd/pull/28582#issuecomment-
1673300596.
The is the last requested changed, so fixes #28771.
90-loaderentry.install is modified to also check $KERNEL_INSTALL_CONF_ROOT
when looking for the devicetree file. For normal use this is probably not
needed, but it's nice to be consistent and it also makes it much easier to
write the tests.
In tests, also do 'ukify inspect' now that we have it.
Zbigniew Jędrzejewski-Szmek [Tue, 10 Oct 2023 17:39:59 +0000 (19:39 +0200)]
ukify: fix .dtb section name in 'inspect'
Fixup for
df4a46733a609f1673de0bebb38e89fffd70c16c.
Zbigniew Jędrzejewski-Szmek [Tue, 10 Oct 2023 16:53:55 +0000 (18:53 +0200)]
kernel-install/60-ukify: add helper function for locating input files
Also rename config_file_location() to uki_conf_location() to make
it obvious which config file was meant.
Zbigniew Jędrzejewski-Szmek [Wed, 11 Oct 2023 15:34:43 +0000 (17:34 +0200)]
man/kernel-install: fix formatting and document /etc/kernel/devicetree
Each filename should be a separate <term>, so that they separated in the
formatted text. Also, we list files in documentation in priority order, but
here they were in reverse order. Also, rework the description of
$KERNEL_INSTALL_CONF_ROOT to say that it makes kernel-install not look at the
other files. This requires some more words, so make this a separate paragraph
and refer from individual items to it. Also, drop some sentences with "Read by
...", they were already outdated.
Partial fix for #28771.
Co-authored-by: Emil Renner Berthing <systemd@esmil.dk>
Zbigniew Jędrzejewski-Szmek [Tue, 10 Oct 2023 14:32:16 +0000 (16:32 +0200)]
kernel-install/90-loaderentry: do not read dtbs from /boot
/boot is not trusted, so we shouldn't use load files from there. Also, space in
/boot is limited, so it doesn't make sense to install the files under one
location there and then copy them to a different location. We should only copy
the files from /usr somewhere and then install it in the appropriate place under
/boot.
Also use "/usr/lib" instead of the "/lib" prefix. We don't support unmerged-user
anymore.
Addresses some of the feedback in
https://github.com/systemd/systemd/pull/28582#discussion_r1285820556.
PhylLu [Wed, 11 Oct 2023 01:41:29 +0000 (09:41 +0800)]
timedate: Extend timeout for setting NTP
One of the steps in setting up NTP is to enable/disable the
'systemd-timesyncd.service' and then perform a daemon reload.
we use an extra-long timeout for reload in timedated as same as used in
systemd daemon reload to avoiding certain situation have longer reload
times (which exceed the 25 second default timeout used for
dbus-communication), potentially leading to setting NTP failure.
Michal Sekletar [Wed, 11 Oct 2023 13:28:19 +0000 (15:28 +0200)]
dns-domain: fix the RFC reference
Yu Watanabe [Fri, 6 Oct 2023 05:11:07 +0000 (14:11 +0900)]
test-network: add tests for DHCP IPv6 only mode
For [DHCPv4] IPv6OnlyMode= and [DHCPServer] IPv6OnlyPreferredSec=.
Yu Watanabe [Wed, 20 Sep 2023 05:29:06 +0000 (14:29 +0900)]
network/dhcp4: support IPv6 only mode (RFC 8925)
Co-authored-by: Susant Sahani <ssahani@gmail.com>
Yu Watanabe [Wed, 20 Sep 2023 05:02:51 +0000 (14:02 +0900)]
sd-dhcp-client: support IPv6 only mode
This makes sd-dhcp-client optionally request IPv6 only preferred
option (RFC 8925).
Susant Sahani [Wed, 20 Sep 2023 01:14:07 +0000 (10:14 +0900)]
network/dhcp-server: allow to configure IPv6 only preferred option
Co-authored-by: Yu Watanabe <watanabe.yu+github@gmail.com>
Susant Sahani [Wed, 20 Sep 2023 00:50:02 +0000 (09:50 +0900)]
sd-dhcp-server: support IPv6 only mode
This makes sd-dhcp-server send IPv6 only preferred option (RFC 8925).
Co-authored-by: Yu Watanabe <watanabe.yu+github@gmail.com>
Mike Yuan [Wed, 11 Oct 2023 12:29:00 +0000 (20:29 +0800)]
Merge pull request #29530 from poettering/debug-log-tweaks
pid1: various debug logging tweaks
Lennart Poettering [Wed, 11 Oct 2023 08:41:49 +0000 (10:41 +0200)]
doc: readd vanished ```
This disappeared in
1e8f5f79e1b6ae2b4115df280c626b71c54a5bb6, let's
restore it.
Lennart Poettering [Wed, 11 Oct 2023 09:26:25 +0000 (11:26 +0200)]
killall: suppress debug log if some cgroup doesn't have survive_final_kill_signal xattr set
This is the default case, hence really no reason to be noisy about that.
Lennart Poettering [Wed, 11 Oct 2023 09:22:49 +0000 (11:22 +0200)]
bpf-lsm: suppress noisy debug log message if we remove a unit from the bpf-lsm table where it was never added
There's really no point in logging about one of the most common cases we
have: that no BPF-LSM policy was installed for a specific unit.
Lennart Poettering [Wed, 11 Oct 2023 09:11:12 +0000 (11:11 +0200)]
fdset: improve debug logging for left-over fds
Let's show which fds are closed as part of the left-over fd set logic on
daemon reload/reexec cycles.
This is useful to debug accidentally unclaimed fds.
Luca Boccassi [Tue, 10 Oct 2023 22:08:23 +0000 (23:08 +0100)]
docs: clarify difference between kernel stub and sd-stub in UEFI doc
Lennart Poettering [Wed, 11 Oct 2023 09:09:09 +0000 (11:09 +0200)]
limits-util: suppress noisy debug message when reading tasks in top-level cgroup
We have the "tasks.max" cgroup attribute only if we run in a cgroup
namespace, but not on the host. Hence let's handle ENODATA silently
simply to reduce the debug noise generated.
Lennart Poettering [Wed, 11 Oct 2023 08:47:01 +0000 (10:47 +0200)]
Merge pull request #29427 from ddstreet/cryptenroll_specify_handle_index
Cryptenroll specify handle index
Roland Hieber [Tue, 10 Oct 2023 09:34:20 +0000 (11:34 +0200)]
sd-gpt: add defines for big-endian MIPS/MIPS64
According to the respective change in the DPS:
<https://github.com/uapi-group/specifications/pull/86>
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Lennart Poettering [Tue, 10 Oct 2023 19:36:50 +0000 (21:36 +0200)]
namespace: make setup_namespace() less crazy
Let's replace the ridiculous number of arguments with a structure, to
make this function less weird.
No change in behaviour, just some refactoring.
Lennart Poettering [Tue, 10 Oct 2023 13:51:38 +0000 (15:51 +0200)]
docs: document that in future we'll do EV_EVENT_TAG only, no EV_IPL
Mike Yuan [Tue, 10 Oct 2023 14:08:36 +0000 (22:08 +0800)]
loginctl: *-status: set minimum table column width if extra info will be printed
Follow-up for
bf366954fa09070f6c3e1e630f57d20463fc5739
Before this commit, we hardcode "prefix" to the widest field
possible in the table. However, there's no guarantee that the
field would actually be used/added, so it could potentially
result in misalignment. Therefore, let's set the minimum width
of the cell to the hardcoded width too.
Mike Yuan [Mon, 9 Oct 2023 11:02:25 +0000 (19:02 +0800)]
networkctl: use proper vertical table for status
Also modernize macro definition and error handling.
Dan Streetman [Tue, 10 Oct 2023 20:55:39 +0000 (16:55 -0400)]
tpm2: don't use GetCapability() to check transient handles
The kernel tpm "resource manager" interface doesn't report that any transient
handles exist, even if they do, so don't bother asking if the handle is
transient.
Laszlo Gombos [Tue, 10 Oct 2023 13:45:20 +0000 (09:45 -0400)]
man: fix example for systemd.swap-extra
Lennart Poettering [Tue, 10 Oct 2023 14:05:28 +0000 (16:05 +0200)]
dissect: don't show non-JSON arch + sector size in JSON mode
Abderrahim Kitouni [Mon, 9 Oct 2023 19:28:27 +0000 (20:28 +0100)]
doc-sync: add support for uploading the documentation for main
It will refuse running on any other branch than main or stable branches.
Also update the release instructions to run it on the stable branch.
Mike Yuan [Tue, 10 Oct 2023 10:08:08 +0000 (18:08 +0800)]
man/systemd.exec: document behavior of SetLoginEnvironment= when unset
Follow-up for
854eca4a95993bb1bd77a18de39efe1ed1a44bbd
Addresses https://github.com/systemd/systemd/pull/29493#discussion_r1351980046
Dan Streetman [Mon, 9 Oct 2023 16:27:10 +0000 (12:27 -0400)]
tpm2: do not call Esys_TR_Close()
Unfortunately, the tpm2-tss library doesn't reference count handles, and a call
to Esys_TR_Close() will remove the handle that could be in use by other
code. So stop calling Esys_TR_Close(), and leave the handle around until we
cleanup the entire ESYS_CONTEXT.
Dan Streetman [Fri, 6 Oct 2023 15:14:25 +0000 (11:14 -0400)]
test: add tests for systemd-cryptenroll --tpm2-seal-key-handle
In TEST-70-TPM2, test systemd-cryptenroll --tpm2-seal-key-handle using the
default (0) as well as the SRK handle (0x81000001), and test using a non-SRK
handle index after creating and persisting a primary key.
In test/test-tpm2, test tpm2_seal() and tpm2_unseal() using default (0), the SRK
handle, and a transient handle.
Dan Streetman [Fri, 21 Jul 2023 19:49:16 +0000 (15:49 -0400)]
cryptenroll: allow specifying handle index of key to use for sealing
This defaults to the SRK index.
Lennart Poettering [Tue, 10 Oct 2023 08:16:07 +0000 (10:16 +0200)]
Merge pull request #29493 from YHNdnzj/unit-always-set-user-home
core/execute: always set $USER and introduce SetLoginEnvironment=
Luca Boccassi [Tue, 10 Oct 2023 07:59:33 +0000 (08:59 +0100)]
Merge pull request #29507 from abderrahim/doc-sync-improvement
Improvements to the doc-sync target
Luca Boccassi [Tue, 10 Oct 2023 07:58:54 +0000 (08:58 +0100)]
Merge pull request #28699 from bluca/dtb_addon
stub: add support for dtb addons
Luca Boccassi [Fri, 6 Oct 2023 22:42:27 +0000 (23:42 +0100)]
Update TODO
Luca Boccassi [Fri, 6 Oct 2023 22:41:10 +0000 (23:41 +0100)]
boot: measure loader.conf in PCR5
Results in:
- EventNum: 26
PCRIndex: 5
EventType: EV_EVENT_TAG
DigestCount: 4
Digests:
- AlgorithmId: sha1
Digest:
155fb999ca61ba8c7b1f1d87cee821f772ef084a
- AlgorithmId: sha256
Digest:
4c26adf231603613afc00bb3d5cad046aec6a525ca01262417c7085caab452b5
- AlgorithmId: sha384
Digest: 3e0758cb6605ac274e55d747bf29ee3474fc4413cd5e7a451d1375219cd7f08a30fc915a8df7131657ca78b82b9ccec8
- AlgorithmId: sha512
Digest: e32d905b9092c543802f386db9a397d9b6593bdb8360fb747a6d23e491a09595fec8699184cc790d0873a3d52ed16d045538f0c73ece48278fae0fb6ed9b4ed6
EventSize: 32
Event:
2a58bcf5180000006c006f0061006400650072002e0063006f006e0066000000
Luca Boccassi [Sat, 23 Sep 2023 23:34:58 +0000 (00:34 +0100)]
stub: measure all cmdline addons together
Luca Boccassi [Mon, 7 Aug 2023 00:05:18 +0000 (01:05 +0100)]
stub: add support for dtb addons
Same as kernel command line addons.
Luca Boccassi [Sat, 23 Sep 2023 17:29:32 +0000 (18:29 +0100)]
Move CLEANUP_ARRAY to src/fundamental
Luca Boccassi [Sat, 12 Aug 2023 22:14:13 +0000 (23:14 +0100)]
efi: add xmemdup
Luca Boccassi [Mon, 2 Oct 2023 00:17:58 +0000 (01:17 +0100)]
efi: add EFI_TCG2_TAGGED_EVENT and helpers
Luca Boccassi [Thu, 28 Sep 2023 10:56:27 +0000 (11:56 +0100)]
mkosi: use different configs for Debian kernel package list
The kernel package is named after the architecture, so builds will
fail if mkosi --architecture arm64 is used
Frantisek Sumsal [Mon, 9 Oct 2023 08:35:08 +0000 (10:35 +0200)]
test: make the DDI tests work with older openssl
Older openssl unfortunately insists on having a config file with certain
fields, so let's reuse the one we already create in previous tests.
Should address following error on C8S:
[ 407.812039] testsuite-50.sh[654]: + openssl req -config /dev/null -subj=/CN=waldo -x509 -sha256 -nodes -days 365 -newkey rsa:4096 -keyout /tmp/test-50-privkey.key -out /tmp/test-50-cert.crt
[ 407.849089] testsuite-50.sh[2325]: Generating a RSA private key
[ 408.947853] testsuite-50.sh[2325]: ..................................++++
[ 423.100903] testsuite-50.sh[2325]: ..........++++
[ 423.111036] testsuite-50.sh[2325]: writing new private key to '/tmp/test-50-privkey.key'
[ 423.115036] testsuite-50.sh[2325]: -----
[ 423.117842] testsuite-50.sh[2325]: unable to find 'distinguished_name' in config
[ 423.120863] testsuite-50.sh[2325]: problems making Certificate Request
[ 423.123448] testsuite-50.sh[2325]:
140737354091984:error:
0E06D06C:configuration file routines:NCONF_get_string:no value:crypto/conf/conf_lib.c:273:group=req name=distinguished_name
Follow-up to
99d9edf0bde.
Luca Boccassi [Mon, 9 Oct 2023 14:56:37 +0000 (15:56 +0100)]
dissect: avoid clobbering device-mapper error when activating verity
The device-mapper driver can return a wild variety of errors when trying
to activate the same dm-verity volume concurrently, as it might happen
with an image. There is a fallback logic in place, but the original
return code was clobbered when userspace signature check was added.
Add it back.
Follow-up for
c2fa92e7e8907d9
Abderrahim Kitouni [Mon, 9 Oct 2023 16:43:31 +0000 (17:43 +0100)]
doc-sync: automatically detect whether we're updating the latest version
also update the release instructions to push release candidates to -stable
Abderrahim Kitouni [Mon, 9 Oct 2023 16:41:49 +0000 (17:41 +0100)]
doc-sync: add man/ to the passed directory
This mirrors the behaviour before multiple version support
Mike Yuan [Sat, 7 Oct 2023 12:08:21 +0000 (20:08 +0800)]
core/execute: always set $USER and introduce SetLoginEnvironment=
Before this commit, $USER, $HOME, $LOGNAME and $SHELL are only
set when User= is set for the unit. For system service, this
results in different behaviors depending on whether User=root is set.
$USER always makes sense on its own, so let's set it unconditionally.
Ideally $HOME should be set too, but it causes trouble when e.g. getty
passes '-p' to login(1), which then doesn't override $HOME. $LOGNAME and
$SHELL are more like "login environments", and are generally not
suitable for system services. Therefore, a new option SetLoginEnvironment=
is also added to control the latter three variables.
Fixes #23438
Replaces #8227
Mike Yuan [Sun, 8 Oct 2023 05:44:37 +0000 (13:44 +0800)]
core/execute: modernize get_fixed_{user,group}
No functional change, preparation for later commit.
Mike Yuan [Sun, 8 Oct 2023 05:35:30 +0000 (13:35 +0800)]
core/execute: use FOREACH_ARRAY in one more place
Abderrahim Kitouni [Tue, 3 Oct 2023 19:00:19 +0000 (20:00 +0100)]
man: support multiple versions of the documentation on the website
This changes the doc-sync meson target from a simple rsync command to a
script that:
* puts the documentation in a subdirectory according to the version
* injects a bit of javascript to add a drop-down to switch between versions
* updates an index.json file with the newly uploaded version
* keeps the latest/ directory up to date with the latest version
* supports a --no-latest switch to be used when uploading older versions
Luca Boccassi [Sun, 8 Oct 2023 21:46:44 +0000 (22:46 +0100)]
Merge pull request #29495 from yuwata/network-manager-state-file
network: fixlets for manager state file
Luca Boccassi [Sun, 8 Oct 2023 21:31:26 +0000 (22:31 +0100)]
Merge pull request #29490 from yuwata/network-tc-fixes
network: several fixes for traffic control support
Martin Beneš [Sun, 8 Oct 2023 13:29:14 +0000 (22:29 +0900)]
add udev rule for micmute (f20)
Yu Watanabe [Sun, 8 Oct 2023 07:30:48 +0000 (16:30 +0900)]
test-network: add test for DHCPv6 information requesting mode
For issue #28566.
Yu Watanabe [Sun, 8 Oct 2023 07:20:15 +0000 (16:20 +0900)]
network/dhcp6: keep lease when running in information request mode
Fixes #28566.
Yu Watanabe [Sun, 8 Oct 2023 07:18:26 +0000 (16:18 +0900)]
network/dhcp6: shorten dhcp6_handler()
Note, currently dhcp6_lease_information_acquired() do nothing, so this
does not change any behavior.
Yu Watanabe [Sun, 8 Oct 2023 04:28:32 +0000 (13:28 +0900)]
test-network: test for NTP servers by DHCPv6 protocol
For issue #29148.
Yu Watanabe [Sun, 8 Oct 2023 04:06:25 +0000 (13:06 +0900)]
network: also save NTP servers and friends obtained by other protocols
Previously, only servers that statically configursd or obtained by
DHCPv4 protocol are saved in the manager state file.
NTP servers obtained by DHCPv6 could not be used by timesyncd.
Fixes #29148.
Piotr Drąg [Sat, 7 Oct 2023 14:54:04 +0000 (16:54 +0200)]
po: add a false positive to POTFILES.skip
Scripts used to detect files that should be in POTFILES.in, like
intltool-update -m used on https://l10n.gnome.org/module/systemd/,
falsely detect this file as containing translations. Avoid this
behavior by putting the file in POTFILES.skip.
Lennart Poettering [Fri, 6 Oct 2023 17:04:00 +0000 (19:04 +0200)]
core: refactor compare_job_priority()
Let's move it out of cgroup.[ch]. The function primarily compares the
priority values for units, hence let's move the core of it into a new
function unit_compare_priority() in unit.[ch], and then make
compare_job_priority() a local wrapper for it in manager.[ch]
Shorten the code a bit while we are at it.
Yu Watanabe [Sat, 7 Oct 2023 13:18:14 +0000 (22:18 +0900)]
Merge pull request #29482 from poettering/cgroup-func-rename
core: various clean-ups in cgroup.[ch] and around
Yu Watanabe [Sat, 7 Oct 2023 06:06:37 +0000 (15:06 +0900)]
test-network: extend testcase for tbf
For issue #29485.
Yu Watanabe [Sat, 7 Oct 2023 06:09:13 +0000 (15:09 +0900)]
network/tc: support Parent=X:0 for qdiscs
When the minor part of the parent handle is zero, let's check if the
corresponding qdisc exists, rather than tc class.
Yu Watanabe [Sat, 7 Oct 2023 05:37:31 +0000 (14:37 +0900)]
network/tc: allow to configure class or qdisc under foreign one
Some qdiscs (e.g. tbf) implicitly create class(es) on create.
Previously, we could not create any child qdisc under the class, as the
implicit class is tagged as foreign.
Yu Watanabe [Sat, 7 Oct 2023 05:25:50 +0000 (14:25 +0900)]
network/tc: re-enumerate traffic control classes when a qdisc created
Some kind of qdisc implicitly creates a class for the qdisc, but the
created class is not notified by the kernel. So, we need to explicitly
enumerate classes after a qdisc is created.
Yu Watanabe [Sat, 7 Oct 2023 05:24:34 +0000 (14:24 +0900)]
network/tc: fix enumeration logic of traffic control classes
TC class can be enumerated only per link.
Yu Watanabe [Sat, 7 Oct 2023 05:20:38 +0000 (14:20 +0900)]
network/tc: drop child tree of traffic control nodes on remove
When a node of traffic control tree is removed, all child nodes are also
removed but their removal are not notified by the kernel.
So, previously, removed TC classes or qdiscs under the removed node were
kept in the memory of networkd, and may cause failure on reconfigure.
Yu Watanabe [Sat, 7 Oct 2023 12:34:43 +0000 (21:34 +0900)]
network/tc: align vtables
Daan De Meyer [Sat, 7 Oct 2023 09:15:02 +0000 (11:15 +0200)]
Merge pull request #29491 from yuwata/varlink-follow-ups
varlink: several follow-ups
Yu Watanabe [Sat, 7 Oct 2023 07:11:32 +0000 (16:11 +0900)]
tree-wide: add missing sigbus handling
Yu Watanabe [Sat, 7 Oct 2023 06:53:44 +0000 (15:53 +0900)]
tree-wide: use path_simplify_alloc() more
Yu Watanabe [Sat, 7 Oct 2023 06:51:02 +0000 (15:51 +0900)]
varlink: drop unnecessary condition
When 'exec' is true, 'c' is always non-NULL.
Fixes CID#
1522384.
Yu Watanabe [Sat, 7 Oct 2023 06:48:19 +0000 (15:48 +0900)]
varlink: fix typo
Follow-ups for #29325.
Luca Boccassi [Fri, 6 Oct 2023 21:02:09 +0000 (22:02 +0100)]
Merge pull request #29475 from keszybz/remove-wrapper-functions
Remove unnecessary wrapper functions
Zbigniew Jędrzejewski-Szmek [Fri, 6 Oct 2023 16:54:03 +0000 (18:54 +0200)]
Merge pull request #29440 from evelikov/more-auto-entries
sd-boot: add auto-reboot and auto-poweroff entries
Lennart Poettering [Fri, 6 Oct 2023 16:38:22 +0000 (18:38 +0200)]
cgroup: rename cgroup_modify_nft_set() → unit_modify_nft_set()
This is the only function that cgroup.h exports that is prefixed with
cgroup_ where this does not refer to some type such as CGroupContext or
CGroupTasksMax or so. It simply operates on a unit. And it doesn't even
modify a cgroup, but just modifies an nft set.
Hence, to make the naming scheme systematic, change prefix from cgroup_
to unit_, matching the majority of the functions that operate on Unit*
in the file.
Lennart Poettering [Fri, 6 Oct 2023 16:36:03 +0000 (18:36 +0200)]
cgroup: un-export two functions
Lennart Poettering [Fri, 6 Oct 2023 16:24:46 +0000 (18:24 +0200)]
cgroup: refactor cgroup_xattr_apply()
Split the function up, so that each set of xattrs is applied separately.
Lennart Poettering [Fri, 6 Oct 2023 16:20:08 +0000 (18:20 +0200)]
cgroup: drop cgroup path parameter from xattr calls
We only pass the same thing there: u->cgroup_path or NULL (which is
ultimately the same as u->cgroup_path). Hence let's simplify things, and
simply drop the whole parameter, and imply u->cgroup_pat.