--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian....@packages.debian.org
Usertags: pu
X-Debbugs-Cc: pkg-systemd-maintain...@lists.alioth.debian.org
Dear Release Team,
We would like to upload the latest stable point release of systemd 252
to bookworm-p-u. Stable release branches are maintained upstream with
the intention of providing bug fixes only and no compatibility
breakages, and with automated non-trivial CI jobs that also cover
Debian and Ubuntu. I have already uploaded to p-u.
Packaging changes are refreshing patches and adding a missing
dependency for one autopkgtest suite, that should now result in a fully
green DebCI run. Attached debdiff excludes hwdb.d/ changes, which are
just a large number of hardware vendor/devices IDs and constitutes the
bulk of the changes. The list of commits included can be seen at:
https://github.com/systemd/systemd-stable/compare/v252.21...v252.22
--
Kind regards,
Luca Boccassi
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/debian/changelog systemd-252.22/debian/changelog
--- systemd-252.21/debian/changelog 2023-12-24 14:29:22.000000000 +0000
+++ systemd-252.22/debian/changelog 2024-01-26 21:48:36.000000000 +0000
@@ -1,3 +1,12 @@
+systemd (252.22-1~deb12u1) bookworm; urgency=medium
+
+ * d/t/control: add dependency on stress for upstream suite. Needed by
+ TEST-55-OOMD
+ * New upstream version 252.22
+ * Refresh patches
+
+ -- Luca Boccassi <bl...@debian.org> Fri, 26 Jan 2024 21:48:36 +0000
+
systemd (252.21-1~deb12u1) bookworm; urgency=medium
* New upstream version 252.21
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/debian/patches/debian/fsckd-daemon-for-inter-fsckd-communication.patch systemd-252.22/debian/patches/debian/fsckd-daemon-for-inter-fsckd-communication.patch
--- systemd-252.21/debian/patches/debian/fsckd-daemon-for-inter-fsckd-communication.patch 2023-12-24 14:29:22.000000000 +0000
+++ systemd-252.22/debian/patches/debian/fsckd-daemon-for-inter-fsckd-communication.patch 2024-01-26 21:48:26.000000000 +0000
@@ -239,10 +239,10 @@
+
+</refentry>
diff --git a/meson.build b/meson.build
-index b9f2c7e..d2b021d 100644
+index 27d95e7..9ace3e6 100644
--- a/meson.build
+++ b/meson.build
-@@ -3367,6 +3367,15 @@ executable(
+@@ -3368,6 +3368,15 @@ executable(
install : true,
install_dir : rootlibexecdir)
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/debian/patches/debian/Revert-core-one-step-back-again-for-nspawn-we-actual.patch systemd-252.22/debian/patches/debian/Revert-core-one-step-back-again-for-nspawn-we-actual.patch
--- systemd-252.21/debian/patches/debian/Revert-core-one-step-back-again-for-nspawn-we-actual.patch 2023-12-24 14:29:22.000000000 +0000
+++ systemd-252.22/debian/patches/debian/Revert-core-one-step-back-again-for-nspawn-we-actual.patch 2024-01-26 21:48:26.000000000 +0000
@@ -14,7 +14,7 @@
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/src/core/unit.c b/src/core/unit.c
-index 767e821..1f2651e 100644
+index 52df7ce..fb9a740 100644
--- a/src/core/unit.c
+++ b/src/core/unit.c
@@ -4646,16 +4646,7 @@ int unit_kill_context(
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/debian/patches/p11kit-switch-to-dlopen.patch systemd-252.22/debian/patches/p11kit-switch-to-dlopen.patch
--- systemd-252.21/debian/patches/p11kit-switch-to-dlopen.patch 2023-12-24 14:29:22.000000000 +0000
+++ systemd-252.22/debian/patches/p11kit-switch-to-dlopen.patch 2024-01-26 21:48:26.000000000 +0000
@@ -13,10 +13,10 @@
7 files changed, 202 insertions(+), 60 deletions(-)
diff --git a/meson.build b/meson.build
-index b250474..b9f2c7e 100644
+index 9de2309..27d95e7 100644
--- a/meson.build
+++ b/meson.build
-@@ -1461,8 +1461,10 @@ if want_p11kit != 'false' and not skip_deps
+@@ -1462,8 +1462,10 @@ if want_p11kit != 'false' and not skip_deps
version : '>= 0.23.3',
required : want_p11kit == 'true')
have = libp11kit.found()
@@ -718,10 +718,10 @@
}
diff --git a/test/test-functions b/test/test-functions
-index 29f346f..c169635 100644
+index 73fbef8..0ba7ce2 100644
--- a/test/test-functions
+++ b/test/test-functions
-@@ -1369,7 +1369,7 @@ install_missing_libraries() {
+@@ -1386,7 +1386,7 @@ install_missing_libraries() {
local lib path
# A number of dependencies is now optional via dlopen, so the install
# script will not pick them up, since it looks at linkage.
@@ -730,7 +730,7 @@
ddebug "Searching for $lib via pkg-config"
if pkg-config --exists "$lib"; then
path="$(pkg-config --variable=libdir "$lib")"
-@@ -1381,6 +1381,10 @@ install_missing_libraries() {
+@@ -1398,6 +1398,10 @@ install_missing_libraries() {
if ! [[ ${lib} =~ ^lib ]]; then
lib="lib${lib}"
fi
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/debian/tests/control systemd-252.22/debian/tests/control
--- systemd-252.21/debian/tests/control 2023-12-24 14:29:22.000000000 +0000
+++ systemd-252.22/debian/tests/control 2024-01-26 21:46:55.000000000 +0000
@@ -191,6 +191,7 @@
xkb-data,
locales,
locales-all,
+ stress,
Restrictions: needs-root, allow-stderr, isolation-machine
Tests: boot-smoke
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/factory/etc/pam.d/system-auth systemd-252.22/factory/etc/pam.d/system-auth
--- systemd-252.21/factory/etc/pam.d/system-auth 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/factory/etc/pam.d/system-auth 2024-01-26 21:35:39.000000000 +0000
@@ -13,7 +13,7 @@
account required pam_permit.so
-password sufficient pam_systemd_home.so
-password sufficient pam_unix.so sha512 shadow try_first_pass use_authtok
+password sufficient pam_unix.so sha512 shadow try_first_pass
password required pam_deny.so
-session optional pam_keyinit.so revoke
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/man/pam_systemd_home.xml systemd-252.22/man/pam_systemd_home.xml
--- systemd-252.21/man/pam_systemd_home.xml 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/man/pam_systemd_home.xml 2024-01-26 21:35:39.000000000 +0000
@@ -148,7 +148,7 @@
account required pam_permit.so
<command>-password sufficient pam_systemd_home.so</command>
-password sufficient pam_unix.so sha512 shadow try_first_pass use_authtok
+password sufficient pam_unix.so sha512 shadow try_first_pass
password required pam_deny.so
-session optional pam_keyinit.so revoke
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/man/pam_systemd.xml systemd-252.22/man/pam_systemd.xml
--- systemd-252.21/man/pam_systemd.xml 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/man/pam_systemd.xml 2024-01-26 21:35:39.000000000 +0000
@@ -318,8 +318,7 @@
account required pam_permit.so
-password sufficient pam_systemd_home.so
-password sufficient pam_unix.so sha512 shadow try_first_pass use_authtok
-
+password sufficient pam_unix.so sha512 shadow try_first_pass
password required pam_deny.so
-session optional pam_keyinit.so revoke
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/man/systemctl.xml systemd-252.22/man/systemctl.xml
--- systemd-252.21/man/systemctl.xml 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/man/systemctl.xml 2024-01-26 21:35:39.000000000 +0000
@@ -2287,9 +2287,10 @@
<term><option>--firmware-setup</option></term>
<listitem>
- <para>When used with the <command>reboot</command> command, indicate to the system's firmware to
- reboot into the firmware setup interface. Note that this functionality is not available on all
- systems.</para>
+ <para>When used with the <command>reboot</command>, <command>poweroff</command>, or
+ <command>halt</command> command, indicate to the system's firmware to reboot into the firmware
+ setup interface for the next boot. Note that this functionality is not available on all systems.
+ </para>
</listitem>
</varlistentry>
@@ -2297,10 +2298,11 @@
<term><option>--boot-loader-menu=<replaceable>timeout</replaceable></option></term>
<listitem>
- <para>When used with the <command>reboot</command> command, indicate to the system's boot loader to
- show the boot loader menu on the following boot. Takes a time value as parameter — indicating the
- menu timeout. Pass zero in order to disable the menu timeout. Note that not all boot loaders
- support this functionality.</para>
+ <para>When used with the <command>reboot</command>, <command>poweroff</command>, or
+ <command>halt</command> command, indicate to the system's boot loader to show the boot loader menu
+ on the following boot. Takes a time value as parameter — indicating the menu timeout. Pass zero
+ in order to disable the menu timeout. Note that not all boot loaders support this functionality.
+ </para>
</listitem>
</varlistentry>
@@ -2308,10 +2310,11 @@
<term><option>--boot-loader-entry=<replaceable>ID</replaceable></option></term>
<listitem>
- <para>When used with the <command>reboot</command> command, indicate to the system's boot loader to
- boot into a specific boot loader entry on the following boot. Takes a boot loader entry identifier
- as argument, or <literal>help</literal> in order to list available entries. Note that not all boot
- loaders support this functionality.</para>
+ <para>When used with the <command>reboot</command>, <command>poweroff</command>, or
+ <command>halt</command> command, indicate to the system's boot loader to boot into a specific
+ boot loader entry on the following boot. Takes a boot loader entry identifier as argument,
+ or <literal>help</literal> in order to list available entries. Note that not all boot loaders
+ support this functionality.</para>
</listitem>
</varlistentry>
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/man/systemd-analyze.xml systemd-252.22/man/systemd-analyze.xml
--- systemd-252.21/man/systemd-analyze.xml 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/man/systemd-analyze.xml 2024-01-26 21:35:39.000000000 +0000
@@ -1253,6 +1253,7 @@
<xi:include href="user-system-options.xml" xpointer="machine" />
<varlistentry>
+ <term><option>-q</option></term>
<term><option>--quiet</option></term>
<listitem><para>Suppress hints and other non-essential output.</para></listitem>
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/man/systemd-detect-virt.xml systemd-252.22/man/systemd-detect-virt.xml
--- systemd-252.21/man/systemd-detect-virt.xml 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/man/systemd-detect-virt.xml 2024-01-26 21:35:39.000000000 +0000
@@ -139,7 +139,7 @@
<row>
<entry><varname>apple</varname></entry>
- <entry><ulink url="https://developer.apple.com/documentation/virtualization">Apple Virtualization.framework</ulink></entry>
+ <entry><ulink url="https://developer.apple.com/documentation/virtualization">Apple virtualization framework</ulink></entry>
</row>
<row>
@@ -148,6 +148,11 @@
</row>
<row>
+ <entry><varname>google</varname></entry>
+ <entry><ulink url="https://cloud.google.com/compute">Google Compute Engine</ulink></entry>
+ </row>
+
+ <row>
<entry valign="top" morerows="9">Container</entry>
<entry><varname>openvz</varname></entry>
<entry>OpenVZ/Virtuozzo</entry>
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/meson.build systemd-252.22/meson.build
--- systemd-252.21/meson.build 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/meson.build 2024-01-26 21:35:39.000000000 +0000
@@ -349,6 +349,7 @@
basic_disabled_warnings = [
'-Wno-missing-field-initializers',
'-Wno-unused-parameter',
+ '-Wno-nonnull-compare',
]
possible_common_cc_flags = [
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/mkosi.default.d/debian/10-mkosi.debian systemd-252.22/mkosi.default.d/debian/10-mkosi.debian
--- systemd-252.21/mkosi.default.d/debian/10-mkosi.debian 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/mkosi.default.d/debian/10-mkosi.debian 2024-01-26 21:35:39.000000000 +0000
@@ -23,6 +23,7 @@
libpam0g
libpwquality1
libqrencode4
+ libip4tc2
libtss2-dev # Use the -dev package to avoid churn in updating version numbers
netcat-openbsd
policykit-1
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/modprobe.d/systemd.conf systemd-252.22/modprobe.d/systemd.conf
--- systemd-252.21/modprobe.d/systemd.conf 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/modprobe.d/systemd.conf 2024-01-26 21:35:39.000000000 +0000
@@ -18,3 +18,7 @@
# Do the same for dummy0.
options dummy numdummies=0
+
+# Do the same for ifb0.
+
+options ifb numifbs=0
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/.packit.yml systemd-252.22/.packit.yml
--- systemd-252.21/.packit.yml 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/.packit.yml 2024-01-26 21:35:39.000000000 +0000
@@ -16,6 +16,13 @@
srpm_build_deps: []
actions:
+ get-current-version:
+ # Show the closest matching tag for the checked out revision, otherwise
+ # Packit tries to get the latest tag by creation date, which doesn't work
+ # well in the systemd-stable repo. We also need to sanitize it manually
+ # since "upstream_tag_template" defined above doesn't apply here.
+ - "bash -ec 'git describe --tags --abbrev=0 | cut -b 2-'"
+
post-upstream-clone:
# Use the Fedora 38 specfile
- "git clone --branch f38 https://src.fedoraproject.org/rpms/systemd .packit_rpm --depth=1"
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/rules.d/50-udev-default.rules.in systemd-252.22/rules.d/50-udev-default.rules.in
--- systemd-252.21/rules.d/50-udev-default.rules.in 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/rules.d/50-udev-default.rules.in 2024-01-26 21:35:39.000000000 +0000
@@ -14,6 +14,8 @@
SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc"
SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100"
+SUBSYSTEM=="hidraw", IMPORT{builtin}="hwdb"
+
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb"
ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}"
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/rules.d/99-systemd.rules.in systemd-252.22/rules.d/99-systemd.rules.in
--- systemd-252.21/rules.d/99-systemd.rules.in 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/rules.d/99-systemd.rules.in 2024-01-26 21:35:39.000000000 +0000
@@ -73,7 +73,7 @@
# Pull in backlight save/restore for all backlight devices and
# keyboard backlights
SUBSYSTEM=="backlight", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_WANTS}+="systemd-backlight@backlight:$name.service"
-SUBSYSTEM=="leds", KERNEL=="*kbd_backlight", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_WANTS}+="systemd-backlight@leds:$name.service"
+SUBSYSTEM=="leds", KERNEL=="*kbd_backlight*", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_WANTS}+="systemd-backlight@leds:$name.service"
{% endif %}
# Pull in rfkill save/restore for all rfkill devices
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/shell-completion/bash/systemctl.in systemd-252.22/shell-completion/bash/systemctl.in
--- systemd-252.21/shell-completion/bash/systemctl.in 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/shell-completion/bash/systemctl.in 2024-01-26 21:35:39.000000000 +0000
@@ -62,6 +62,8 @@
| { while read -r a b; do [[ $a =~ @\. ]] && echo " ${a%%@.*}@"; done; }; }
__get_active_units () { __systemctl $1 list-units "$2*" \
| { while read -r a b; do echo " $a"; done; }; }
+__get_active_services() { __systemctl $1 list-units "$2*.service" \
+ | { while read -r a b; do echo " $a"; done; }; }
__get_not_masked_unit_files() {
# filter out masked, not-found, or template units.
@@ -219,12 +221,15 @@
list-timers list-units list-unit-files poweroff
reboot rescue show-environment suspend get-default
is-system-running preset-all list-automounts'
- [FILE]='link switch-root bind mount-image'
+ [FILE]='link switch-root'
[TARGETS]='set-default'
[MACHINES]='list-machines'
[LOG_LEVEL]='log-level'
[LOG_TARGET]='log-target'
+ [SERVICE_LOG_LEVEL]='service-log-level'
+ [SERVICE_LOG_TARGET]='service-log-target'
[SERVICE_WATCHDOGS]='service-watchdogs'
+ [MOUNT]='bind mount-image'
)
for ((i=0; i < COMP_CWORD; i++)); do
@@ -353,8 +358,33 @@
comps='debug info notice warning err crit alert emerg'
elif __contains_word "$verb" ${VERBS[LOG_TARGET]}; then
comps='console journal kmsg journal-or-kmsg null'
+ elif __contains_word "$verb" ${VERBS[SERVICE_LOG_LEVEL]}; then
+ if __contains_word "$prev" ${VERBS[SERVICE_LOG_LEVEL]}; then
+ comps=$( __get_all_unit_files $mode "$cur" )
+ elif __contains_word "$prev" debug info notice warning err crit alert emerg; then
+ return 0
+ else
+ comps='debug info notice warning err crit alert emerg'
+ fi
+ elif __contains_word "$verb" ${VERBS[SERVICE_LOG_TARGET]}; then
+ if __contains_word "$prev" ${VERBS[SERVICE_LOG_TARGET]}; then
+ comps=$( __get_all_unit_files $mode "$cur" )
+ elif __contains_word "$prev" console journal kmsg journal-or-kmsg null; then
+ return 0
+ else
+ comps='console journal kmsg journal-or-kmsg null'
+ fi
elif __contains_word "$verb" ${VERBS[SERVICE_WATCHDOGS]}; then
comps='on off'
+ elif __contains_word "$verb" ${VERBS[MOUNT]}; then
+ if __contains_word "$prev" ${VERBS[MOUNT]}; then
+ comps=$( __get_active_services $mode "$cur" )
+ elif [[ "$prev" =~ .service ]]; then
+ comps=$( compgen -A file -- "$cur" )
+ compopt -o filenames
+ else
+ return 0
+ fi
fi
COMPREPLY=( $(compgen -o filenames -W '$comps' -- "$cur_orig") )
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/shell-completion/bash/systemd-analyze systemd-252.22/shell-completion/bash/systemd-analyze
--- systemd-252.21/shell-completion/bash/systemd-analyze 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/shell-completion/bash/systemd-analyze 2024-01-26 21:35:39.000000000 +0000
@@ -57,7 +57,7 @@
local -A OPTS=(
[STANDALONE]='-h --help --version --system --user --global --order --require --no-pager
- --man=no --generators=yes --quiet'
+ --man=no --generators=yes -q --quiet'
[ARG]='-H --host -M --machine --fuzz --from-pattern --to-pattern --root'
)
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/analyze/analyze.c systemd-252.22/src/analyze/analyze.c
--- systemd-252.21/src/analyze/analyze.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/analyze/analyze.c 2024-01-26 21:35:39.000000000 +0000
@@ -318,7 +318,7 @@
assert(argc >= 0);
assert(argv);
- while ((c = getopt_long(argc, argv, "hH:M:U:", options, NULL)) >= 0)
+ while ((c = getopt_long(argc, argv, "hH:M:U:q", options, NULL)) >= 0)
switch (c) {
case 'h':
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/basic/alloc-util.h systemd-252.22/src/basic/alloc-util.h
--- systemd-252.21/src/basic/alloc-util.h 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/basic/alloc-util.h 2024-01-26 21:35:39.000000000 +0000
@@ -20,7 +20,7 @@
* proceeding and smashing the stack limits. Note that by default RLIMIT_STACK is 8M on Linux. */
#define ALLOCA_MAX (4U*1024U*1024U)
-#define new(t, n) ((t*) malloc_multiply(sizeof(t), (n)))
+#define new(t, n) ((t*) malloc_multiply((n), sizeof(t)))
#define new0(t, n) ((t*) calloc((n) ?: 1, sizeof(t)))
@@ -45,9 +45,9 @@
(t*) alloca0((sizeof(t)*_n_)); \
})
-#define newdup(t, p, n) ((t*) memdup_multiply(p, sizeof(t), (n)))
+#define newdup(t, p, n) ((t*) memdup_multiply(p, (n), sizeof(t)))
-#define newdup_suffix0(t, p, n) ((t*) memdup_suffix0_multiply(p, sizeof(t), (n)))
+#define newdup_suffix0(t, p, n) ((t*) memdup_suffix0_multiply(p, (n), sizeof(t)))
#define malloc0(n) (calloc(1, (n) ?: 1))
@@ -112,7 +112,7 @@
return _unlikely_(need != 0 && size > (SIZE_MAX / need));
}
-_malloc_ _alloc_(1, 2) static inline void *malloc_multiply(size_t size, size_t need) {
+_malloc_ _alloc_(1, 2) static inline void *malloc_multiply(size_t need, size_t size) {
if (size_multiply_overflow(size, need))
return NULL;
@@ -128,7 +128,7 @@
}
#endif
-_alloc_(2, 3) static inline void *memdup_multiply(const void *p, size_t size, size_t need) {
+_alloc_(2, 3) static inline void *memdup_multiply(const void *p, size_t need, size_t size) {
if (size_multiply_overflow(size, need))
return NULL;
@@ -137,7 +137,7 @@
/* Note that we can't decorate this function with _alloc_() since the returned memory area is one byte larger
* than the product of its parameters. */
-static inline void *memdup_suffix0_multiply(const void *p, size_t size, size_t need) {
+static inline void *memdup_suffix0_multiply(const void *p, size_t need, size_t size) {
if (size_multiply_overflow(size, need))
return NULL;
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/basic/sigbus.c systemd-252.22/src/basic/sigbus.c
--- systemd-252.21/src/basic/sigbus.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/basic/sigbus.c 2024-01-26 21:35:39.000000000 +0000
@@ -39,14 +39,14 @@
}
/* If we can't, make sure the queue size is out of bounds, to
- * mark it as overflow */
+ * mark it as overflowed */
for (;;) {
sig_atomic_t c;
__atomic_thread_fence(__ATOMIC_SEQ_CST);
c = n_sigbus_queue;
- if (c > SIGBUS_QUEUE_MAX) /* already overflow */
+ if (c > SIGBUS_QUEUE_MAX) /* already overflowed */
return;
/* OK if we clobber c here, since we either immediately return
@@ -69,7 +69,7 @@
if (_likely_(c == 0))
return 0;
- if (_unlikely_(c >= SIGBUS_QUEUE_MAX))
+ if (_unlikely_(c > SIGBUS_QUEUE_MAX))
return -EOVERFLOW;
for (u = 0; u < SIGBUS_QUEUE_MAX; u++) {
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/basic/strv.c systemd-252.22/src/basic/strv.c
--- systemd-252.21/src/basic/strv.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/basic/strv.c 2024-01-26 21:35:39.000000000 +0000
@@ -97,6 +97,22 @@
return TAKE_PTR(result);
}
+int strv_copy_unless_empty(char * const *l, char ***ret) {
+ assert(ret);
+
+ if (strv_isempty(l)) {
+ *ret = NULL;
+ return 0;
+ }
+
+ char **copy = strv_copy(l);
+ if (!copy)
+ return -ENOMEM;
+
+ *ret = TAKE_PTR(copy);
+ return 1;
+}
+
size_t strv_length(char * const *l) {
size_t n = 0;
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/basic/strv.h systemd-252.22/src/basic/strv.h
--- systemd-252.21/src/basic/strv.h 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/basic/strv.h 2024-01-26 21:35:39.000000000 +0000
@@ -30,6 +30,7 @@
#define _cleanup_strv_free_erase_ _cleanup_(strv_free_erasep)
char** strv_copy(char * const *l);
+int strv_copy_unless_empty(char * const *l, char ***ret);
size_t strv_length(char * const *l) _pure_;
int strv_extend_strv(char ***a, char * const *b, bool filter_duplicates);
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/basic/virt.c systemd-252.22/src/basic/virt.c
--- systemd-252.21/src/basic/virt.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/basic/virt.c 2024-01-26 21:35:39.000000000 +0000
@@ -53,6 +53,7 @@
{ "ACRNACRNACRN", VIRTUALIZATION_ACRN },
/* https://www.lockheedmartin.com/en-us/products/Hardened-Security-for-Intel-Processors.html */
{ "SRESRESRESRE", VIRTUALIZATION_SRE },
+ { "Apple VZ", VIRTUALIZATION_APPLE },
};
uint32_t eax, ebx, ecx, edx;
@@ -168,22 +169,23 @@
const char *vendor;
Virtualization id;
} dmi_vendor_table[] = {
- { "KVM", VIRTUALIZATION_KVM },
- { "OpenStack", VIRTUALIZATION_KVM }, /* Detect OpenStack instance as KVM in non x86 architecture */
- { "KubeVirt", VIRTUALIZATION_KVM }, /* Detect KubeVirt instance as KVM in non x86 architecture */
- { "Amazon EC2", VIRTUALIZATION_AMAZON },
- { "QEMU", VIRTUALIZATION_QEMU },
- { "VMware", VIRTUALIZATION_VMWARE }, /* https://kb.vmware.com/s/article/1009458 */
- { "VMW", VIRTUALIZATION_VMWARE },
- { "innotek GmbH", VIRTUALIZATION_ORACLE },
- { "VirtualBox", VIRTUALIZATION_ORACLE },
- { "Xen", VIRTUALIZATION_XEN },
- { "Bochs", VIRTUALIZATION_BOCHS },
- { "Parallels", VIRTUALIZATION_PARALLELS },
+ { "KVM", VIRTUALIZATION_KVM },
+ { "OpenStack", VIRTUALIZATION_KVM }, /* Detect OpenStack instance as KVM in non x86 architecture */
+ { "KubeVirt", VIRTUALIZATION_KVM }, /* Detect KubeVirt instance as KVM in non x86 architecture */
+ { "Amazon EC2", VIRTUALIZATION_AMAZON },
+ { "QEMU", VIRTUALIZATION_QEMU },
+ { "VMware", VIRTUALIZATION_VMWARE }, /* https://kb.vmware.com/s/article/1009458 */
+ { "VMW", VIRTUALIZATION_VMWARE },
+ { "innotek GmbH", VIRTUALIZATION_ORACLE },
+ { "VirtualBox", VIRTUALIZATION_ORACLE },
+ { "Xen", VIRTUALIZATION_XEN },
+ { "Bochs", VIRTUALIZATION_BOCHS },
+ { "Parallels", VIRTUALIZATION_PARALLELS },
/* https://wiki.freebsd.org/bhyve */
- { "BHYVE", VIRTUALIZATION_BHYVE },
- { "Hyper-V", VIRTUALIZATION_MICROSOFT },
- { "Apple Virtualization", VIRTUALIZATION_APPLE },
+ { "BHYVE", VIRTUALIZATION_BHYVE },
+ { "Hyper-V", VIRTUALIZATION_MICROSOFT },
+ { "Apple Virtualization", VIRTUALIZATION_APPLE },
+ { "Google Compute Engine", VIRTUALIZATION_GOOGLE }, /* https://cloud.google.com/run/docs/container-contract#sandbox */
};
int r;
@@ -986,7 +988,7 @@
return true;
}
- if (__get_cpuid(7, &eax, &ebx, &ecx, &edx)) {
+ if (__get_cpuid_count(7, 0, &eax, &ebx, &ecx, &edx)) {
if (given_flag_in_set(flag, leaf7_ebx, ELEMENTSOF(leaf7_ebx), ebx))
return true;
}
@@ -1035,6 +1037,7 @@
[VIRTUALIZATION_POWERVM] = "powervm",
[VIRTUALIZATION_APPLE] = "apple",
[VIRTUALIZATION_SRE] = "sre",
+ [VIRTUALIZATION_GOOGLE] = "google",
[VIRTUALIZATION_VM_OTHER] = "vm-other",
[VIRTUALIZATION_SYSTEMD_NSPAWN] = "systemd-nspawn",
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/basic/virt.h systemd-252.22/src/basic/virt.h
--- systemd-252.21/src/basic/virt.h 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/basic/virt.h 2024-01-26 21:35:39.000000000 +0000
@@ -27,6 +27,7 @@
VIRTUALIZATION_POWERVM,
VIRTUALIZATION_APPLE,
VIRTUALIZATION_SRE,
+ VIRTUALIZATION_GOOGLE,
VIRTUALIZATION_VM_OTHER,
VIRTUALIZATION_VM_LAST = VIRTUALIZATION_VM_OTHER,
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/boot/efi/util.h systemd-252.22/src/boot/efi/util.h
--- systemd-252.21/src/boot/efi/util.h 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/boot/efi/util.h 2024-01-26 21:35:39.000000000 +0000
@@ -51,7 +51,7 @@
}
_malloc_ _alloc_(1, 2) _returns_nonnull_ _warn_unused_result_
-static inline void *xmalloc_multiply(size_t size, size_t n) {
+static inline void *xmalloc_multiply(size_t n, size_t size) {
assert_se(!__builtin_mul_overflow(size, n, &size));
return xmalloc(size);
}
@@ -68,7 +68,7 @@
}
#define xpool_print(fmt, ...) ((char16_t *) ASSERT_SE_PTR(PoolPrint((fmt), ##__VA_ARGS__)))
-#define xnew(type, n) ((type *) xmalloc_multiply(sizeof(type), (n)))
+#define xnew(type, n) ((type *) xmalloc_multiply((n), sizeof(type)))
typedef struct {
EFI_PHYSICAL_ADDRESS addr;
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/busctl/busctl.c systemd-252.22/src/busctl/busctl.c
--- systemd-252.21/src/busctl/busctl.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/busctl/busctl.c 2024-01-26 21:35:39.000000000 +0000
@@ -1311,24 +1311,24 @@
if (r < 0)
return log_error_errno(r, "Failed to process bus: %m");
- if (!is_monitor) {
- const char *name;
-
- /* wait until we lose our unique name */
- if (sd_bus_message_is_signal(m, "org.freedesktop.DBus", "NameLost") <= 0)
- continue;
+ if (m) {
+ if (!is_monitor) {
+ const char *name;
- r = sd_bus_message_read(m, "s", &name);
- if (r < 0)
- return bus_log_parse_error(r);
+ /* wait until we lose our unique name */
+ if (sd_bus_message_is_signal(m, "org.freedesktop.DBus", "NameLost") <= 0)
+ continue;
+
+ r = sd_bus_message_read(m, "s", &name);
+ if (r < 0)
+ return bus_log_parse_error(r);
- if (streq(name, unique_name))
- is_monitor = true;
+ if (streq(name, unique_name))
+ is_monitor = true;
- continue;
- }
+ continue;
+ }
- if (m) {
dump(m, stdout);
fflush(stdout);
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/cgtop/cgtop.c systemd-252.22/src/cgtop/cgtop.c
--- systemd-252.21/src/cgtop/cgtop.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/cgtop/cgtop.c 2024-01-26 21:35:39.000000000 +0000
@@ -308,9 +308,9 @@
if (all_unified) {
while (!isempty(l)) {
- if (sscanf(l, "rbytes=%" SCNu64, &k))
+ if (sscanf(l, "rbytes=%" SCNu64, &k) == 1)
rd += k;
- else if (sscanf(l, "wbytes=%" SCNu64, &k))
+ else if (sscanf(l, "wbytes=%" SCNu64, &k) == 1)
wr += k;
l += strcspn(l, WHITESPACE);
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/core/unit.c systemd-252.22/src/core/unit.c
--- systemd-252.21/src/core/unit.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/core/unit.c 2024-01-26 21:35:39.000000000 +0000
@@ -6099,7 +6099,7 @@
return r;
}
- if (ACTIVATION_DETAILS_VTABLE(details)->append_env) {
+ if (ACTIVATION_DETAILS_VTABLE(details)->append_pair) {
r = ACTIVATION_DETAILS_VTABLE(details)->append_pair(details, strv);
if (r < 0)
return r;
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/cryptenroll/cryptenroll.c systemd-252.22/src/cryptenroll/cryptenroll.c
--- systemd-252.21/src/cryptenroll/cryptenroll.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/cryptenroll/cryptenroll.c 2024-01-26 21:35:39.000000000 +0000
@@ -412,7 +412,7 @@
if (n > INT_MAX)
return log_error_errno(SYNTHETIC_ERRNO(ERANGE), "Slot index out of range: %u", n);
- a = reallocarray(arg_wipe_slots, sizeof(int), arg_n_wipe_slots + 1);
+ a = reallocarray(arg_wipe_slots, arg_n_wipe_slots + 1, sizeof(int));
if (!a)
return log_oom();
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/home/org.freedesktop.home1.conf systemd-252.22/src/home/org.freedesktop.home1.conf
--- systemd-252.21/src/home/org.freedesktop.home1.conf 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/home/org.freedesktop.home1.conf 2024-01-26 21:35:39.000000000 +0000
@@ -127,6 +127,10 @@
<allow send_destination="org.freedesktop.home1"
send_interface="org.freedesktop.home1.Manager"
+ send_member="DeactivateAllHomes"/>
+
+ <allow send_destination="org.freedesktop.home1"
+ send_interface="org.freedesktop.home1.Manager"
send_member="Rebalance"/>
<!-- Home object -->
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/journal-remote/microhttpd-util.c systemd-252.22/src/journal-remote/microhttpd-util.c
--- systemd-252.21/src/journal-remote/microhttpd-util.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/journal-remote/microhttpd-util.c 2024-01-26 21:35:39.000000000 +0000
@@ -26,11 +26,13 @@
REENABLE_WARNING;
}
-static int mhd_respond_internal(struct MHD_Connection *connection,
- enum MHD_RequestTerminationCode code,
- const char *buffer,
- size_t size,
- enum MHD_ResponseMemoryMode mode) {
+int mhd_respond_internal(
+ struct MHD_Connection *connection,
+ enum MHD_RequestTerminationCode code,
+ const char *buffer,
+ size_t size,
+ enum MHD_ResponseMemoryMode mode) {
+
assert(connection);
_cleanup_(MHD_destroy_responsep) struct MHD_Response *response
@@ -44,29 +46,16 @@
return MHD_queue_response(connection, code, response);
}
-int mhd_respond(struct MHD_Connection *connection,
- enum MHD_RequestTerminationCode code,
- const char *message) {
-
- const char *fmt;
-
- fmt = strjoina(message, "\n");
-
- return mhd_respond_internal(connection, code,
- fmt, strlen(message) + 1,
- MHD_RESPMEM_PERSISTENT);
-}
-
int mhd_respond_oom(struct MHD_Connection *connection) {
- return mhd_respond(connection, MHD_HTTP_SERVICE_UNAVAILABLE, "Out of memory.");
+ return mhd_respond(connection, MHD_HTTP_SERVICE_UNAVAILABLE, "Out of memory.");
}
-int mhd_respondf(struct MHD_Connection *connection,
- int error,
- enum MHD_RequestTerminationCode code,
- const char *format, ...) {
+int mhd_respondf_internal(
+ struct MHD_Connection *connection,
+ int error,
+ enum MHD_RequestTerminationCode code,
+ const char *format, ...) {
- const char *fmt;
char *m;
int r;
va_list ap;
@@ -77,11 +66,8 @@
if (error < 0)
error = -error;
errno = -error;
- fmt = strjoina(format, "\n");
va_start(ap, format);
- DISABLE_WARNING_FORMAT_NONLITERAL;
- r = vasprintf(&m, fmt, ap);
- REENABLE_WARNING;
+ r = vasprintf(&m, format, ap);
va_end(ap);
if (r < 0)
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/journal-remote/microhttpd-util.h systemd-252.22/src/journal-remote/microhttpd-util.h
--- systemd-252.21/src/journal-remote/microhttpd-util.h 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/journal-remote/microhttpd-util.h 2024-01-26 21:35:39.000000000 +0000
@@ -62,17 +62,34 @@
/* respond_oom() must be usable with return, hence this form. */
#define respond_oom(connection) log_oom(), mhd_respond_oom(connection)
-int mhd_respondf(struct MHD_Connection *connection,
- int error,
- enum MHD_RequestTerminationCode code,
- const char *format, ...) _printf_(4,5);
-
-int mhd_respond(struct MHD_Connection *connection,
+int mhd_respond_internal(
+ struct MHD_Connection *connection,
enum MHD_RequestTerminationCode code,
- const char *message);
+ const char *buffer,
+ size_t size,
+ enum MHD_ResponseMemoryMode mode);
+
+#define mhd_respond(connection, code, message) \
+ mhd_respond_internal( \
+ connection, code, \
+ message "\n", \
+ strlen(message) + 1, \
+ MHD_RESPMEM_PERSISTENT)
int mhd_respond_oom(struct MHD_Connection *connection);
+int mhd_respondf_internal(
+ struct MHD_Connection *connection,
+ int error,
+ enum MHD_RequestTerminationCode code,
+ const char *format, ...) _printf_(4,5);
+
+#define mhd_respondf(connection, error, code, format, ...) \
+ mhd_respondf_internal( \
+ connection, error, code, \
+ format "\n", \
+ ##__VA_ARGS__)
+
int check_permissions(struct MHD_Connection *connection, int *code, char **hostname);
/* Set gnutls internal logging function to a callback which uses our
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/libsystemd/sd-bus/bus-message.c systemd-252.22/src/libsystemd/sd-bus/bus-message.c
--- systemd-252.21/src/libsystemd/sd-bus/bus-message.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/libsystemd/sd-bus/bus-message.c 2024-01-26 21:35:39.000000000 +0000
@@ -1270,7 +1270,7 @@
if (copy < 0)
return -errno;
- f = reallocarray(m->fds, sizeof(int), m->n_fds + 1);
+ f = reallocarray(m->fds, m->n_fds + 1, sizeof(int));
if (!f) {
m->poisoned = true;
safe_close(copy);
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/libsystemd/sd-id128/id128-util.c systemd-252.22/src/libsystemd/sd-id128/id128-util.c
--- systemd-252.21/src/libsystemd/sd-id128/id128-util.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/libsystemd/sd-id128/id128-util.c 2024-01-26 21:35:39.000000000 +0000
@@ -11,6 +11,7 @@
#include "stdio-util.h"
#include "string-util.h"
#include "sync-util.h"
+#include "virt.h"
bool id128_is_valid(const char *s) {
size_t l;
@@ -181,6 +182,13 @@
/* Reads the systems product UUID from DMI or devicetree (where it is located on POWER). This is
* particularly relevant in VM environments, where VM managers typically place a VM uuid there. */
+ r = detect_container();
+ if (r < 0)
+ return r;
+ if (r > 0) /* Refuse returning this in containers, as this is not a property of our system then, but
+ * of the host */
+ return -ENOENT;
+
r = id128_read("/sys/class/dmi/id/product_uuid", ID128_FORMAT_UUID, &uuid);
if (r == -ENOENT)
r = id128_read("/proc/device-tree/vm,uuid", ID128_FORMAT_UUID, &uuid);
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/libsystemd/sd-journal/journal-file.c systemd-252.22/src/libsystemd/sd-journal/journal-file.c
--- systemd-252.21/src/libsystemd/sd-journal/journal-file.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/libsystemd/sd-journal/journal-file.c 2024-01-26 21:35:39.000000000 +0000
@@ -2190,6 +2190,11 @@
assert(e);
assert(t);
+ /* If we are already going down, we cannot install the timer.
+ * In such case, the caller needs to call journal_file_post_change() explicitly. */
+ if (IN_SET(sd_event_get_state(e), SD_EVENT_EXITING, SD_EVENT_FINISHED))
+ return 0;
+
r = sd_event_add_time(e, &timer, CLOCK_MONOTONIC, 0, 0, post_change_thunk, f);
if (r < 0)
return r;
@@ -2201,7 +2206,7 @@
f->post_change_timer = TAKE_PTR(timer);
f->post_change_timer_period = t;
- return r;
+ return 1;
}
static int entry_item_cmp(const EntryItem *a, const EntryItem *b) {
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/libsystemd/sd-login/sd-login.c systemd-252.22/src/libsystemd/sd-login/sd-login.c
--- systemd-252.21/src/libsystemd/sd-login/sd-login.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/libsystemd/sd-login/sd-login.c 2024-01-26 21:35:39.000000000 +0000
@@ -802,7 +802,7 @@
uid_t *t;
n = MAX(16, 2*r);
- t = reallocarray(l, sizeof(uid_t), n);
+ t = reallocarray(l, n, sizeof(uid_t));
if (!t)
return -ENOMEM;
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/network/netdev/tuntap.c systemd-252.22/src/network/netdev/tuntap.c
--- systemd-252.21/src/network/netdev/tuntap.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/network/netdev/tuntap.c 2024-01-26 21:35:39.000000000 +0000
@@ -137,6 +137,19 @@
if (ioctl(fd, TUNSETIFF, &ifr) < 0)
return log_netdev_error_errno(netdev, errno, "TUNSETIFF failed: %m");
+ if (t->multi_queue) {
+ /* If we don't detach the queue, the kernel will send packets to our queue and they
+ * will be dropped because we never read them, which is especially important in case
+ * of KeepCarrier option which persists open FD. So detach our queue right after
+ * device create/attach to make kernel not send the packets to it. The option is
+ * available for multi-queue devices only.
+ *
+ * See https://github.com/systemd/systemd/pull/30504 for details. */
+ struct ifreq detach_request = { .ifr_flags = IFF_DETACH_QUEUE };
+ if (ioctl(fd, TUNSETQUEUE, &detach_request) < 0)
+ return log_netdev_error_errno(netdev, errno, "TUNSETQUEUE failed: %m");
+ }
+
if (t->user_name) {
const char *user = t->user_name;
uid_t uid;
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/network/networkd-link.c systemd-252.22/src/network/networkd-link.c
--- systemd-252.21/src/network/networkd-link.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/network/networkd-link.c 2024-01-26 21:35:39.000000000 +0000
@@ -1642,7 +1642,7 @@
usec = 5 * USEC_PER_SEC;
else
- /* Otherwise, use the currently set value. */
+ /* Otherwise, use the implied default value. */
usec = link->network->ignore_carrier_loss_usec;
if (usec == USEC_INFINITY)
@@ -2005,20 +2005,18 @@
if (master_ifindex == link->ifindex)
master_ifindex = 0;
- if (master_ifindex == link->master_ifindex)
- return 0;
-
- if (link->master_ifindex == 0)
- log_link_debug(link, "Attached to master interface: %i", master_ifindex);
- else if (master_ifindex == 0)
- log_link_debug(link, "Detached from master interface: %i", link->master_ifindex);
- else
- log_link_debug(link, "Master interface changed: %i %s %i", link->master_ifindex,
- special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), master_ifindex);
-
- link_drop_from_master(link);
+ if (master_ifindex != link->master_ifindex) {
+ if (link->master_ifindex == 0)
+ log_link_debug(link, "Attached to master interface: %i", master_ifindex);
+ else if (master_ifindex == 0)
+ log_link_debug(link, "Detached from master interface: %i", link->master_ifindex);
+ else
+ log_link_debug(link, "Master interface changed: %i %s %i", link->master_ifindex,
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), master_ifindex);
- link->master_ifindex = master_ifindex;
+ link_drop_from_master(link);
+ link->master_ifindex = master_ifindex;
+ }
r = link_append_to_master(link);
if (r < 0)
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/network/networkd-network.c systemd-252.22/src/network/networkd-network.c
--- systemd-252.21/src/network/networkd-network.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/network/networkd-network.c 2024-01-26 21:35:39.000000000 +0000
@@ -283,10 +283,8 @@
network->ignore_carrier_loss_usec = USEC_INFINITY;
}
- if (!network->ignore_carrier_loss_set) {
- network->ignore_carrier_loss_set = true;
+ if (!network->ignore_carrier_loss_set) /* Set implied default. */
network->ignore_carrier_loss_usec = network->configure_without_carrier ? USEC_INFINITY : 0;
- }
if (IN_SET(network->activation_policy, ACTIVATION_POLICY_DOWN, ACTIVATION_POLICY_ALWAYS_DOWN, ACTIVATION_POLICY_MANUAL)) {
if (network->required_for_online < 0 ||
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/network/networkd-queue.c systemd-252.22/src/network/networkd-queue.c
--- systemd-252.21/src/network/networkd-queue.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/network/networkd-queue.c 2024-01-26 21:35:39.000000000 +0000
@@ -123,11 +123,8 @@
assert(process);
req = new(Request, 1);
- if (!req) {
- if (free_func)
- free_func(userdata);
+ if (!req)
return -ENOMEM;
- }
*req = (Request) {
.n_ref = 1,
@@ -169,12 +166,19 @@
request_process_func_t process,
Request **ret) {
+ int r;
+
assert(netdev);
- return request_new(netdev->manager, NULL, REQUEST_TYPE_NETDEV_INDEPENDENT,
- netdev_ref(netdev), (mfree_func_t) netdev_unref,
- trivial_hash_func, trivial_compare_func,
- process, NULL, NULL, ret);
+ r = request_new(netdev->manager, NULL, REQUEST_TYPE_NETDEV_INDEPENDENT,
+ netdev, (mfree_func_t) netdev_unref,
+ trivial_hash_func, trivial_compare_func,
+ process, NULL, NULL, ret);
+ if (r <= 0)
+ return r;
+
+ netdev_ref(netdev);
+ return 1;
}
int link_queue_request_full(
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/network/networkd-route.c systemd-252.22/src/network/networkd-route.c
--- systemd-252.21/src/network/networkd-route.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/network/networkd-route.c 2024-01-26 21:35:39.000000000 +0000
@@ -2768,6 +2768,7 @@
if (isempty(rvalue)) {
n->multipath_routes = ordered_set_free_with_destructor(n->multipath_routes, multipath_route_free);
+ TAKE_PTR(n);
return 0;
}
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/nspawn/nspawn-bind-user.c systemd-252.22/src/nspawn/nspawn-bind-user.c
--- systemd-252.21/src/nspawn/nspawn-bind-user.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/nspawn/nspawn-bind-user.c 2024-01-26 21:35:39.000000000 +0000
@@ -286,7 +286,7 @@
if (!sd)
return log_oom();
- cm = reallocarray(*custom_mounts, sizeof(CustomMount), *n_custom_mounts + 1);
+ cm = reallocarray(*custom_mounts, *n_custom_mounts + 1, sizeof(CustomMount));
if (!cm)
return log_oom();
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/resolve/dns-type.h systemd-252.22/src/resolve/dns-type.h
--- systemd-252.21/src/resolve/dns-type.h 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/resolve/dns-type.h 2024-01-26 21:35:39.000000000 +0000
@@ -7,7 +7,7 @@
* http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml.
*/
enum {
- /* Normal records */
+ /* 0 is reserved */
DNS_TYPE_A = 0x01,
DNS_TYPE_NS,
DNS_TYPE_MD,
@@ -60,7 +60,8 @@
DNS_TYPE_NSEC3,
DNS_TYPE_NSEC3PARAM,
DNS_TYPE_TLSA,
-
+ DNS_TYPE_SMIMEA, /* RFC 8162 */
+ /* 0x36 (54) is not assigned */
DNS_TYPE_HIP = 0x37,
DNS_TYPE_NINFO,
DNS_TYPE_RKEY,
@@ -68,15 +69,23 @@
DNS_TYPE_CDS,
DNS_TYPE_CDNSKEY,
DNS_TYPE_OPENPGPKEY,
-
+ DNS_TYPE_CSYNC,
+ DNS_TYPE_ZONEMD,
+ DNS_TYPE_SVCB, /* RFC 9460 */
+ DNS_TYPE_HTTPS, /* RFC 9460 */
+ /* 0x42…0x62 (66…98) are not assigned */
DNS_TYPE_SPF = 0x63,
+ DNS_TYPE_UINFO,
+ DNS_TYPE_UID,
+ DNS_TYPE_GID,
+ DNS_TYPE_UNSPEC,
DNS_TYPE_NID,
DNS_TYPE_L32,
DNS_TYPE_L64,
DNS_TYPE_LP,
DNS_TYPE_EUI48,
DNS_TYPE_EUI64,
-
+ /* 0x6e…0xf8 (110…248) are not assigned */
DNS_TYPE_TKEY = 0xF9,
DNS_TYPE_TSIG,
DNS_TYPE_IXFR,
@@ -86,15 +95,24 @@
DNS_TYPE_ANY,
DNS_TYPE_URI,
DNS_TYPE_CAA,
+ DNS_TYPE_AVC,
+ DNS_TYPE_DOA,
+ DNS_TYPE_AMTRELAY,
+ DNS_TYPE_RESINFO,
+ /* 0x106…0x7fff (262…32767) are not assigned */
DNS_TYPE_TA = 0x8000,
DNS_TYPE_DLV,
-
+ /* 32770…65279 are not assigned */
+ /* 65280…65534 are for private use */
+ /* 65535 is reserved */
_DNS_TYPE_MAX,
_DNS_TYPE_INVALID = -EINVAL,
};
-assert_cc(DNS_TYPE_SSHFP == 44);
-assert_cc(DNS_TYPE_TLSA == 52);
+assert_cc(DNS_TYPE_SMIMEA == 53);
+assert_cc(DNS_TYPE_HTTPS == 65);
+assert_cc(DNS_TYPE_EUI64 == 109);
+assert_cc(DNS_TYPE_RESINFO == 261);
assert_cc(DNS_TYPE_ANY == 255);
/* DNS record classes, see RFC 1035 */
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/resolve/resolved-dns-cache.c systemd-252.22/src/resolve/resolved-dns-cache.c
--- systemd-252.21/src/resolve/resolved-dns-cache.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/resolve/resolved-dns-cache.c 2024-01-26 21:35:39.000000000 +0000
@@ -1266,6 +1266,10 @@
if (!j->shared_owner)
continue;
+ /* Ignore cached goodby packet. See on_mdns_packet() and RFC 6762 section 10.1. */
+ if (j->rr->ttl <= 1)
+ continue;
+
/* RFC6762 7.1: Don't append records with less than half the TTL remaining
* as known answers. */
if (usec_sub_unsigned(j->until, ts) < j->rr->ttl * USEC_PER_SEC / 2)
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/resolve/resolved-dns-packet.c systemd-252.22/src/resolve/resolved-dns-packet.c
--- systemd-252.21/src/resolve/resolved-dns-packet.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/resolve/resolved-dns-packet.c 2024-01-26 21:35:39.000000000 +0000
@@ -310,9 +310,23 @@
switch (p->protocol) {
- case DNS_PROTOCOL_LLMNR:
case DNS_PROTOCOL_DNS:
- if (DNS_PACKET_TC(p)) /* mDNS query may have truncation flag. */
+ if (DNS_PACKET_TC(p))
+ return -EBADMSG;
+
+ if (DNS_PACKET_QDCOUNT(p) != 1)
+ return -EBADMSG;
+
+ if (DNS_PACKET_ANCOUNT(p) > 0)
+ return -EBADMSG;
+
+ /* Note, in most cases, DNS query packet does not have authority section. But some query
+ * types, e.g. IXFR, have Authority sections. Hence, unlike the check for LLMNR, we do not
+ * check DNS_PACKET_NSCOUNT(p) here. */
+ break;
+
+ case DNS_PROTOCOL_LLMNR:
+ if (DNS_PACKET_TC(p))
return -EBADMSG;
/* RFC 4795, Section 2.1.1. says to discard all queries with QDCOUNT != 1 */
@@ -330,6 +344,9 @@
break;
case DNS_PROTOCOL_MDNS:
+ /* Note, mDNS query may have truncation flag. So, unlike the check for DNS and LLMNR,
+ * we do not check DNS_PACKET_TC(p) here. */
+
/* RFC 6762, Section 18 specifies that messages with non-zero RCODE
* must be silently ignored, and that we must ignore the values of
* AA, RD, RA, AD, and CD bits. */
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/resolve/resolved-dns-transaction.c systemd-252.22/src/resolve/resolved-dns-transaction.c
--- systemd-252.21/src/resolve/resolved-dns-transaction.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/resolve/resolved-dns-transaction.c 2024-01-26 21:35:39.000000000 +0000
@@ -74,6 +74,10 @@
* and the reply we might still get from the server will be eaten up instead of resulting in an ICMP
* port unreachable error message. */
+ /* Skip the graveyard stuff when we're shutting down, since that requires running event loop */
+ if (!t->scope->manager->event || sd_event_get_state(t->scope->manager->event) == SD_EVENT_FINISHED)
+ use_graveyard = false;
+
if (use_graveyard && t->dns_udp_fd >= 0 && t->sent && !t->received) {
r = manager_add_socket_to_graveyard(t->scope->manager, t->dns_udp_fd);
if (r < 0)
@@ -633,9 +637,20 @@
}
}
- if (error != 0)
- LIST_FOREACH(transactions_by_stream, t, s->transactions)
+ if (error != 0) {
+ /* First, detach the stream from the server. Otherwise, transactions attached to this stream
+ * may be restarted by on_transaction_stream_error() below with this stream. */
+ dns_stream_detach(s);
+
+ /* Do not use LIST_FOREACH() here, as
+ * on_transaction_stream_error()
+ * -> dns_transaction_complete_errno()
+ * -> dns_transaction_free()
+ * may free multiple transactions in the list. */
+ DnsTransaction *t;
+ while ((t = s->transactions))
on_transaction_stream_error(t, error);
+ }
return 0;
}
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/resolve/resolved-llmnr.c systemd-252.22/src/resolve/resolved-llmnr.c
--- systemd-252.21/src/resolve/resolved-llmnr.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/resolve/resolved-llmnr.c 2024-01-26 21:35:39.000000000 +0000
@@ -45,7 +45,7 @@
if (r < 0)
return r;
- if (socket_ipv6_is_supported()) {
+ if (socket_ipv6_is_enabled()) {
r = manager_llmnr_ipv6_udp_fd(m);
if (r == -EADDRINUSE)
goto eaddrinuse;
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/resolve/resolved-mdns.c systemd-252.22/src/resolve/resolved-mdns.c
--- systemd-252.21/src/resolve/resolved-mdns.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/resolve/resolved-mdns.c 2024-01-26 21:35:39.000000000 +0000
@@ -36,7 +36,7 @@
if (r < 0)
return r;
- if (socket_ipv6_is_supported()) {
+ if (socket_ipv6_is_enabled()) {
r = manager_mdns_ipv6_fd(m);
if (r == -EADDRINUSE)
goto eaddrinuse;
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/shared/discover-image.c systemd-252.22/src/shared/discover-image.c
--- systemd-252.21/src/shared/discover-image.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/shared/discover-image.c 2024-01-26 21:35:39.000000000 +0000
@@ -1005,6 +1005,11 @@
return 0;
}
+static void make_lock_dir(void) {
+ (void) mkdir_p("/run/systemd/nspawn", 0755);
+ (void) mkdir("/run/systemd/nspawn/locks", 0700);
+}
+
int image_path_lock(const char *path, int operation, LockFile *global, LockFile *local) {
_cleanup_free_ char *p = NULL;
LockFile t = LOCK_FILE_INIT;
@@ -1080,7 +1085,7 @@
}
if (p) {
- (void) mkdir_p("/run/systemd/nspawn/locks", 0700);
+ make_lock_dir();
r = make_lock_file(p, operation, global);
if (r < 0) {
@@ -1253,7 +1258,7 @@
return 0;
}
- (void) mkdir_p("/run/systemd/nspawn/locks", 0700);
+ make_lock_dir();
p = strjoina("/run/systemd/nspawn/locks/name-", name);
return make_lock_file(p, operation, ret);
@@ -1293,7 +1298,6 @@
/* Accept trailing slashes */
if (p[strspn(p, "/")] == 0)
return true;
-
}
return false;
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/shared/utmp-wtmp.h systemd-252.22/src/shared/utmp-wtmp.h
--- systemd-252.21/src/shared/utmp-wtmp.h 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/shared/utmp-wtmp.h 2024-01-26 21:35:39.000000000 +0000
@@ -31,7 +31,8 @@
return true;
}
static inline void utxent_cleanup(bool *initialized) {
- if (initialized)
+ assert(initialized);
+ if (*initialized)
endutxent();
}
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/shared/watchdog.c systemd-252.22/src/shared/watchdog.c
--- systemd-252.21/src/shared/watchdog.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/shared/watchdog.c 2024-01-26 21:35:39.000000000 +0000
@@ -261,12 +261,15 @@
static int update_timeout(void) {
int r;
+ usec_t previous_timeout;
assert(watchdog_timeout > 0);
if (watchdog_fd < 0)
return 0;
+ previous_timeout = watchdog_timeout;
+
if (watchdog_timeout != USEC_INFINITY) {
r = watchdog_set_timeout();
if (r < 0) {
@@ -281,8 +284,12 @@
if (watchdog_timeout == USEC_INFINITY) {
r = watchdog_read_timeout();
- if (r < 0)
- return log_error_errno(r, "Failed to query watchdog HW timeout: %m");
+ if (r < 0) {
+ if (!ERRNO_IS_NOT_SUPPORTED(r))
+ return log_error_errno(r, "Failed to query watchdog HW timeout: %m");
+ log_info("Reading watchdog timeout is not supported, reusing the configured timeout.");
+ watchdog_timeout = previous_timeout;
+ }
}
/* If the watchdog timeout was changed, the pretimeout could have been
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/systemctl/systemctl-is-system-running.c systemd-252.22/src/systemctl/systemctl-is-system-running.c
--- systemd-252.21/src/systemctl/systemctl-is-system-running.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/systemctl/systemctl-is-system-running.c 2024-01-26 21:35:39.000000000 +0000
@@ -29,7 +29,7 @@
sd_bus *bus;
int r;
- if (running_in_chroot() > 0 || (arg_transport == BUS_TRANSPORT_LOCAL && !sd_booted())) {
+ if (!isempty(arg_root) || running_in_chroot() > 0 || (arg_transport == BUS_TRANSPORT_LOCAL && !sd_booted())) {
if (!arg_quiet)
puts("offline");
return EXIT_FAILURE;
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/systemctl/systemctl-start-special.c systemd-252.22/src/systemctl/systemctl-start-special.c
--- systemd-252.21/src/systemctl/systemctl-start-special.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/systemctl/systemctl-start-special.c 2024-01-26 21:35:39.000000000 +0000
@@ -121,8 +121,7 @@
}
int verb_start_special(int argc, char *argv[], void *userdata) {
- bool termination_action; /* An action that terminates the manager, can be performed also by
- * signal. */
+ bool termination_action; /* An action that terminates the system, can be performed also by signal. */
enum action a;
int r;
@@ -140,17 +139,21 @@
return r;
}
- r = prepare_firmware_setup();
- if (r < 0)
- return r;
+ termination_action = IN_SET(a, ACTION_HALT, ACTION_POWEROFF, ACTION_REBOOT);
- r = prepare_boot_loader_menu();
- if (r < 0)
- return r;
+ if (termination_action) {
+ r = prepare_firmware_setup();
+ if (r < 0)
+ return r;
- r = prepare_boot_loader_entry();
- if (r < 0)
- return r;
+ r = prepare_boot_loader_menu();
+ if (r < 0)
+ return r;
+
+ r = prepare_boot_loader_entry();
+ if (r < 0)
+ return r;
+ }
if (a == ACTION_REBOOT) {
const char *arg = NULL;
@@ -192,10 +195,6 @@
return r;
}
- termination_action = IN_SET(a,
- ACTION_HALT,
- ACTION_POWEROFF,
- ACTION_REBOOT);
if (termination_action && arg_force >= 2)
return halt_now(a);
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/test/test-alloc-util.c systemd-252.22/src/test/test-alloc-util.c
--- systemd-252.21/src/test/test-alloc-util.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/test/test-alloc-util.c 2024-01-26 21:35:39.000000000 +0000
@@ -61,7 +61,7 @@
size_t i;
int *p;
- dup = memdup_suffix0_multiply(org, sizeof(int), 3);
+ dup = memdup_suffix0_multiply(org, 3, sizeof(int));
assert_se(dup);
assert_se(dup[0] == 1);
assert_se(dup[1] == 2);
@@ -69,7 +69,7 @@
assert_se(((uint8_t*) dup)[sizeof(int) * 3] == 0);
free(dup);
- dup = memdup_multiply(org, sizeof(int), 3);
+ dup = memdup_multiply(org, 3, sizeof(int));
assert_se(dup);
assert_se(dup[0] == 1);
assert_se(dup[1] == 2);
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/timesync/timesyncd-manager.c systemd-252.22/src/timesync/timesyncd-manager.c
--- systemd-252.21/src/timesync/timesyncd-manager.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/timesync/timesyncd-manager.c 2024-01-26 21:35:39.000000000 +0000
@@ -657,8 +657,7 @@
if (r < 0)
return r;
- if (addr.sa.sa_family == AF_INET)
- (void) setsockopt_int(m->server_socket, IPPROTO_IP, IP_TOS, IPTOS_LOWDELAY);
+ (void) socket_set_option(m->server_socket, addr.sa.sa_family, IP_TOS, IPV6_TCLASS, IPTOS_DSCP_EF);
return sd_event_add_io(m->event, &m->event_receive, m->server_socket, EPOLLIN, manager_receive_response, m);
}
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/udev/dmi_memory_id/dmi_memory_id.c systemd-252.22/src/udev/dmi_memory_id/dmi_memory_id.c
--- systemd-252.21/src/udev/dmi_memory_id/dmi_memory_id.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/udev/dmi_memory_id/dmi_memory_id.c 2024-01-26 21:35:39.000000000 +0000
@@ -7,7 +7,7 @@
* Copyright (C) 2020 Bastien Nocera <had...@hadess.net>
*
* Unless specified otherwise, all references are aimed at the "System
- * Management BIOS Reference Specification, Version 3.2.0" document,
+ * Management BIOS Reference Specification, Version 3.7.0" document,
* available from http://www.dmtf.org/standards/smbios.
*
* Note to contributors:
@@ -145,7 +145,7 @@
[0x01] = "PC-98/C24 Add-on Card", /* 0xA1 */
[0x02] = "PC-98/E Add-on Card", /* 0xA2 */
[0x03] = "PC-98/Local Bus Add-on Card", /* 0xA3 */
- [0x04] = "CXL Flexbus 1.0", /* 0xA4 */
+ [0x04] = "CXL Add-on Card", /* 0xA4 */
};
const char *str = OUT_OF_SPEC_STR;
@@ -301,6 +301,9 @@
[0x1F] = "Logical non-volatile device",
[0x20] = "HBM",
[0x21] = "HBM2",
+ [0x22] = "DDR5",
+ [0x23] = "LPDDR5",
+ [0x24] = "HBM3",
};
printf("MEMORY_DEVICE_%u_TYPE=%s\n", slot_num,
@@ -315,7 +318,7 @@
[3] = "Fast-paged",
[4] = "Static Column",
[5] = "Pseudo-static",
- [6] = "RAMBus",
+ [6] = "RAMBUS",
[7] = "Synchronous",
[8] = "CMOS",
[9] = "EDO",
@@ -358,7 +361,7 @@
[0x04] = "NVDIMM-N",
[0x05] = "NVDIMM-F",
[0x06] = "NVDIMM-P",
- [0x07] = "Intel Optane DC persistent memory",
+ [0x07] = "Intel Optane persistent memory",
};
printf("MEMORY_DEVICE_%u_MEMORY_TECHNOLOGY=%s\n", slot_num,
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/udev/udevadm-test-builtin.c systemd-252.22/src/udev/udevadm-test-builtin.c
--- systemd-252.21/src/udev/udevadm-test-builtin.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/udev/udevadm-test-builtin.c 2024-01-26 21:35:39.000000000 +0000
@@ -78,6 +78,7 @@
int r;
log_set_max_level(LOG_DEBUG);
+ log_parse_environment();
r = parse_argv(argc, argv);
if (r <= 0)
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/src/udev/udevadm-test.c systemd-252.22/src/udev/udevadm-test.c
--- systemd-252.21/src/udev/udevadm-test.c 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/src/udev/udevadm-test.c 2024-01-26 21:35:39.000000000 +0000
@@ -94,6 +94,7 @@
int r;
log_set_max_level(LOG_DEBUG);
+ log_parse_environment();
r = parse_argv(argc, argv);
if (r <= 0)
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/test/TEST-64-UDEV-STORAGE/test.sh systemd-252.22/test/TEST-64-UDEV-STORAGE/test.sh
--- systemd-252.21/test/TEST-64-UDEV-STORAGE/test.sh 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/test/TEST-64-UDEV-STORAGE/test.sh 2024-01-26 21:35:39.000000000 +0000
@@ -24,7 +24,7 @@
case "${1:?}" in
btrfs)
- modprobe -nv btrfs && command -v mkfs.btrfs && command -v btrfs || return $?
+ host_has_btrfs
;;
iscsi)
# Client/initiator (Open-iSCSI)
@@ -36,7 +36,7 @@
command -v lvm || return $?
;;
mdadm)
- command -v mdadm || return $?
+ host_has_mdadm
;;
multipath)
command -v multipath && command -v multipathd || return $?
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/test/TEST-74-AUX-UTILS/test.sh systemd-252.22/test/TEST-74-AUX-UTILS/test.sh
--- systemd-252.21/test/TEST-74-AUX-UTILS/test.sh 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/test/TEST-74-AUX-UTILS/test.sh 2024-01-26 21:35:39.000000000 +0000
@@ -7,4 +7,7 @@
# shellcheck source=test/test-functions
. "${TEST_BASE_DIR:?}/test-functions"
+# (Hopefully) a temporary workaround for https://github.com/systemd/systemd/issues/30573
+KERNEL_APPEND="${KERNEL_APPEND:-} SYSTEMD_DEFAULT_MOUNT_RATE_LIMIT_BURST=100"
+
do_test "$@"
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/test/test-functions systemd-252.22/test/test-functions
--- systemd-252.21/test/test-functions 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/test/test-functions 2024-01-26 21:35:39.000000000 +0000
@@ -1061,7 +1061,9 @@
image_install kpartx /lib/udev/kpartx_id lsmod mpathpersist multipath multipathd partx
image_install "${ROOTLIBDIR:?}"/system/multipathd.{service,socket}
if get_bool "$LOOKS_LIKE_DEBIAN"; then
- inst_rules 56-dm-parts.rules 56-dm-mpath.rules 60-multipath.rules 68-del-part-nodes.rules 95-kpartx.rules
+ # Note: try both 60-kpartx.rules (as seen on Debian Sid with 0.9.4-7) and 90-kpartx.rules (as seen on
+ # Ubuntu Jammy with 0.8.8-1ubuntu1.22.04.4)
+ inst_rules 56-dm-parts.rules 56-dm-mpath.rules 60-kpartx.rules 60-multipath.rules 68-del-part-nodes.rules 90-kpartx.rules
else
inst_rules 11-dm-mpath.rules 11-dm-parts.rules 62-multipath.rules 66-kpartx.rules 68-del-part-nodes.rules
fi
@@ -1108,6 +1110,11 @@
mkdir -p "${initdir:?}/etc/lvm"
}
+host_has_btrfs() (
+ set -e
+ modprobe -nv btrfs && command -v mkfs.btrfs && command -v btrfs || return $?
+)
+
install_btrfs() {
instmods btrfs
# Not all utilities provided by btrfs-progs are listed here; extend the list
@@ -1175,6 +1182,11 @@
fi
}
+host_has_mdadm() (
+ set -e
+ command -v mdadm || return $?
+)
+
install_mdadm() {
local unit
local mdadm_units=(
@@ -1188,6 +1200,7 @@
system-shutdown/mdadm.shutdown
)
+ instmods "=md"
image_install mdadm mdmon
inst_rules 01-md-raid-creating.rules 63-md-raid-arrays.rules 64-md-raid-assembly.rules 69-md-clustered-confirm-device.rules
# Fedora/CentOS/RHEL ships this rule file
@@ -1196,6 +1209,10 @@
for unit in "${mdadm_units[@]}"; do
image_install "${ROOTLIBDIR:?}/$unit"
done
+
+ # Disable the mdmonitor service, since it fails if there's no valid email address
+ # configured in /etc/mdadm.conf, which just unnecessarily pollutes the logs
+ "${SYSTEMCTL:?}" mask --root "${initdir:?}" mdmonitor.service || :
}
install_compiled_systemd() {
@@ -1976,14 +1993,14 @@
# Newer Fedora versions use dbus-broker by default. Let's install it if it's available.
if [ -f "$ROOTLIBDIR/system/dbus-broker.service" ]; then
inst "$ROOTLIBDIR/system/dbus-broker.service"
- inst_symlink /etc/systemd/system/dbus.service
inst /usr/bin/dbus-broker
inst /usr/bin/dbus-broker-launch
+ image_install -o {/etc,/usr/lib}/systemd/system/dbus.service
elif [ -f "$ROOTLIBDIR/system/dbus-daemon.service" ]; then
# Fedora rawhide replaced dbus.service with dbus-daemon.service
inst "$ROOTLIBDIR/system/dbus-daemon.service"
# Alias symlink
- inst_symlink /etc/systemd/system/dbus.service
+ image_install -o {/etc,/usr/lib}/systemd/system/dbus.service
else
inst "$ROOTLIBDIR/system/dbus.service"
fi
@@ -2042,12 +2059,12 @@
# Newer Fedora versions use dbus-broker by default. Let's install it if it's available.
if [ -f "$userunitdir/dbus-broker.service" ]; then
inst "$userunitdir/dbus-broker.service"
- inst_symlink /etc/systemd/user/dbus.service
+ image_install -o {/etc,/usr/lib}/systemd/user/dbus.service
elif [ -f "${ROOTLIBDIR:?}/system/dbus-daemon.service" ]; then
# Fedora rawhide replaced dbus.service with dbus-daemon.service
inst "$userunitdir/dbus-daemon.service"
# Alias symlink
- inst_symlink /etc/systemd/user/dbus.service
+ image_install -o {/etc,/usr/lib}/systemd/user/dbus.service
else
inst "$userunitdir/dbus.service"
fi
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/test/units/testsuite-17.03.sh systemd-252.22/test/units/testsuite-17.03.sh
--- systemd-252.21/test/units/testsuite-17.03.sh 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/test/units/testsuite-17.03.sh 2024-01-26 21:35:39.000000000 +0000
@@ -8,6 +8,9 @@
setup() {
mkdir -p "${TEST_RULE%/*}"
[[ -e /etc/udev/udev.conf ]] && cp -f /etc/udev/udev.conf /etc/udev/udev.conf.bak
+ # Don't bother storing the coredumps in journal for this particular test
+ mkdir -p /run/systemd/coredump.conf.d/
+ echo -ne "[Coredump]\nStorage=external\n" >/run/systemd/coredump.conf.d/99-storage-journal.conf
cat >"${TEST_RULE}" <<EOF
ACTION=="add", SUBSYSTEM=="mem", KERNEL=="null", OPTIONS="log_level=debug"
@@ -31,6 +34,7 @@
rm -rf "$TMPDIR"
rm -f "$TEST_RULE"
[[ -e /etc/udev/udev.conf.bak ]] && mv -f /etc/udev/udev.conf.bak /etc/udev/udev.conf
+ rm /run/systemd/coredump.conf.d/99-storage-journal.conf
systemctl restart systemd-udevd.service
}
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/test/units/testsuite-64.sh systemd-252.22/test/units/testsuite-64.sh
--- systemd-252.21/test/units/testsuite-64.sh 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/test/units/testsuite-64.sh 2024-01-26 21:35:39.000000000 +0000
@@ -988,10 +988,6 @@
: >/failed
-# Disable the mdmonitor service, since it fails if there's no valid email address
-# configured in /etc/mdadm.conf, which just unnecessarily pollutes the logs
-systemctl list-unit-files mdmonitor.service >/dev/null && systemctl mask --runtime mdmonitor.service
-
udevadm settle
udevadm control --log-level debug
lsblk -a
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/units/systemd-hibernate.service.in systemd-252.22/units/systemd-hibernate.service.in
--- systemd-252.21/units/systemd-hibernate.service.in 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/units/systemd-hibernate.service.in 2024-01-26 21:35:39.000000000 +0000
@@ -8,7 +8,7 @@
# (at your option) any later version.
[Unit]
-Description=Hibernate
+Description=System Hibernate
Documentation=man:systemd-hibernate.service(8)
DefaultDependencies=no
Requires=sleep.target
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/units/systemd-hybrid-sleep.service.in systemd-252.22/units/systemd-hybrid-sleep.service.in
--- systemd-252.21/units/systemd-hybrid-sleep.service.in 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/units/systemd-hybrid-sleep.service.in 2024-01-26 21:35:39.000000000 +0000
@@ -8,7 +8,7 @@
# (at your option) any later version.
[Unit]
-Description=Hybrid Suspend+Hibernate
+Description=System Hybrid Suspend+Hibernate
Documentation=man:systemd-hybrid-sleep.service(8)
DefaultDependencies=no
Requires=sleep.target
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/units/systemd-resolved.service.in systemd-252.22/units/systemd-resolved.service.in
--- systemd-252.21/units/systemd-resolved.service.in 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/units/systemd-resolved.service.in 2024-01-26 21:35:39.000000000 +0000
@@ -15,7 +15,7 @@
Documentation=https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients
DefaultDependencies=no
-After=systemd-sysusers.service
+After=systemd-sysctl.service systemd-sysusers.service
Before=sysinit.target network.target nss-lookup.target shutdown.target initrd-switch-root.target
Conflicts=shutdown.target initrd-switch-root.target
Wants=nss-lookup.target
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.21/units/systemd-suspend-then-hibernate.service.in systemd-252.22/units/systemd-suspend-then-hibernate.service.in
--- systemd-252.21/units/systemd-suspend-then-hibernate.service.in 2023-12-24 09:01:00.000000000 +0000
+++ systemd-252.22/units/systemd-suspend-then-hibernate.service.in 2024-01-26 21:35:39.000000000 +0000
@@ -8,7 +8,7 @@
# (at your option) any later version.
[Unit]
-Description=Suspend; Hibernate if not used for a period of time
+Description=System Suspend then Hibernate
Documentation=man:systemd-suspend-then-hibernate.service(8)
DefaultDependencies=no
Requires=sleep.target
signature.asc
Description: This is a digitally signed message part
--- End Message ---